Browse Source

Updated README.me

Samuel Vestlin 6 years ago
parent
commit
24916dedc7
1 changed files with 119 additions and 4 deletions
  1. 119 4
      README.md

+ 119 - 4
README.md

@@ -1,14 +1,129 @@
-# energy-meter-logger
-Log your Energy Meter data on a Raspberry Pi and plot graphs of your energy consumption
+# Energy Meter Logger
+Log your Energy Meter data on a Raspberry Pi and plot graphs of your energy consumption.
+Its been verified to work with a Raspberry Pi with a Linksprite RS485 shield and reading values from a WEBIQ131D / SDM120. By changing the meters.yml file and making a corresponding [model].yml file it should be possible to use other models.
 
 ### Requirements
 
-* Python 2.7 (or 3) and PIP
+#### Hardware
+
+* Raspberry Pi 3
+* RS485 Shield V3 for RPi:
+http://linksprite.com/wiki/index.php5?title=RS485/GPIO_Shield_for_Raspberry_Pi_V3.0
+* Modbus based Energy Meter, e.g WEBIQ 131D / Eastron SDM120 or WEBIQ 343L / Eastron SMD630
+
+#### Software
+
+* Rasbian
+* Python 2.7 and PIP
+* Minimalmodbus
+* InfluxDB
+* Grafana
+
+### Prerequisite
+
+* Download Raspbian Stretch Lite and Flash on SD-card, e.g. by using Etcher
+https://www.raspberrypi.org/downloads/raspbian/
+* Mount the RS485 shield on the Raspberry Pi’s GPIO header.
+* Power up Rasberry Pi and setup password (passwd) and SSH, localization, network etc using sudo raspi-config
+* With raspi-config open, go to “5 Interfacing Options” -> “P6 Serial” and disable serial login shell and Enable serial port hardware (NO and then YES)
+* Add the following lines to /boot/config.txt'
+```sh
+# Disable built in Bluetooth
+dtoverlay=pi3-miniuart-bt
+```
+source: http://www.briandorey.com/post/Raspberry-Pi-3-UART-Boot-Overlay-Part-Two
+
+* To disable the serial console, you need to edit the /boot/cmdline.txt file to look like the following row
+```sh
+dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4  elevator=deadline fsck.repair=yes rootwait
+```
+source: http://www.briandorey.com/post/Raspberry-Pi-3-UART-Boot-Overlay-Part-Two
+
+* Install Python Package Manager PIP if not already installed (not installed on Rasbian Lite):
 ```sh
 $ sudo apt-get install python-pip
 ```
 
+### Installation
+#### Install InfluxDB
+source: https://docs.influxdata.com/influxdb/v1.3/introduction/installation/
+
+#### Step-by-step instructions
+* Add the InfluxData repository
+```sh
+$ curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
+$ source /etc/os-release
+$ test $VERSION_ID = "9" && echo "deb https://repos.influxdata.com/debian stretch stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
+```
+
+* Download and install
+```sh
+$ sudo apt-get update && sudo apt-get install influxdb
+```
+* Start the influxdb service
+```sh
+$ sudo service influxdb start
+

$ sudo service influxdb restart
+```
+
+* Create the database
+```sh
+
$ sudo influx
+
CREATE DATABASE db_meters
+exit

+```
+
+#### Install Grafana
+source: http://docs.grafana.org/installation/debian/
 
+##### Step-by-step instructions
+* Add APT Repository
+```sh
+$ echo "deb https://dl.bintray.com/fg2it/deb-rpi-1b jessie main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
+```
+
+* Add Bintray key
+```sh
+$ curl https://bintray.com/user/downloadSubjectPublicKey?username=bintray | sudo apt-key add -
+```
+
+* Now install
+```sh
+$ sudo apt-get update
+
$ sudo apt-get install grafana

+```
+
+* Start the service using systemd:
+```sh
+$ sudo systemctl daemon-reload
+$ systemctl start grafana-server
+$ systemctl status grafana-server
+```
+
+* Enable the systemd service so that Grafana starts at boot.
+```sh
+$ sudo systemctl enable grafana-server.service
+```
+* Go to http://localhost:3000 and login using admin / admin (remember to change password)
+
+#### Install Energy Meter Logger:
+* Download and install from github
+```sh
+$ pip install git+https://github.com/samuelphy/energy-meter-logger
+```
+* Make script file executable
+```sh
+$ chmod 777 read_energy_meter.py
+```
+
+* Edit meters.yml to match your configuration
+* Test the configuration by running:
+```sh
+./read_energy_meter.py
+```
+* Run the python script at startup
+Add to following lines to the end of /etc/rc.local but before exit:
 ```sh
-$ pip install --user git+https://github.com/samuelphy/energy-meter-logger
+# Start Elphy Energy Meter Logger
+/home/pi/read_energy_meter.py --interval 60 > /var/log/meter.log &
 ```