Här kommer en lite presentation av mitt hemautomationssystem. Den info som jag presenterar extern ligger på https://sites.google.com/a/hedman.net/domotics/home
De funktioner jag har idag är:
-Temperaturövervakning i alla rum och utomhus
-CCTV övervakning
-Övervakning av temperatur i frysen
-Övervakning av larm till avloppspunp
-Övervakning av om garaget stått öppet för länge eller om garaget öppnas eller stängs
-Öppning och stängning av garage
-Notifiering med SMS vid larm
-Närvaroavkänning mha bluetooth och avstängning av kamera registrering när jag är hemma
-Mätning av energiförbrukningen
Dessutom håller jag på att implementera:
-Temperaturmätning av ventilationens utluft
-Regnmätning
-Mätning av vattenförbrukningen
-Telefonifunktioner
Systemet består av en 2 gamla datorer som kör Linux Fedora 13. Den ena sköter övervakning, telefonen som skickar sms och 1-wire nätet. Temperatursensorer och reläer hanterar jag med 1-wire och sms med gammu och en gammal SE K530i telefon som jag har kopplad med usb.
Temperaturavläsningen sker varje minut med ett cron jobb och lagras i round robin databaser (rrdtool). Grafer genereras och laddas upp till domotics hemsida varje 15 minuter.
Övervakningen sker med ett shellscript som sköter övervakning, loggning och notifiering tex känner av garageporten via en 1-wire relä. Scriptet kollar även om avloppspumpen larmar eller frysen har för låg temp. Om något larmar så skickar scriptet ett sms via gammu och loggar i en mysql db.
Närvarodetekteringen görs av ett annat script mha bluetooth som känner av närvaron och flaggar detta till en databas. Har delat upp det i två script för att kunna ha en högre takt på blåtands skanningen. Jag har en bluetooth class 1 usb dongle som känner av om mac adressen till min telefon går att hitta med hcitool scan kommando. Man kan antingen scanna och se vilka telefoner som svarar alternativt leta efter en specifik telefon och se om den svarar. Jag gör det senare då det är mycket snabbare även om man då missar möjligheten att se om man har besök an ngn annan med bluetooth.
Problemet har varit att placera usd donglen. Den är class 1 med en räckvidd på ca 100 m men telefonen är en class 2 med kanske 10 m räckvidd. Tillsammans blir det kanske 25 meter. Jag vill att systemet skall upptäcka mig innan kameran jag har vid entren gör det. Närvaro dektekteringen stänger av kameraövervakningen för att jag inte skall få registrerat en massa onödiga event på kameran. Jag har inte löst detta ännu. Problemet är att jag har datorn i källaren men vill ha usb donglen vid entren. Har provat en adapter som omvandlar usb till rj45 men den gör att hcitool hänger sig efter någon timme. Kanske en usb hub kan fungera? Tips någon!
I scriptet har jag fått lägga in lite logik som gör att det krävs ett antal misslyckade försök att hitta min telefon för att anse att jag inte är hemma men det räcker med ett lyckat försök för att avgöra att jag är hemma. Detta för att skanningen ibland är lite "flaxig" och telefonen lätt tappar kontakt. På så sätt kan jag också gå till garaget och hämta något utan att systemet tror att jag gått hemifrån.
Jag har 4 st cctv kameror och ett videofångst kort som kör på en separat pc tillsammans med zoneminder. Fungerar utmärkt även om det är under inkörning map falsklarm etc.
Dom programvaror jag använder är uteslutande open source:
- Fedora 13 som operativsystem
- OWFS för att hantera 1-wirenätet
- Zoneminder för övervakningskameror
- RRD tools för lagring och grafgenerering
- gammu för att skicka sms
- Imagemagic för att tolka vattenmätaren
- hcitool för att detektera bluetooth
Dom hårdvaror jag använder:
- 1-wire hubbar för att hålla ihop 1-wire nätet
- 1-wire tempsensorer för att mäta temperatur
- 1-wire I/O kort för att läsa av brytare och styra garageportsmotor
- 1-wire räknare för att räkna energiåtgången
- webbkamera för att läsa av vattenmätaren
- Sonyericsson K530i telefon
- blåtands dongle för närvaro avkänning
- videofångstkort för videoövervakningen
- CCTV kameror för videoövervakningen
- 2 äldre PC (en för videoövervakningen och en för resten)
Det var lite kort om mitt system.
/Daniel