Arduino library to poll a Power-One (ABB) Aurora inverter and upload the readed values to PVoutput.org.
The sketch is written for a Blackpill SOC in conjunction with external flash, RS-485 duplex module and an ethernet W5500 module.
Some features:
- Retrieving weather from weerlive.nl
- Retreaving rain information from buienradar.nl
- Using NTP.
- Automatic switching between summer/winter time.
- registering dynamic DNS at freedns.com.
- Detecting WAN IP changes and reregistering at freedns.
- controls 3 fans for inverter cooling preventing power degradation at hot days.
- includes a webserver for remote control and statusinformation.
- Acts as a honeypot and reports to abuseipdb.
- Uses wolfSSL for TLS connections.
- Has different loglevels for monitoring and debugging.
- Has TFTP server for up- and download whitelist IP en blacklist HTTP commands if honeypot functionality is desired.
Rename userdefs_empty.h to userdefs.h and make all the necessary keys personal.
SPI0 is used for flash and ethernet.
All connections from specific module → Black pill
Wiring diagram: for relay board, all the relays on the board has the same function, so pick your favorite positions.
Relay_fanC → PB6
Relay_Power_R → PB7
Relay_fanB → PB8
Relay_Power → PB9
Relay_C_DIST → PB12
Relay_fanA → PB13
keyswitch → PA0 // keyswitch is PA0, but is forced low at activation
RS-485 module:
GND → GND → G
TXD → TX2 → PA2 UART used for RS-485
RXD → RX2 → PA3 UART used for RS-485
Vcc → 5V
Ethernet module
5V → 5V
GND → G
SCS → PA15 (ETHERNET_SS)
MISO → A6
MOSI → A7
SCLK → A5
RST → Not Connected
INT Not Connected
flash module:
Vcc → 3,3V
CS → FLASH_SS → PA4
DO → A6
GND → G → GND
CLK → A5
DI → A7
The system is based on many different code snippets from around. AFAIK no license infringements for personal use.