

Prpd hardware
Read data from NEDAP PowerRouter via HTTP or RS485
- Size
- 22 × 54.5 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 16
- Nets
- 11
- Pads
- 48
- Tracks, vias
- 149, 6
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 5 (file 20171130)
- Created
- 28 Jan 2021
- Updated
- 28 Aug 2021
Overview
Prpd hardware is an open-source printed circuit board by BenediktSeidl, from the BenediktSeidl/prpd repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 22 × 54.5 mm with 16 parts on 11 nets, routed with 149 tracks and 6 vias.
It is built around the SP3485EN-Y. Its parts include 3 connectors, 1 capacitor and 1 IC. It belongs with the interfaces and adapters and home automation and IoT boards of this library.
Main components
1README
README.mdprpd
prpd is a software and hardware solution to make monitoring information from the NEDAP PowerRouter available although their cloud service was shot down at 2021-01-31.
The Methods were tested with NEDAP PowerRouter PR37Bi Version 7.1.2.
Status of this project
I had this running for some time and it worked fine, but unfortunately the Battery of the PowerRouter broke and the PowerRouter does not support current Batteries, so the whole System was replaced, and I have no longer a system to test with.
Getting the data from the PowerRouter
HTTP
The PowerRouter normally sends monitoring data every minute via a HTTP-POST
request to logging1.PowerRouter.com. This is done without any encryption, so
we can simple bend the network traffic into our direction and read the data.
RS485
Some of the data is collected via a RS485 interface of EM24 Energy Sensors by Carlo Gavazzi. This data is transfered about every second. As the PowerRouter is already a master on the bus we don't want to disturb any communication and simple tap into the data lines and listen to the communication.
Hardware
In order to tab into the RS485 lines, one could access the EM24 Sensors and add some wires there, but the Sensors are in the fuse box and one doesn't mess with this one normally.
There is also the need for additional hardware because most of the linux boards don't support RS485 out of the box. A normal RS485 USB-dongle may be used.
On the other hand, most linux boards do have UART exposed on some headers, so we can add a UART - RS485 transceiver. The SP3485 has also the handy feature that it can be configured in a way that it is not possible to write to the RS485 bus, an ideal feature for our application.
Use the data from the PowerRouter
prpw is written in a way that it should be possible to add you favourite output. Currently the following outputs are available:
MQTT Home Assistant
Outputs the data on MQTT so it is possible for Home Assistant to auto discover all available Data.
OpenWB
Output the data on MQTT so OpenWB can read the data. This is not done yet, but will be definitely implemented in the near future.
Prometheus
With this output it's possible to scrape the data with prometheus.
Configuration
Configuration is done via environment variables.
PRPD_ACTION: how to obtain the data. eitherserialorhttp. If you want to get data from http and serial, you have to run the programm twice.PRPD_OUTPUT_HASS_ACTIVE:1if you want to activate the homeassistant outputPRPD_OUTPUT_HASS_MQTT_URI: mqtt broker for homeassistant output, defaults totcp://localhost:1883PRPD_OUTPUT_PROM_ACTIVE:1if you want to activate the prometheus outputPRPD_OUTPUT_PROM_PORT: sets the port of the prometheus output. If you want to run serial and http in parallel, you have to specify two different ports and configure two differen datasources. in prometheus.PRPD_SERIAL_PORT: serial port (like/dev/ttyUSB0) where to listen for data
Development
Installing rust and build dependencies
# installing rustup
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh # https://www.rust-lang.org/tools/install
source $HOME/.cargo/env
rustup toolchain install nightly
rustup default nightly
# installing build dependencies
apt-get install pkg-config libudev-dev cmake
# install target support (only if you want to run this on GL-AR150)
rustup target add mips-unknown-linux-musl
# installing tool to compress executable (only if you want to run this on GL-AR150)
apt-get install upxTesting locally
bash dev/run_http.sh # to start the http server
bash dev/http_post_log.sh # to send some test data to the server
bash dev/serial_socat.sh # to create a virtual serial port
bash dev/run_serial.sh # to start prpd in serial mode
python3 dev/serial_write_data.py # to send data to virtual serial portGL-AR150
GL-AR150 is a cheap, low power network device that can be used as a platform for prpd. The idea is to use a low power device to gather the data and then send it to a more powerful device in order to store the data.
Disclaimer
Use at your own risk!
Parts
16| Qty | Value | Footprint | References |
|---|---|---|---|
| 8 | prpd_hardware:tab | T1, T2, T3, T4, T5, T6, T7, T8 | |
| 2 | RJ45_Shielded | prpd_hardware:CAT5 T1U 2.8N4N | J1, J11 |
| 1 | 0.1uF | Capacitor_SMD:C_0805_2012Metric | C1 |
| 1 | A+ | prpd_hardware:tab | TI2 |
| 1 | B- | prpd_hardware:tab | TI3 |
| 1 | Conn_01x03 | Connector_JST:JST_XH_B3B-XH-A_1x03_P2.50mm_Vertical | J2 |
| 1 | GND | prpd_hardware:tab | TI1 |
| 1 | SP3485EN | Package_SO:SOIC-8_3.9x4.9mm_P1.27mm | U1 |
Similar boards
- 4 layers59.2 × 66 mm

- 4 layers120 × 100 mm

- 2 layers70 × 65 mm

Fluepdot
Fluepke/Fluepdot
Project for controlling Annax flipdot panels used by the Berliner Verkehrsbetriebe
116 parts17AGPL-3.0 - 4 layers270 × 34 mm

Io board
ReflexCreations/io-board
This repository contains source documents and manufacturing files for the RE:Flex Dance Pad's I/O Board. It was created using KiCAD 5.1.4.
95 parts8MIT - 2 layers65 × 35 mm

- 2 layers100 × 100 mm

- 2 layers100 × 100 mm

V2 Estacion Nviel
HecVelaz/Proyecto-Mburica-
Repositorio central del Proyecto Mburicao: Sistema IoT de monitoreo de nivel de cauces, modelos de predicción con IA y documentación científica
62 parts3MIT - 2 layers59.8 × 109.3 mm

LoraWeatherstation
3komma3volt/LoRaWeatherStation_Hardware
A simple stand-alone self-sufficient weather station using LoRa for data transmission
50 parts2MIT
Questions
How big is the Prpd hardware PCB?
It measures 22 × 54.5 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Prpd hardware use?
16 parts, built around the SP3485EN-Y. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Prpd hardware KiCad files?
From the BenediktSeidl/prpd repository on GitHub, at the commit this page was made from: the board is hardware/pcb/prpd_hardware.kicad_pcb. PCBKit opens the board in the browser, with nothing to install.
Can I use the Prpd hardware design in my own project?
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).