RPICT4T4: Difference between revisions
Line 38: | Line 38: | ||
See general instructions for [[Attiny Over Serial Configuration | configuration over serial]]. | See general instructions for [[Attiny Over Serial Configuration | configuration over serial]]. | ||
==Emoncms Config (Emonhub)== | |||
For default configuration. | |||
<nowiki>[[11]]</nowiki> | |||
nodename = RPICT4T4 | |||
hardware = RPICT4T4 | |||
[[[rx]]] | |||
names = Power1, Power2, Power3, Power4, T1, T2, T3, T4 | |||
datacode = 0 | |||
scales = 1,1,1,1,1,1,1,1 | |||
units = W,W,W,W,C,C,C,C | |||
==Python Example== | ==Python Example== |
Revision as of 14:26, 23 February 2018
This page is for board specific information. More information can be found on the generic page for RPICT series.
- 4x AC Current Sensors
- 4x DS18B20 Temperature Sensors
- Attiny84 Mcu
Current Sensor
Recommended sensor: SCT-013-000
Burden Resistor: 24 Ohm
Connector: 3.5mm Jack
Default Voltage for power calculation: 240V (can be modified in firmware).
For AC current only.
Temperature Sensor
Connector: 3.5mm Jack
The intended temperature sensor is the DS18B20 which can be configure in either parasite or normal mode.
The connection to a 3.5mm jack connector is shown below.
NOTE: Raspberrypi must be switched off while connecting and disconnecting the temperature sensor.
Configuration
Starting from sketch version 1.4 the RPICT4T4 is configured over serial.
See general instructions for configuration over serial.
Emoncms Config (Emonhub)
For default configuration.
[[11]] nodename = RPICT4T4 hardware = RPICT4T4 [[[rx]]] names = Power1, Power2, Power3, Power4, T1, T2, T3, T4 datacode = 0 scales = 1,1,1,1,1,1,1,1 units = W,W,W,W,C,C,C,C
Python Example
Please note the uploaded sketch must have CSV enabled. The example script below will be a good starting point.
First of all make sure you have python-serial package installed
$ sudo apt-get install python-serial
Then copy the following into an executable file and run it.
#!/usr/bin/python import serial ser = serial.Serial('/dev/ttyAMA0', 38400) try: while 1: response = ser.readline() z = response.split(",") if len(z)>6: print "Power 1: %s Watts" % z[0] print "Power 2: %s Watts" % z[1] print "Power 3: %s Watts" % z[2] print "Power 4: %s Watts" % z[3] print "Temperature 1: %s C" % z[4] print "Temperature 2: %s C" % z[5] print "Temperature 3: %s C" % z[6] print "Temperature 4: %s C" % z[7][:-2] except KeyboardInterrupt: ser.close()