The problem was not with the content (that will be tackled next) but with the advertisement. Unbeknownst to me there is a 37 byte length limit to the advertisement (in the BT standard). Shortening the name from ‘hiveeyes’ to ‘h’ solved the problem.
I think I’ve been through every (free) BLE app in the Appstore by now.
Apart from “nRF Connect” “BLE Hero”, “BLE”, “LightBlue” & “BLE Scanner” are suitable for our cause.
Short update: I have successfully advertised the existence of an ESP32 node to a GPy central, connected them and sent weight and battery level from the ESP32 to the GPy.
TODO:
add temperature and humidity
add non-standard services for more sensors
add a means to give an unique name to a node through a service
handle several nodes on the central
synchronise time between central and node
synchronize sleep between devices
The code is behind the link below. Its a standalone test and not integrated into the firmware, yet. That speeds up debugging.
Just found this gem on the Pycom user forum. Might be interesting for some. While this might be specific to Pycom devices, the general idea might also work on Genuine MicroPython.
It looks like Genuine MicroPython 1.12 already offers builds based on ESP-IDF v4.x (which probably includes the NimBLE stack) and Mauro Riva is already building upon that. Enjoy!