The garage project is a control and monitoring service for garages. This module is the garage controller itself and performs the open/close function.
Server Backend https://github.com/jpatillo/garage-api
Android Project https://github.com/jpatillo/garage-android
This project has been migrated from C++ to C.
Current capabilities include:
- receive requests to open/close door (single door)
- post temperature and humidity on an interval
- receive requests to post temperature and humidity
-
tls
-
change hard-coded device id
- DS18B20 - connect to the board to provide a unique id
-
ability for user to change telemetry reporting interval
-
Once the hardware is somewhere near being finalized, a qr-code with the device id can be put on the housing. This will allow the app to scan it and add it.
-
Set the device hosts/hostname to the device id for easy network identification
-
Need a way to do user setup on the device to connect it to wifi.
- Start the device as an AP with a webpage that the user can log into and change settings via wifi?
- Pi Zero-W (Raspbian Stretch)
- DHT11 Temperature and Humidity sensor
- 2-Channel relay
- Build and install with
$ ./build.sh
- Test with
$ ./testrun.sh
- /install - Files used to install and run the application.
- /build - Files created during the build process
- /headers - Header files (.h)
- /source - Source files (.c)
Config file code from https://github.com/benhoyt/inih. Consists of ini.h and ini.c
The mosquitto broker and client libraries are being used in the project. Clients spawn a new thread (handled by the library) to handle requests.
Subscribes to:
- garage/clientId/command/temperature
- garage/clientId/command/humidity
- garage/clientId/command/door
Publishes to:
- garage/clientId/status
- garage/clientId/telemetry