De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Slimme meter en domotica met de Raspberry Pi

Verwante presentaties


Presentatie over: "Slimme meter en domotica met de Raspberry Pi"— Transcript van de presentatie:

1 Slimme meter en domotica met de Raspberry Pi
Voordracht op Voor Stichting Embedded Systems Eindhoven Slimme meter en domotica met de Raspberry Pi Door Jeroen Steenhuis 1

2 Slimme meter en domotica met de Raspberry Pi
Uitlezen slimme meter hardware en protocol Waarden slimme meter opslaan in MySQL met PHP Voorbeeld code waarde inlezen en opslaan Uitlezen 1-wire temperatuur sensoren hardware en protocol, waarde opvragen via shell Genereren webpagina Html, javascript, ajax, longpolling Handige bronnen Vragen 2

3 Slimme meter en domotica met de Raspberry Pi - Uitlezen slimme meter
Protocol P1 Companion Standard V2.2 Fysieke verbinding P1 Poort TTL geïnverteerd RS-232 (7 bits, even parity, 1 stopbit) Simplex FTDI USB naar RS-232 converter 3

4 Slimme meter en domotica met de Raspberry Pi - Uitlezen slimme meter
/KMP5 KA6U                                               serienummer meter                                                                                                                                                         0-0:96.1.1(204B )                                                                          1-0:1.8.1( *kWh)                                                +T1 = 13 Afgenomen stroom daltarief 13 kWh 8.2( *kWh)                                                          +T2 = 1    Afgenomen stroom piektarief 1 kWh      1-0:2.8.1( *kWh)                                                -T1 = 26   Teruggeleverde stroom daltarief 26 kWh 1-0:2.8.2( *kWh)                                                -T2 = 0      Teruggeleverde stroom piektarief 0 kWh 0-0: (0001)                                                          Aktuele tarief (1) dus daltief 1-0:1.7.0( *kW)                                                       Huidig verbruik (afgenomen vermogen) 540 Watt 1-0:2.7.0( *kW)                                                       Huidige teruglevering 0 Watt 0-0:17.0.0(999*A)                                                           Maximum stroom/fase 0-0: (1)                                                               Stand van de schakelaar 0-0: ()                                                                 Bericht numeriek 0-0: ()                                                                 Bericht tekst 0-1:24.1.0(3)                                                                   Andere apparaten op de M-Bus 0-1:96.1.0( )  identificatie van de gasmeter 0-1:24.3.0( )(00)(60)(1)(0-1:24.2.1)(m3)   tijd van de laatste gasmeting ( ) ( )                                                                     verbruikte hoeveelheid 15 m3 gas 0-1:24.4.0(1)                                                                   stand gasklep !                                                                               afsluiter 4

5 5 Slimme meter en domotica met de Raspberry Pi - Waarden slimme meter opslaan in MySQL met PHP Installeren MySQL (op externe server of NAS) Installeren PHP (op Raspberry Pi) apt-get install php Syntax PHP ( C like ) RS232 Communicatie (php_serial.class.php) 5

6 Slimme meter en domotica met de Raspberry Pi - Waarden slimme meter opslaan in MySQL met PHP
1 Initialiseer en open Seriele poort 2 Wacht op geldig en volledig data pakket 3 Selecteer waarden uit data pakket en sla op in MySQL 4 Ga terug naar 2 6

7 Slimme meter en domotica met de Raspberry Pi - Waarden slimme meter opslaan in MySQL met PHP
include "php_serial.class.php"; $serial->deviceSet("/dev/ttyUSB0"); $serial->confBaudRate(9600); $serial->confParity("even"); $serial->confCharacterLength(7); $serial->confStopBits(1); $serial->confFlowControl("none"); $serial->deviceOpen() While (1) { $read = $serial->readPort(); 7

8 Slimme meter en domotica met de Raspberry Pi - Waarden slimme meter opslaan in MySQL met PHP
foreach(preg_split("/((\r?\n)|(\r\n?))/", $receivedpacket) as $line) { preg_match("'\((.*?)\)'si", $line, $value); preg_match("'(.*?)\('si", $line, $label); if($label) { //echo $label[1]." = ".$value[1]."\n"; if($label[1] == "1-0:1.7.0") $Electricity_Usage = extractfloat($value[1]) * 1000; if($label[1] == "1-0:1.8.1") $Electricity_Used_1 = extractfloat($value[1]); if($label[1] == "1-0:1.8.2") $Electricity_Used_2 = extractfloat($value[1]); if($label[1] == "1-0:2.8.1") $Electricity_Provided_1 = extractfloat($value[1]); if($label[1] == "1-0:2.8.2") $Electricity_Provided_2 = extractfloat($value[1]); if($label[1] == "") $Gas_Used = extractfloat($value[1]); } 8

9 Slimme meter en domotica met de Raspberry Pi - Waarden slimme meter opslaan in MySQL met PHP
if ($line == "!") // het ! Teken is ontvangen dus pakket is compleet { $Mysql_con = mysql_connect("nas","domotica",“wachtwoord"); mysql_select_db("domotica", $Mysql_con); mysql_query("INSERT INTO energy (gas_used, kwh_used1, kwh_used2, kwh_provided1, kwh_provided2, watt_usage) VALUES ($gas_used, $kwh_used1, $kwh_used2, $kwh_provided1, $kwh_provided2, $watt_usage)")) mysql_close($Mysql_con); } } // terug naar begin van while lus 9

10 Slimme meter en domotica met de Raspberry Pi - Waarden slimme meter opslaan in MySQL met PHP
10

11 Slimme meter en domotica met de Raspberry Pi - Uitlezen 1-wire temperatuur sensoren
DS18B20 Digital Temperature Sensor 1-wire protocol Half-duplex Lijkt op i2c bps Uniek 64 bit addres 8 bit commando’s 8 bit data blokken 11

12 Slimme meter en domotica met de Raspberry Pi - Uitlezen 1-wire temperatuur sensoren
sudo modprobe w1-gpio sudo modprobe w1-therm cd /sys/bus/w1/devices ls cd 28-[ADDRESS] cat w1_slave 12

13 Slimme meter en domotica met de Raspberry Pi - Uitlezen 1-wire temperatuur sensoren
13

14 Slimme meter en domotica met de Raspberry Pi - Uitlezen 1-wire sensoren
14

15 Slimme meter en domotica met de Raspberry Pi - Genereren Webpagina met PHP, Ajax en Longpolling
HTML Hoofd lay-out van pagina en javascript code PHP Draait op webserver en genereerd data voor webpagina uit de mysql database AJAX Javascript en draait in browser en zorg voor ophalen van data Longpolling (Onderdeel van ajax) Verbinding naar webserver blijft open Na ontvangst word verbinding direct opnieuw gemaakt 15

16 Slimme meter en domotica met de Raspberry Pi - Genereren Webpagina met PHP, Ajax en Longpolling
Voordelen Longpolling Data ververst direct bij update De verbindingen worden minder vaak opnieuw geiniteerd Nadelen longpolling Het aantal actieve verbindingen loopt op Het aantal actieve processen loopt op (1 per verbinding) 16

17 Slimme meter en domotica met de Raspberry Pi Handige Bronnen
Hardware uit China via e-Bay Informatie slimme meter Informatie 1-wire sensors Mijn broncode 17


Download ppt "Slimme meter en domotica met de Raspberry Pi"

Verwante presentaties


Ads door Google