From c546634a5294d50899540abbf5a18937aae001bc Mon Sep 17 00:00:00 2001 From: Alexandre Lamberty Date: Mon, 24 Jul 2023 19:23:12 +0200 Subject: [PATCH] refactoring --- README.md | 74 +++++++++++-------------------------------------------- 1 file changed, 14 insertions(+), 60 deletions(-) diff --git a/README.md b/README.md index 2d9bf1a..e3124ce 100644 --- a/README.md +++ b/README.md @@ -19,75 +19,24 @@ Nidus is a small experimental home monitoring system. - [ ] Relay - [ ] Alerts & Notifications -## Architecture / Infrastructure - -The system follow a client/server architecture with multiple autonomous [ESP82666](https://components101.com/development-boards/nodemcu-esp8266-pinout-features-and-datasheet) -wireless micro-controllers. It run as a [Docker](https://www.docker.com/) stack with -[Portainer](https://www.portainer.io/) on a -[Raspberry Pi4](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/). - -![Nidus architecture](nidus-architecture.png) - -## API Specifications - -- Nidus API Specification - - Web API specification following the [OpenAPI](https://www.openapis.org/) standard. - - - -- Sentinel API Specification - - Micro-controller API specification with `OpenAP` - - - -## Components - -### Application - -- Nidus API - - API implementation in [Go](https://go.dev/) with [Fiber](https://gofiber.io/) - - - -- Nidus Web App - - Web application in [Typescript](https://www.typescriptlang.org/) with [React](https://reactjs.org/) - - - -### Micro-controller - - NodeMCU Lua Amica Module V2 ESP8266 ESP-12FCP2102, BMP180 and DS18B20. +## How to project is structured - ![Nidus architecture](micro-controller-sensor.jpg) +- [Nidus](https://github.com/open-nidus/nidus) is the main project that contains all the others one as submodules. This project use Docker to create a stack with all the services needed. The fact that I have all the others project as submodules is remainder of when I had this project on my personal repositories. Now the submodules have no interest. -- Sentinel ESP8266 +- [Nidus API Spec](https://github.com/open-nidus/nidus-api-spec) is the API specification used in the project. It is based on the OpenAPI specification and written in yaml. - Micro-controller software in `C` with `Arduino` - - +- [Nidus API](https://github.com/open-nidus/nidus-api) sever application using Fiber and exposing an API through HTTP. -### Server +- [Nidus Web App](https://github.com/open-nidus/nidus-web-app) client application using React and consuming the API. -Raspberry Pi 4 Modèle B 4 Go ARM-Cortex-A72 +- [Sentinel OS](https://github.com/open-nidus/sentinel-os) system running on the micro-controllers, NodeMCU ESP8266 ESP-12F. -![Raspberry Pi 4 Modèle B 4 Go ARM-Cortex-A72](raspberry-pi-4.jpg) +## Architecture / Infrastructure -- Xraspios +The system follow a client/server architecture with multiple autonomous [ESP82666](https://components101.com/development-boards/nodemcu-esp8266-pinout-features-and-datasheet) wireless micro-controllers. It run as a [Docker](https://www.docker.com/) stack with [Portainer](https://www.portainer.io/) on a [Raspberry Pi4](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/). - `Raspios Lite Armh` custom image made with `Packer` +![Nidus architecture](nidus-architecture.png) - - -- Xraspios IaC - - Server management with `Ansible` - - - ## Requirements - [Docker](https://www.docker.com/) @@ -117,6 +66,11 @@ WEB_IMAGE_VERSION=dev WEB_ENV=dev WEB_APP_KEY=aaddddawrfffvvvvssaa WEB_APP_API_URL=http://api.nidus.lan +# MQTT +MQTT_SERVER=localhost +MQTT_CLIENT_ID=nidus-messaging +MQTT_USERNAME=none +MQTT_PASSWORD=none ``` ### Run with Docker