drupal home automation met vscp

Download Drupal home automation met vscp

Post on 28-Jan-2015

102 views

Category:

Documents

0 download

Embed Size (px)

DESCRIPTION

Een presentatie over hoe Drupal ook gebruikt kan worden om het controlleren van een home automation system die gebruik maakt van VSCP

TRANSCRIPT

  • 1. Drupal Home automation metVSCP Peter Bosmans

2. Concept Centraal schakelpunt (teleruptors, relais) Gedistribueerde controllers gekoppeld via eeneenvoudig netwerk (Bijv. n per kamer) Geen Master-slave netwerk (SPOF), met eenbestaand protocol Open source Open hardware Firmware , protocol Control software 3. Home automation control software Home remote (java tomcat) Linux MCE (gebaseerd op Ubuntu) Misterhouse (Perl ook met VSCP) Drupal Webgebaseerd, toegangsrechten, taxonomie, Connectie met database (logging, views, ) Uitbreidbaar -> VSCP module 4. VSCP Very Simple Control Protocol http://sourceforge.net/projects/m2m/files/VSCP%20Specification/ http://en.wikipedia.org/wiki/Very_Simple_Control_Protocol Open sourcemultiplatform : windows, linux multicontroller : PIC, AVR, ARM, Bruikbaar over verschillende fysieke lagenLevel I : RS232, RS485, RF, CANLevel II : Ethernet Event gebaseerd Configureerbare ModulesRegisters : I/O gedrag, I/O zones-subzonesDM (Decision matrix) : Filter - Action 5. VSCP events Class : Collectie van event types INFORMATION(20) , ALARM(1), MEASUREMENT(10), . Type : Type van event CLASS INFORMATION : BUTTON(1), ON(3), OFF(4), BELOW LIMIT(10), CLASS MEASUREMENT : COUNT(1), TEMPERATUUR(6), GEWICHT(3), Zone : bron van event class-type Kelder(1), Gelijkvloers(2), Subzone : sub-bron van event class-type Keuken(1), Salon(2), Berging(3), Terras(4), 6. Communicatie Drupal VSCPVSCPD Gateway daemon tussen het CAN-netwerk en IP-netwerk. DM voor filter actionInkomende VSCP eventsCANbus -> USB2CAN convertor -> USB -> VSCPD -> DM -> PHPscript ->XMLPRC DM start PHPscript bij een INFORMATION ON/OFF VSCP event PHPscript maakt een XMLRPC call naar drupalUitgaande VSCP eventsDrupal VSCP module -> VSCPD -> USB -> USB2CAN convertor -> CANbus 7. VSCP module Taxonomie Level I Events : Reeds geconfigureerd in xml-file (Taxonomy import/export) Zones-Subzones : Te configureren door de gebruiker Hirarchisch opgebouwd Synoniem bevat de zone- of subzonenummer Contenttypes VSCPevent : Elk VSCPevent heeft een corresponderende Drupal node Taxonomy : Bepaalt het VSCP-event (class, type, zone, subzone) Byte0 : Nodig voor bepaalde events Data : Nodig voor bepaalde events Node referenties (sended, received) : Connectie tussen verzonden en ontvangen events Logtype : Type van logging ; via revisions of via nodes van het contenttype VSCPlog Log referentie : Referentie naar de logging-node als er met revisies gewerkt wordt. Button : Het event wordt verstuurd door ofwel een view node of via de button field VSCPlog Class, Type, Byte0, Zone, Subzone, Data : Velden voor de corresponderende waardes. 8. VSCP module Zelflerend bij elk ontvangen event Node niveau check op VSCP class, type, zone en subzone Indien de node nog niet bestaat : maak node aan Indien de node wel bestaat : update node timestamp Indien referentie naar een send event node : update de receive referentie in de send event node Taxonomie niveau (Zone-Subzone) Indien de zone en of subzone nog niet bestaat : maak deze taxonomie term aan Referenties Om de laatst ontvangen VSCP event te koppelen aan zn corresponderend verzonden VSCP event Bijv.: - on/off events koppelen aan button events. - het koppelen van het event met de werkelijk gemeten waarde, aan het event, om een temperatuur te zetten. 9. VSCP module Rules integratie Rule trigger : After a VSCP event is received Rule condities : VSCP event has zone VSCP event has subzone VSCP event has class VSCP event had type VSCP event had byte0 VSCP event had databytes Rule actie : Send a VSCP event Rule sets Bruikbaar voor oa. tijdsgebonden VSCPevents 10. Demo : Technische opbouw Elektrische installatie Nodes : CAN based modulesConfiguratie :IN1, OUT1 => Zone = 1 = Kelder ; Subzone = 1 = VoorraadIN2, OUT2 => Zone = 2 = Gelijkvloers ; Subzone = 1 = KeukenIN3, OUT3 => Zone = 2 = Gelijkvloers ; Subzone = 2 = Woonkamer 11. Demo : Drupal - VSCP Configuratie : Manuele instelling Taxonomie Zone-Subzone Content VSCPevent Information Button Semi-Automatisch via de zelflerende mogelijkheid Taxonomie Zone-Subzone Content VSCPevent Information On/Off Koppel het ontvangen VSCPevent aan het corresponderend verzonden VSCPevent. Views : Buttons view : Overzicht van de Information - button VSCP events met de relatie van de laatst ontvangen Information On/Off event Voorbeelden van enkele rules : ButtonSendEvent : Deze zorgt voor het verzenden van het VSCPevent en de refresh van de pagina, na een korte vertraging. Kelder Voorraad ON Email : Verzend een mail wanneer het licht aangedaan wordt in de voorraadkelder. Rulessets : Voor oa. het scheduleren van VSCPevents. Bijv. Elke 2 minuten het licht aan/uit doen. 12. Toekomstige ontwikkelingen Meer sensor integratie (temperatuur, licht, ) Meer widgets voor drupal Ajax integratie Migratie naar Drupal 7 Integratie van MQTT in de VSCP daemonMQTT (MQ Telemetry Transport) : eenvoudige overdracht van berichtenvia een broker met publish/subscribe procedures Integratie van WS in de VSCP daemon (HTML5) https://www.thingspeak.com/,https://pachube.com/, 13. Vragen ??Nuttige LinksVSCP : http://www.vscp.org/VSCP source : http://sourceforge.net/projects/m2m/?source=directoryVSCP drupal module : http://drupal.org/sandbox/pbosmans/1429844VSCP kiewit hardware module :https://sourceforge.net/p/vscpmodules/kiewit 14. Feedback & follow-up:http://drupalcampgent.be/feedback