The purpose of this project is to develop an environmental monitoring with sensor network.
This is a monorepo divided into independent but interrelated components:
- env-node is the physcal node the perform the measurements (written in Micropython)
- env-server is the server that collect and save all the data (written in Go)
- env-broker the MQTT broker that dispatch the messagges to the network (using mosquitto)
Once you clone the repo, you shall update the submodules:
gt clone https://github.com/setteZ/envoops.git
cd envoops
git submodule update --init --recursiveEach component has its own release cycle and versioning, and we use Git tags in the format:
<component-name>/v<semver>
Example tags:
env-node/v1.3.0env-server/v2.0.1
See each component's README for specific setup and dependencies.
With the Makefile there is the possibility to call some scripts to make the life easier:
make put-nodeupdate the board connected to the USBmake replopen the serial repl connection (usingpicocom)make run-brokerrun locally a MQTT broker for manual testmake release-nodeprepare a folder with all the files necessary for a env-node releasemake deploy-otadeploy on a server the env-node release
A .env file (you can find a template here as reference) is usefull for the configuration of the server references.