I need some programming to be done an ESP32 (fiPY version from Pycom) and Android Application to run it.
The ESP32 device must be able to do the following tasks.
Obtain time for internal clock from Network clock at Boot
Connect to previous Bluetooth, if not found:
Expose name of device for pairing for Bluetooth Classic - default device name is “smrtGRiPS_ECU”
Connect or create WiFi AP network according to config file on internal flash memory
Store BT connection for future use
Launch Web Server on device:
Launch MQTT Client on device
Initiate devices with configuration parameter from config file in internal flash
Access device configuration parameters through esp32 Web Server (edit, modify, save)
Publish sensor data via client MQTT from GPS, MPU9250 and Actuators
Subscribe to MQTT Broker for Actuator topics published from the MQTT broker on the Cloud and on the the phone
Data log MQTT to file (SPIFFS)
Initiate data logging through ESP32 Web Interface
Access file via WIFI (ESP32 Web Server)
Parse data from MQTT Actuator topics to actuate PWM pins
Parse serialized data from Bluetooth Serial to actuate PWM pins
Process [login to view URL] to execute actuations from Actuator Topoics
Higher priority messages interrupt lesser priority messages - this is processed on the ESP32
Lower priority are queued and executed one second after the ongoing warning
Function generates a [login to view URL] that is sent via Bluetooth Serial.
Actuator control panel over HTTP and websocket (served from ESP32 Web Server)
The development for Android would need the following
Create a Class - smartgrips - that can be part of a library for use within other Android Applications
A Companion App that uses the class for a Control Panel that controls actuators on ESP32 using serialized JSON via Bluetooth Classic Serial
Dashboard showing the values of various devices using the class
This is a new iteration of a project that was done before.
Past work is included here for reference. Requirements documents includes libraries to be used.