Difference between revisions of "EmonPi"
Glyn.hudson (Talk | contribs) (→Run emonPi Python at startup) |
Glyn.hudson (Talk | contribs) (→Run emonPi Python at startup) |
||
Line 152: | Line 152: | ||
Built upon: [https://github.com/mmmarq/raspberry_lcd https://github.com/mmmarq/raspberry_lcd] | Built upon: [https://github.com/mmmarq/raspberry_lcd https://github.com/mmmarq/raspberry_lcd] | ||
− | ==Run emonPi Python | + | ==Run emonPi Python as startup== |
− | + | [http://blog.scphillips.com/2013/07/getting-a-python-script-to-run-in-the-background-as-a-service-on-boot/ http://blog.scphillips.com/2013/07/getting-a-python-script-to-run-in-the-background-as-a-service-on-boot/] | |
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + | ||
− | + |
Revision as of 15:31, 3 June 2014
Raspberry Pi Energy Monitoring Shield - Dev Notes
Contents
Open Development
OpenEnergyMonitor.org forum thread
Build Notes
Disable Pi Serial Console
Simple script to easily enable & disable the Raspberry Pi's serial console. Disabling the serial console is required if you want to use the Raspberry Pi's serial port (UART) to talk to other devices e.g. ATmega328 microcontroller on emonPi (see <http://elinux.org/RPi_Serial_Connection> for more information).
https://github.com/lurch/rpi-serial-console
$sudo wget https://raw.github.com/lurch/rpi-serial-console/master/rpi-serial-console -O /usr/bin/rpi-serial-console && sudo chmod +x /usr/bin/rpi-serial-console
$ sudo rpi-serial-console disable
$ sudo reboot
$ rpi-serial-console status
You should see the message Serial console on /dev/ttyAMA0 is disabled, the serial port is now free for communication with the ATMega328 on the emonPi
Setting Up Wifi
Using Edimax EW-7811
We need to edit the file /etc/network/interfaces on the root file system partition of the Pi's SD card.
Either connect Pi via Ethernet and access via SSH or connect a keyboard mouse and screen to the Pi or edit the file on your computer. Assuming your connect to the Pi via SSH:
$ sudo nano /etc/network/interfaces
Change interfaces file to the following entering your SSID and password.
auto lo
iface lo inet loopback
iface eth0 inet dhcp
auto wlan0
allow-hotplug wlan0
iface wlan0 inet dhcp
wpa-ssid "YOUR_SSID"
wpa-psk "WIFI_PASSWORD"
[CTRL] + [X] to save and exit nano
either reboot the Pi or just reboot the adapter
$ sudo ifdown wlan0; sudo ifup wlan0
Script to check for working wifi connection and restart wifi if needed https://github.com/dweeber/WiFi_Check
For terminal GUI and auto scanning of available Wifi networks wicd can be used:
sudo apt-get install wicd-curses
sudo wicd-curses
http://www.raspyfi.com/wi-fi-on-raspberry-pi-a-simple-guide/
Sketch / Firmware Upload from Raspberry Pi
Assuming starting with latest version of Raspien Wheezy (tested with 2014-01-07)
$ sudo apt-get install arduino
$ git clone https://github.com/openenergymonitor/avrdude-rpi
$ cp autoreset /usr/bin
$ cp avrdude-autoreset /usr/bin
$ mv /usr/bin/avrdude /usr/bin/avrdude-original
$ ln -s /usr/bin/avrdude-autoreset /usr/bin/avrdude
LCD
HD44780 LCD with PCF8574 I2c I2C Address: 0x27
Enabling The I2C Port
The I2C ports need to be enabled in Raspbian before they can be used:
Edit the modules file
$ sudo nano /etc/modules
Add these lines:
i2c-bcm2708
i2c-dev
Edit the modules blacklist file:
$ sudo nano /etc/modprobe.d/raspi-blacklist.conf
Add a '#' character to this line so it commented out:
#blacklist i2c-bcm2708
Finally install the I2C utilities:
$ sudo apt-get install python-smbus i2c-tools
reboot pi
Detect LCD on I2C bus
Returns I2C address of LCD
$ sudo i2cdetect -y 1
Use port 1 for 512Mb RAM pi (rev2) or port 0 for older 256Mb RAM pi (rev1)
LCD Python Examples
https://github.com/openenergymonitor/emonpi/tree/master/LCD
Built upon: https://github.com/mmmarq/raspberry_lcd