VictronVEDirectArduino
VictronVEDirectArduino copied to clipboard
Lightweight arduino library to read basic data using the VE.Direct protocol from Victron Energy
VictronVEDirectArduino
Lightweight Arduino library to read data using the VE.Direct protocol from Victron Energy devices
Built as part of a larger project, now making it available separately in case others find it useful.
Setup:
- An Arduino(ish) board
- A Victron Energy device that sends serial data using the text version of the VE.Direct protocol
- A 5v to 3.3v serial converter (BMV is 3.3v - don't plug it directly into a 5v Arduino!)
- Plugged into the Arduino on a serial port (eg Serial1, Serial2, Serial3 etc)
- See also: https://www.victronenergy.com/live/vedirect_protocol:faq
- Developed and tested with a BMV-700 battery monitor, should work with any that talk VE.Direct
- Distributed under an MIT license - see LICENCE.txt
Provides:
- Read access to VE.Direct statistics and settings
- Defaults set to read Volts, Power, Current, State of Charge (SOC), Alarm
- Easily extendible by adding labels for any other stats and settings of interest
- A diagnostic "full dump" of everything coming from the device
Usage:
#include "VEDirect.h"
VEDirect my_bmv(Serial3);
my_int32 = my_bmv.read(VE_SOC);
// VE_SOC, VE_VOLTAGE, VE_CURRENT, VE_POWER, VE_ALARM