Bi-directional communication

Hello everyone!
I wanted to know if there’s a possibility to establish bidirectional communication in order to read the status of a specific sensor (for example, an IR sensor) mounted on the model, and to receive any type of feedback on the transmitter or on a web restful api.
It could be fun, for example, to recognize a track’s finish line to calculate car model lap times.

As I understand it this link is based on the ESP-Now protocol, which is unidirectional at the application layer. However, there is some interchange during binding so conceivably… maybe… someday…

ADDITION: ESP-Now is unidirectional at the Link layer, however, with an open platform you ‘could’ establish two links, one for each direction. The Cyberbrick core, however, is not an open system (yet) and the communication code is frozen inside a compiled module.

2 Likes

Aren’t the toys controllable with the phone client also? This would seem to preclude esp-now and require bluetooth.

Have you tried that??? They are configurable with the phone app. Controllable? I don’t think so.

Although the std. CyberBrick RF communication seems to be inside (hidden) frozen Python module rc_module CyberBrick_Controller_Core/src/app_rc/app/rc_main.py at b5fc07d44d65143cfef1164ae6234099fcb11d62 · CyberBrick-Official/CyberBrick_Controller_Core · GitHub, the Quick reference lists WLAN/WiFi as an option: Quick reference for the CyberBrick Multi-Function Core Board (ESP32-C3) — MicroPython for CyberBrick V01.00.00.02 documentation
I have not yet tested the theory, but I would guess that by not loading (importing) the rc_module and instead making own RF comms, e.g. via WLAN/WiFi one could achieve control via some custom app/software from a mobile device or computer. Alternatively custom ESPnow communication between two ESP32 modules might also be possible, as help(“modules”) in REPL lists espnow being flashed onto the CyberBrick core espnow — support for the ESP-NOW wireless protocol — MicroPython for CyberBrick V01.00.00.02 documentation