EMONWRT3: Difference between revisions
Line 65: | Line 65: | ||
* EmonWRT3 CT3V1T1 Base Board | * EmonWRT3 CT3V1T1 Base Board | ||
* [[Skylab SKW71 Wifi Module | * [[SKW71 | Skylab SKW71 Wifi Module]] (OpenWRT) | ||
* Atmega328 Microcontroller (Arduino) | * Atmega328 Microcontroller (Arduino) | ||
* 3D printed enclosure. | * 3D printed enclosure. |
Revision as of 12:10, 13 April 2018
Project Progress
This page is for a product in current development. We expect the first units to be ready around mid May 2018.
EmonWRT3 Wifi Energy Monitoring Device with OpenWRT
EmonWRT3 is a one unit system for energy monitoring. It measures usage of an electrical installation and post data on a server (Emoncms or other). You can then view the data on your computer or phone.
It combines the Arduino based microcontroller and OpenWRT wifi module together. EmonWRT3 interfaces with sensors like Current Transformers/ Temperature and Voltage.
- Simple to use with web interface for configuration.
- Connect with Wired or Wifi.
- Wall mountable.
- Single box system.
- Open source components OpenWRT and Arduino.
EmonWRT vs Raspberry Pi. The main motivation for developing the EmonWRT was to increase robustness. For the long run the RaspberryPi solution can become vulnerable due to the operating system hosted on a SD card. High quality SD cards can be used but a higher risk of failure still remains. The EmonWRT contains the operating system on an embedded flash memory and will solidly keep on running.
Technical Specifications
- 3 Current Sensor Ports
- 1 AC/AC Volatege Port
- 1 Temperature Sensor Port
- 1 Ethernet Port
- 1 MicroUSB Power Supply port
- Operating System: OpenWRT Chaos Calmer
- Micro Controller Unit: AtMega328 (Arduino)
- Wifi (internal or external antenna)
- PCB Dimensions: 55x55mm
- Enclosure Dimension: 80x60x27mm
Recommended Sensors
Current: SCT-013-000
Temperature: DS18B20
AC/AC Adaptor: 77DB-06-09 77DE-06-09 77DA-10-09
Defaults
IP Address (LAN): 192.168.2.1
IP Address (WAN): DHCP
Username: root
Password: To be set on first use.
Hardware
The EmonWRT3 is made of the following components.
- EmonWRT3 CT3V1T1 Base Board
- Skylab SKW71 Wifi Module (OpenWRT)
- Atmega328 Microcontroller (Arduino)
- 3D printed enclosure.
Internal Dataflow
Internally the Arduino mcu collects data from sensors on the ADC port and transmit them to the OpenWRT module via serial interface.
Then the OpenWRT module transfer all data to the specified web server (Emoncms, InfluxDB etc...) using conventional ethernet protocols.
The configuration of the unit is using the Luci web interface that comes with OpenWRT. One can at easyly configure the EmonWRT to connect to a wireless network.
Configuration
The web interface
OpenWRT uses Luci for configuration. The EmonWRT has a page on Luci where APikey, emoncms server and node ID can be configured.
Apikey is the long number that identify the account on the Emoncms server. It can be found on the emoncms server in the API help page. The Read & Write apikey key should be copy pasted here.
EmonCMS Hostname is the location of the emoncms server to use. It can either be emoncms.org or your own server. If using your own emoncms server you might need to indicate the full path here. e.g. 192.168.1.50/emoncms/
Node ID is a number that identify the device. If you have several EmonWRT (or emontx) you can change this number here to differentiate between them on the server.
Background Configuration
The actual configuration is saved in a text configuration file /etc/config/emonwrt3.
Arduino Sketch
The emontx has an attiny84 mcu which can be programmed with the Arduino IDE. To upload a sketch you will have to open the EmonWRT box and connect an avr programmer to the SPI port on the EmonWRT. The default arduino sketch can be found on this page. The library from OEM is also needed for this. It can be found here.
Serial String Format
If you decide to write your own sketch you need to output on serial interface the data in the following format:
EMONWRT CSV_DATA
CSV_DATA being each output field separated by a comma. Here is an example for three fields:
EMONWRT 75,45,4058 EMONWRT 79,51,4060
This format is necessary for the forwarder program in the WR703N.
Data Forwarder script
The WR703N router has a script written in bash to grab the data from the Arduino mcu and send them over to the emoncms server. This script is called emonwrt_forwarder.sh. You can download it below.
The script is launched when OpenWRT boots up using init.d mechanism.
RF Gateway
Previous version of EmonWRT used to have RF gateway. Due to lack of interest we have removed this option. Get in touch with us if you need a similar solution.
Files
Howtos
(old) Install/Update EmonWRT on WR703N
(New) Install/Update EmonWRT on WR703N
Start the forwarder in debug mode
Timeout for some wifi connections
Version History
Sketch
1.6
EmonWRT Software
1.3
- Support for OpenWRT Attitude Adjustment
1.4
- Support for OpenWRT Barrier Breaker