DEVLOG #6 - SCANNER HEALTH CHECKS IMPLEMENTED, IDENTIFY SCANNERS VIA MAC, BADGE MANAGEMENT & OTA GROUNDWORK SET
Website: https://spottr.brunogg.in
Work Done:
- Built an active scanner health-check system -
pi-bridgepings each scanner every 15s over MQTT, scanner replies with a pong, and a missed pong marks it offline within a few seconds.
This replaced the old passive system where the scanner sent a heartbeat every 30 seconds to update its status - Switched scanner identity to its
MAC Address. with thepi-bridgeverifying each scanner’s MAC and registering unknown scanners into Firebase asunassigned - Refactored
pi-bridgefrom one single large file into multiple sub-files (config.py,handlers.py,health.py,presence.py,registry.py,state.pyandmain.py) - Started work on the Badges Management Page where the admin can add, edit, delete or enable/disable badges, where each row shows the live status of each badge as
online/offlineand current room, along with confirmation dialog boxes for destructive actions like deletion or disabling badges - Laid the groundwork for OTA firmware updates for the scanner nodes, where I switched the scanner partition table to support two app slots, added semantic version tracking and comparison, and wrote the OTA update function (yet to be implemented properly)
Future Work
- Fully implement the OTA function where the
pi-bridgetriggers the update by publishing the new firmware version over MQTT and automatically flash it to the scanners - Add a captive portal where the scanners can be configured (Adding WiFi and Scanner IDs) without editing the code
- Build the Scanners Management page to assign rooms to auto-registered scanners and Logs Page to view history of every action performed
Comments 0
No comments yet. Be the first!
Sign in to join the conversation.