Project Demo
Story
Ever had this brilliant idea to sprinkle a dash of IoT on a system only to be stopped in your tracks because the system is from ages bygone? Well, you are not alone in this quagmire, a number of brownfield projects have an all too common constraint. The systems are either from times before the age of the internet or the OEM does not appreciate unsanctioned tinkering in their ‘business’. Throughout the year, I have been pondering ways to track my power consumption without taking a stroll out of my apartment, drag myself down a flight of stairs and peep, in shock, at the nearly zero credit points left on my pre-paid electric meter. I really wanted a way to get that data, with less stress and at my beck and call.

Screen Scraping: Analog vs Digital
Hardware Requirements
- OpenMV H7+ Board w/ Camera
- 18650 Li-ion Cells for Power
- WiFi Shield for OpenMV H7+ Board
- LCD Shield for OpenMV H7+ Board [Optional]
- WiFi Booster [Optional]
- Balance Charger [Optional]
Software Requirements
- Edge Impulse Studio
- Adafruit IO [Free Tier]
- Power and setup an edge device of choice and a suitable camera
- Use OpenMV IDE and Micropython to calibrate the camera, set the ROI and capture training data
- Label training data and scenarios to consider based on data captured
- Use Edge Impulse Studio to build an image classification model that detects all 10-digit types
- Setup a device for live capture and image recognition

Project Workflow

Top 3 devices for the project

Screen Segmentation for Digit Cropping

Unlabelled Data in File Explorer

Distribution of Classes of Training Data

Initial Attempt with MobileNet

Subsequent Attempt with 3 Dense Layers
tflite
file format and it was transferred to the OpenMV board on the initial setup rig. Since the metering device was placed at a detached location from the apartment, a WiFi range extender was set up to enable communication between the OpenMV’s WiFi Shield and the platform of choice. Essentially, the OpenMV device which houses the model does the computing and sends the live data via MQTT to a dashboard (in this case Adafruit IO) allowing for real-time updates of the credit point pending on the meter. Mission accomplished!

Screen Scraping in Action
Future Work
The idea of this project was to build a working prototype meaning some features were intentionally left out of scope. For a robust build of this project, two features to consider would be:- Night Time Data Capture and Recognition, and
- A model-based approach to ROI determination and digit segmentation