The WiPy BLE Terminal is a Progressive Web App (PWA) that shows how it is possible to communicate with a microcontroller from a mobile phone without native app development.
The Web Bluetooth API is not supported yet in iOS, however limited success was found using Bluefy which implements a custom made browser with Bluetooth support on the iPhone.
For the demo to work best you will need an Android phone and a Pycom WiPy module with expansion board running this Python code hosted on GitHub.
This project demonstrated that limited Bluetooth connectivity could be achieved between a mobile device and microcontroller using basic Arduino code and Javascript.
We have used the WiPy BLE Terminal proof of concept to modernise an existing product to allow LCD and keypad control using a mobile device.
The controller uses a UART connection to an ESP32 running C code to establish a BLE link over the SPP protocol to a mobile device running Android. With our PWA (a Progressive Web App which is essentially a smart web page) installed on the Android device, we can mirror the operation of the LCD and keypad interface.
Our approach integrating Bluetooth rather than Wifi into the system gives the following advantages:
We are quite pleased about the flexibility of the ESP32 and the power of PWAs to enable user interface through a mobile device. This opens up exciting opportunities for Cedric Engineering to offer AI assisted control, remote messaging, and data management features to existing and future products.