Inspired by Martin’s conversion, I’m starting one as well.
A lot of details are already covered in Martin’s post, don’t want to contaminate the original post, therefore starts a new topic here.
For easier access to Ego’s messages, the first step I did was to create a gateway that broadcasts ego messages via ESP now.
It is connected to one spare usb-c port in the 485 bus hub.
On top of the ESP_NOW master and slave example code, I’m able to print the message on the receiving ESP32 with
#define EGO_MSG_LEN 14
char egoMsgPrintBuffer[EGO_MSG_LEN * 2 + 1];
void sprintEgoMessage(const uint8_t* data) {
char *ptr = &egoMsgPrintBuffer[0];
for (int i = 0; i < EGO_MSG_LEN; i++) {
ptr += sprintf(ptr, "%02X", data[i]);
}
}
in the serial monitor
19:30:32.720 -> Message: 55AA110E08FFFCFFF700254AE85E
19:30:32.753 -> Message: 55AA040E0000000000060000A9BE
19:30:32.753 -> Message: 55AA090E051E001C50050000CFD2
19:30:32.753 -> Message: 55AA120E080004FFFB0019282330
19:30:32.753 -> Message: 55AA110E08FFFBFFF900264AD716
19:30:32.753 -> Message: 55AA110E08FFFBFFF900264AD716
19:30:32.753 -> Message: 55AACC0E03000100002A02006DCB
Next step is to create a client that filters known/decoded messages and show the new ones.
Please feel free to leave suggestions.