A tool intended to run on embedded systems to:
- Read temperature values from four DS18B20 temperature sensors;
- Control two Sunon cooling fans based on ambient and cabinet temperature readings with a IRF520 MOS Driver Module;
- Detect cabinet door opening with a reed switch (a.k.a. door sensor);
- Read from an USB IPCam and show real-time image (depends on camera-server);
- A front-end single-page application to demonstrate all these.
libsqlite3
for SQLite support:apt install libsqlite3-dev
cJSON
for JSON support:apt install libcjson-dev
libmicrohttpd
for HTTP support:apt install libmicrohttpd-dev
Pigpio
: used to manipulate GPIO pins.
git clone https://github.com/joan2937/pigpio
cd ./pigpio
mkdir ./build
cd ./build
cmake ../
make
make install
- Instead of
cmake ../
, runcmake .. -DBUILD_ASAN=ON
/cmake .. -DBUILD_UBSAN=ON
to test memory/undefiend behavior error with AddressSanitizer / UndefinedBehaviorSanitizer. - The repo is also tested with
Valgrind
from time to time:valgrind --leak-check=yes --log-file=valgrind.rpt ./build/rd
.
npm install
node babelify.js --prod
Undocumented