We have a project that I'm considering having migrated over to the B4X platform. I have just discovered this platform and it looks pretty cool. The project is fairly straightforward - it's a garage door opener module that will allow a user to open / close their garage door with their phone, and also send notifications when the door is opened / closed. When the user is local (in the same LAN as the module) it doesn't require the internet connection to control the door (internet still required for notifications as those come through Firebase). When the user is not at home, all controls and notifications flow through Firebase.
What we have so far:
Hardware design is finished.
ESP8266 native source code that has all functions already implemented except for the Firebase integration. It currently uses the Espressif IoT server.
The example mobile apps from Espressif already contain much of the functionality we need, but I'm not sure how easily any of the code could be ported over to the B4X platform. We might need to start from scratch.
So to start with, the minimum we need is:
ESP8266 code that:
Will toggle digital outputs upon receipt of a command
Send a status update to Firebase whenever a door switch status changes
Illuminate a status LED (solid when wifi connected, flashes when not connected)
Audio PWM signal on an output pin to drive a piezo buzzer
Reset button function
Secure communication both locally with the router and remotely with Firebase
iOS and Android apps that:
Allows users to input their PWD, and pass the SSID and PWD for the router to the ESP8266 so it can join the network (see the "autoconfig" function from Espressif for an idea of this)
Have an "Add Devices" screen that allows a user to easily scan for a new device and add it to their account
Receive push notifications through Firebase when the ESP8266 detects a door switch status change
Can send commands to the ESP8266 to toggle digital outputs when the user taps on an icon
Additional features to follow under NDA.
What we have so far:
Hardware design is finished.
ESP8266 native source code that has all functions already implemented except for the Firebase integration. It currently uses the Espressif IoT server.
The example mobile apps from Espressif already contain much of the functionality we need, but I'm not sure how easily any of the code could be ported over to the B4X platform. We might need to start from scratch.
So to start with, the minimum we need is:
ESP8266 code that:
Will toggle digital outputs upon receipt of a command
Send a status update to Firebase whenever a door switch status changes
Illuminate a status LED (solid when wifi connected, flashes when not connected)
Audio PWM signal on an output pin to drive a piezo buzzer
Reset button function
Secure communication both locally with the router and remotely with Firebase
iOS and Android apps that:
Allows users to input their PWD, and pass the SSID and PWD for the router to the ESP8266 so it can join the network (see the "autoconfig" function from Espressif for an idea of this)
Have an "Add Devices" screen that allows a user to easily scan for a new device and add it to their account
Receive push notifications through Firebase when the ESP8266 detects a door switch status change
Can send commands to the ESP8266 to toggle digital outputs when the user taps on an icon
Additional features to follow under NDA.