Edge AI apps
Edge AI apps · Course page
Build an app focused on a single model, wire a verdict to an action through a pipeline that guards against false positives, fuse it with a raw sensor, and publish events over MQTT.
Module goal
Section titled “Module goal”Turn a model’s answer into a trustworthy action, and send it off the board with discipline.
Lessons
Section titled “Lessons”| Lesson | Topic | Time (min) | Slides |
|---|---|---|---|
| 6.1 | Six models and the edge_ai API: an app focused on one model | 70 | slides.md |
| 6.2 | Hands-on: our own focused app | 75 | slides.md |
| 6.3 | An action pipeline: CONF_FLOOR, debounce, cooldown and on_result | 70 | slides.md |
| 6.4 | Hands-on: an action pipeline that guards against false positives | 75 | slides.md |
| 6.5 | Sensor fusion: a model’s verdict with a raw sensor | 70 | slides.md |
| 6.6 | Hands-on: publishing a fused event to MQTT | 75 | slides.md |
Lessons come in pairs: a concept lesson followed by a hands-on lesson with a practice file, a solution, and a lab.
Module checkpoint
Section titled “Module checkpoint”You pass this module once you can do all of the following (details are in the Lab section of each hands-on lesson):
- A single-model focused app with a clean UI, targeting a model with
find_model(), showing the verdict, every class’s bar, and latency, with a counter that genuinely fires when the target class crossesCONF_FLOOR, retargetable to at least two models (lesson 6.2). - A debounced action pipeline where the target class continuing triggers a real action, while a brief flicker of the signal is guarded against (lesson 6.4).
- A fused decision (verdict AND a raw gate) genuinely publishes to MQTT, once per event, while gentle motion is never sent (lesson 6.6).
TESA Open Knowledge · © 2026 สมาคมสมองกลฝังตัวไทย (TESA) · CC BY-NC 4.0
Content is licensed CC BY-NC 4.0. Reuse it non-commercially and credit the Thai Embedded Systems Association (TESA) every time. · How to cite TESA