OS Linux based software package, which allows turn your laptop or mini computer (BeagleBoard) into a centralized data acquisition system from I/O modules by ModBus RTU protocol, and transfer data to the user via friendly MQTT protocol.
-
Build - a set of scripts for project build under Linux Host and Linux Target.
**Linux Host build** is usefull for debugging the project and further transition to the target. As result you will have set of binaries, which can be started on Linux Ubuntu and similar. **Linux Target build** based on BuildRoot package, result is an image of the file system in ext2/ext4 format, which are ready for extracting on SD card to use in miniPC (BeagleBone)
-
HomeBrain - the main process, which communicate with I/O modules via ModBus RTU protocol. Reads ModBus registers and saves data in the internal table of points (discrete, analog)
-
mqttgtw - the process that converts data from the HomeBrain point table to MQTT topic values.
-
pointmonitor - This tools allows you to view the current state of the HomeBrain points (discrete, analog). It is not necessary for the system operation, and needed only on debugging stage.
-
csvparser - parser for *.csv documents, which describes the configuration for mqttgtw.
homebarin - it's git global repository, which do not contain source code, and used only to organize submodules.
Build / HomeBrain / mqttgtw / pointmonitor / csvparser - it's git submodules.
- Host: Ubuntu Linux 18.04
- Target: BeagleBone Black
---picture---
cd /home
git clone https://github.com/azhigaylo/homebrain.git
cd homebrain
git submodule init
git submodule update
git pull --recurse-submodules
git submodule update --recursive --remote
next time:
git pull --recurse-submodules
git submodule update --recursive --remote
2. First step it's HOST preparetion. Needed to setup some development and thirdparty. There two variant of preparation:
- prepare HOST for host build (CMake/DLT/Mosquitto/BuildRoot will be uploaded and built.)
./prepare_all.sh -i
- prepare HOST for target build (DLT/Mosquitto will be built for ARM)
./prepare_all.sh -it
- help :
./prepare_all.sh --help
- build for HOST, result will be available in folder <homebrain_products>
./build_all.sh
- build for TARGET, result will be available in folder </homebrain_third_party/host/buildroot/output/images/>
./build_all.sh -t
- help :
./build_all.sh --help
Pull requests are welcome. If you would like to make changes/fix, please follow these rules:
- The pull requests accepted only in "development" barnch
- All changes/fixes should be tested before commit