Transcript
Page 1: Drupal home automation met vscp

Drupal Home automation met VSCP

Peter Bosmans

Page 2: Drupal home automation met vscp

Concept

• Centraal schakelpunt (teleruptors, relais)• Gedistribueerde controllers gekoppeld via een

eenvoudig netwerk (Bijv. één per kamer)• Geen Master-slave netwerk (SPOF), met een

bestaand protocol• Open source – Open hardware– Firmware , protocol– Control software

Page 3: Drupal home automation met vscp

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

Page 4: Drupal home automation met vscp

VSCP• Very Simple Control Protocol

http://sourceforge.net/projects/m2m/files/VSCP%20Specification/http://en.wikipedia.org/wiki/Very_Simple_Control_Protocol

• Open source multiplatform : windows, linux – multicontroller : PIC, AVR, ARM, …

• Bruikbaar over verschillende fysieke lagen–Level I : RS232, RS485, RF, CAN–Level II : Ethernet

• Event gebaseerd• Configureerbare Modules

–Registers : I/O gedrag, I/O zones-subzones –DM (Decision matrix) : Filter - Action

Page 5: Drupal home automation met vscp

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), …

Page 6: Drupal home automation met vscp

Communicatie Drupal <-> VSCP

VSCPD– Gateway daemon tussen het CAN-netwerk en IP-netwerk.– DM voor filter – action

•Inkomende 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 drupal

•Uitgaande VSCP eventsDrupal VSCP module -> VSCPD -> USB -> USB2CAN convertor -> CANbus

Page 7: Drupal home automation met vscp

VSCP module• Taxonomie

– Level I Events : Reeds geconfigureerd in xml-file (Taxonomy import/export) – Zones-Subzones : Te configureren door de gebruiker

• Hiërarchisch 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.

Page 8: Drupal home automation met vscp

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

• ReferentiesOm de laatst ontvangen VSCP event te koppelen aan z’n 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.

Page 9: Drupal home automation met vscp

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

Page 10: Drupal home automation met vscp

Demo : Technische opbouw

• Elektrische installatie

• Nodes : CAN based modulesConfiguratie : IN1, OUT1 => Zone = 1 = ‘Kelder’ ; Subzone = 1 = ‘Voorraad’IN2, OUT2 => Zone = 2 = ‘Gelijkvloers’ ; Subzone = 1 = ‘Keuken’IN3, OUT3 => Zone = 2 = ‘Gelijkvloers’ ; Subzone = 2 = ‘Woonkamer’

Page 11: Drupal home automation met vscp

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.– …

Page 12: Drupal home automation met vscp

Toekomstige ontwikkelingen• Meer sensor integratie (temperatuur, licht, …)

• Meer widgets voor drupal • Ajax integratie• Migratie naar Drupal 7• Integratie van MQTT in de VSCP daemon

MQTT (MQ Telemetry Transport) : eenvoudige overdracht van berichten via een ‘broker’ met ‘publish/subscribe’ procedures

• Integratie van WS in de VSCP daemon (HTML5)

• https://www.thingspeak.com/, https://pachube.com/, …

Page 13: Drupal home automation met vscp

Vragen ??

Nuttige Links

VSCP : http://www.vscp.org/

VSCP source : http://sourceforge.net/projects/m2m/?source=directory

VSCP drupal module : http://drupal.org/sandbox/pbosmans/1429844

VSCP kiewit hardware module : https://sourceforge.net/p/vscpmodules/kiewit

Page 14: Drupal home automation met vscp
Page 15: Drupal home automation met vscp

Feedback & follow-up: http://drupalcampgent.be/feedback


Top Related