This project is not very simple, just to demonstrate the use of
ISR-based Timers of
ESP8266TimerInterrupt library v1.0.2 (Hardware Timer Interrupt)
The design principles are as follows:
- Fire or Smoke measurement and alarm activation are considered mission-critical, and must not be interfered or blocked by any other bad tasks, intentionally or unintentionally. This principle can be applied to any of your project. Please check the way ISR-based are designed (
very lean and mean), no delay() and no unnecessary baggage.
- The sound alarm is also considered critical. Alarm without sound has no meaning in real-life dangerous situation.
- Blynk is considered just a Graphical-User-Interface (GUI). Being connected or not must not interfere with the alarm detection / warning.
Certainly, with Blynk GUI, we can achieve many more great features, such as
remote check and control, configurable test case and value, etc. when possible.
This can be applied in many projects requiring reliable system control, where
good, bad, or no connection has no effect on the operation of the system.
Please go to GitHub for ESP8266 code. Will port it to other platform such as ESP32 and Arduino.
PS: The QR code and Blynk APP currently has no
Notification Widget as I haven’t got time to make and send QR to the posting machine. And I believe you can do much better job in designing the GUI. I’m the worst GUI designer