hoberman / Victron_BLE_Advertising_example

12 stars 2 forks source link

Victron_BLE_Advertising_example

This is a minimal example on how to receive, decrypt, and decode Victron SmartSolar BLE advertising beacons.

I'm releasing this on Github to help others overcome the initial hurdles of getting data from advertising beacons.

Be aware that Espressif appears to be changing the types of some of the methods we use from std::string to String. You'll need to check your build system's BLEAdvertisedDevice.h file and comment/uncomment the USE_String #define accordingly.

Tested with:

Sparkfun ESP32 ThingESP32-DOWDQ6
M5 Stamp S3ESP32-S3FN8
M5 Stick CESP32-PICOIntegrated TFT display (not used in this example)
M5 Stick C PlusESP32-PICOIntegrated TFT display (not used in this example)
Teyleten Robot ESP32SESP32-WROOM-32Amazon - three for under $20!
Heltec/HiLetGo/MakerFocus ESP32ESP32-S3Integrated OLED display (not used in this example)

Notes:

I'm new to Github, so don't be surprised if you see wonky things going on here while I play with it.

I'm a hobbyist, not an experienced software developer, so be kind where I've made mistakes or done things in a weird way.

Yes, I've included my Victron's encryption key in my source code. I understand that's a bad practice, but in this case I'm willing to accept the risk that you might drive by and be able to decode my SmartSolar data. Oh, the horror!