Dragon is a library that contains helper functions to create device firmware and monitor it with an Android App.
- Dragon binary:
Output configuration file with an MQTT connection and a standard topic.
- MQTT helper function: (Paho MQTT Embedded C fork)
Parse the config file to generate Pub-Sub model
- Serial protocols wrappers: (I²C/ GPIO...)
Safely use write/read functions for serial communication, using the configuration file
- Android app:
Simple app that displays the configuration files (bonus : saves them into a database)
Running make will compile the device firmware (with the right aarch64 target) and:
- create a config file.
- create apk with new config file appended. (with a push to gitlab ci + App store private).
- create the main binary that exposes all the topics.
Features:
- Read configuration file from res/ folder
- connect to mqtt broker
- Pub-Sub to topics from the config file
- Handle multiple devices
File that contains a description of the device. It should be generated by the created program using the dragon library.
Use Dragon to write a firmware instance and monitor it with Android.
- PCB Assembly and circuit test.
- Setup the board with device tree overlays.
- Create the firmware using helper libraries and the configuration using the Dragon library.
(+). Add the Dragon library, and tools to an AOSP image. (Buildroot)