Automatizált otthonom: Raspberry Pi + Node-Red + MQTT & Amazon Echo
A legújabb automatizált otthoni funkciónkban Dave McLaughlin átveszi minket az útján, fejlesztve saját intelligens otthoni rendszerét. Néhány DIY frissítéssel a meglévő otthoni automatizálási hardverre és néhány okos szoftverintegrációval egy lenyűgöző rendszert épített…
Kezdetben
Miután az Egyesült Királyságban a HomeSerer -et, valamint számos vezetékes és vezeték nélküli eszközt használtam, Vezeték nélküli Vezetékre váltottam, amikor 2005 -ben Indonéziába költöztem. Mivel bérelt lakásban éltem, olyan megoldásra van szükségem, amely nem lenne szükség, mint talán más kábelek, kivéve talán a kábeleket. Ethernet ugyanabban a szobában.
Döntem egy Z-hullámrendszerről, később hozzáadva a Wemo lámpamodulokat is. A dolgok Z-hullám oldalához a Homepro készülék modulokat választottam az aljzatokhoz és az Everspring lámpa modulokhoz a világításhoz. A 2 modul egyike sem volt olcsó.
2016 közepéig futottam ezzel a beállítással, de a következő kérdések változást váltottak ki. Először a Z-Wave temperamentumos volt, 2 egységgel az OU apartman végén, annak ellenére, hogy félúton volt egy készülék modulja, csak soha nem működött megbízhatóan. Folyamatosan megnyomtam volna a HomeSerer Touch alapú táblagépen, hogy az ágyam lámpázza. Később 2 egység lenne, amelyek ellenőrzött lámpák felrobbantanak és meghibásodnak. Az egyik IC -k, amelyek a tápegység részét képezték, szélesre nyílt.
A következő fejfájás a Wemo Lamp modulok voltak. Az egyetlen módja annak, hogy ezeket működthesse, az IFTTT -vel az volt, hogy otthoni és WEMO csatornáikon keresztül. Mindaddig, amíg az internetkapcsolatom jó volt, ez rendben működött, bár időnként kissé lassan. Nem pontosan egy 10 a WAF skálán.
2016 elején találkoztam egy olyan weboldalon, amelyet Peter Scargill vezette, aki sok évvel ezelőtt egy elektronikai tervező céget vezette a Tyneside -től. Abban az időben az APPCon vezetékes vezérlőit az otthoni automatizáláshoz használtam a kis 8 bites PIC mikrovezérlők alapján. Több száz méter 4 mag riasztási kábel futott az egész lakásomban. A rendszer megbízható volt, de megpróbálta elrejteni mindazt a kábelet abban az időben a partneremmel.
Gyorsan előre 2016 -ra, és Peter visszatért az otthoni automatizálással a kis ESP8266 alapú vezérlőkkel.
Ezek egy Cortex M4 magon alapulnak, beépített 802.11 WiFi -vel, és egy SDK -val érkeznek, amely lehetővé teszi az Eclipse fejlesztését, valamint az Arduino IDE opciót.
Mivel a Homepro egységeim zavaróak voltak, úgy döntöttem, hogy újraindítom a belső részeket és megtartom a mechanikus alkatrészeket. Tehát kivettem a régi PCB -t, és elvégeztem az összes mérést, hogy a saját 2 verem PCB -szerelvényt ugyanúgy készíthessem, mint a régi. Az alsó NYÁK a tápegység és a szilárdtest relé.
A szilárdtest -reléket választottam, amikor bekapcsolják a nulla kereszteződést, és elkerüljük az AC lehúzásával kapcsolatos problémákat, és az áramellátást okozza. Ez hibátlanul működik, és ezzel az elrendezéssel legfeljebb 8 amperre tudok váltani. Több mint elegendő e modulok tervezett használatához.
Ezek a képek az új tábla veremt és a modulon belüli régi táblákat és végül a Homepro házba telepített új táblákat mutatják be.
Van egy LED a táblán, hogy megmutassa az állapotot, és egy kis lyukat fúrtam, hogy ez kívülről láthassa. Gyorsan villog, amíg nem kap WiFi és MQTT kapcsolatot. Az elülső gomb segítségével nyomja meg, és kb. 3-5 másodpercig tartsa meg, közvetlenül a bekapcsolás után, és ez aktivál egy APN-t és weboldalt, amelyet az eszköz konfigurálásához használhat. Könnyebb, mint megpróbálni ezt megtenni a soros kapcsolaton keresztül. Peter és Aiden mindent megvizsgáltak ezzel.
Most a világítást rendezni kell. Az Everspring egységek, amelyeket néhány évvel ezelőtt vásároltam az Egyesült Királyságból, bosszantó hibát mutattak. Időnként elkezdtek kikapcsolni, majd újra vissza. Teljesen véletlenszerű volt. Az egyik egységet egy újra cseréltem, ugyanaz volt. Aztán egy nap észrevettem, hogy a be-/kikapcsolt hiba akkor fordul elő, amikor a lakás feszültsége 209Vac alá esett – Indonézia nem túl jó, ha a hálózati ellátás stabilitása van. Kinyitottam az egyik egységet, és megállapítottam, hogy nagyon olcsó tápegység kialakítását használják, a kondenzátor/ellenállás csepp típus alapján. Ezek akkor jók, ha stabil tápegységgel rendelkeznek, de valójában nem tetszik, ha a feszültségbemenet túl alacsony.
Tehát a Homepro egység kialakításával felfegyverkezve elkezdtem egy új PCB létrehozását, amely illeszkedik a meglévő házakhoz. Az ESP12 egyik oldalán, a másik oldalon az AC-DC teljesítményt helyezkedett el. A szilárdtest relé ugyanabban az oldalon volt, mint a tápegység. A prog and on/off button were also fitted so I could install the software initially. A webes felületet később konfigurálják. Az alábbiakban láthatja a NYÁK ESP oldalát. A PCB -ben lévő nyílás az AC teljesítmény elválasztásának növelése az alacsony feszültségű egyenáramú oldalról. The large pads are the AC in and AC out to the lamp.
So now I had a number of upgraded appliance modules and lighting controllers but how was I going to control all of this? It was time to retire my old Homeseer 2 system. The PC was noend of trouble and being Windows 10 it would decide it would update itself without my permission. Time to make the move to Linux.
So, based on the blog from Peter I decided to get out my Raspberry Pi3 with its 7″ LCD and fire up Node-Red. Node-Red for those who have no seen this is a very nice and stable drag and drop control software. At first it was daunting to setup but after about a week of playing I started to find that it was very easy to get to grips with. If you have any programming skills, then you will feel at home with the scripting. All the modules are provided as Java script source and there is a huge and ever increasing library for it on the Node-Red website.
Next I needed an MQTT broker as the software from Peter communicates using this protocol. once you have setup and used MQTT, you quickly realise how efficient it is on your network. There is no need to poll devices or even to know the devices IP address. The broker takes care of this. Those familiar with xAP will understand this.
Using Node-Red I setup various timers (thanks to Peter again for his BigTimer) and switch on the lights at night. using a Wemo plugin I now also had control of the Wemo Lamps albeit only on and off. The developer of the Node-Red plugin has promised dimming control at some point in time.
Ok, so I had Node-Red and MQTT setup but now I needed a way to control the lights and switches by both voice and some form of mechanical or touch interface. I ran across some wireless switches from Enocean on the Element14 website so I ordered a couple of them along with the Raspberry Pi Enocean module which plug into the GPIO pins on the Pi and uses the UART to communicate with Node-Red and a plugin.
The switches have a reward in that there is no battery to install or take care of. They use energy harvesting through a coil and magnet that is activated as you press the button. They sadly don’t come with any wall fixtures so you have to design your own. They do provide a toggle button STL file that you can get 3D printed so I used this and created my own mounting for them. This serves 2 purposes, one to cover the old switch on the wall ensuring it remains in the ON position so that the lamp modules are always on and secondly to locate the controls in a familiar location.
Using the Node-Red Enocean plug in I get a message payload with the button states. By parsing this in a Node-Red switch I can send the appropriate command to the light or switch etc. This is an example of the payload sent by the Enocean switch. It’s encoded in JSON format so easy to parse. The ID and V are what we are interested in.
{ “payload”: { “id”: “002d0932”, “v”: “A0 down”, “unit”: “”, “rssi”: -76, “type”: “state”, “EEP”: “f6-02-03”, “man”: “ENOCEAN_GMBH”, “Desc”: “Rocker switch”, “rV”: “30”, “rawByte”: “55000707017af630002d09323001ffffffff4c000d” }, “_msgid”: “3e6d4c8f.c192b4” }
The following image shows the switch which has 4 outputs based on the msg.payload.v value in the telegram from the Enocean switch. These are then directed to the appropriate device. I use the toggle feature within the MQTT firmware to switch the device on and off from the same switch. This means I have up to 4 switch states from each Enocean module.
Now the fun part begins because I have an Amazon Echo and I have always wanted to control my home with voice commands. You can blame SciFi for this
There is no direct Echo support, at least not without having an HTTPS connection to your Node-Red and that sadly is impossible with my ISP so I needed an alternative. using this Amazon Echo HABridge from running on the same Raspberry Pi3 I could not setup voice activate lights etc. The HABridge emulates a Philips hue API so the Echo sees the devices you setup. here is an example of a device which is called Front room Fan.
By uttering the following at the Echo, the fan can be turned on. “Alexa, turn on front room fan” or off by saying “Alexa, turn off front room fan”
The HABridge sends the commands to Node-Red via an HTTP request and I then parse the URL for the values. This is a simple script as shown below.
How to do this with low cost Modules
Having designed my own PCB’s to replace the modules I needed a way to add additional switch modules and light controllers.
My own home made units cost around US$15 to make with all the PCB’s and the parts together. So still low cost.
#
Előnézet
Termék
Értékelés
Ár
1
Jane Choi Raspberry Pi 4 B model B 8GB Starter kit (8GB RAM)-Motherboard 64GB SD Card, Cooling rajongó, …
121 vélemények
222,99 £
Vásároljon az Amazon -on
2
Raspberry PI 400 4 GB hivatalos induló készlet, Egyesült Királyság elrendezése
215 Vélemények
110,56 £
Vásároljon az Amazon -on
3
Freenove Ultimate Starter Kit a Raspberry Pi 4 B 3 B+ 400, 561 oldalas részletes oktatóanyagokhoz, Python C …
2,835 vélemény
42,95 £
Vásároljon az Amazon -on
Annak érdekében, hogy ez még alacsonyabb legyen, találkoztam az ITEAD stúdióval és az S20 intelligens kapcsolókkal. Ezek mindegyike körülbelül 12 USD az S20 moduloknál, és 8,50 USD a fényvezérlők számára, olyan jelentősebben, mint a piacon lévő Z-hullám modulok. Az ITEAD saját firmware -jével érkeznek, amelyet iOS vagy Android alkalmazásból vezérelnek, de szerettem volna használni a Peter kódját. Peter néhány kutatást végzett erről, és megállapította, hogy a kódjának kisebb változásaival az ITEAD egységekbe és a munkába programozható. Szüksége van egy USB -re az UART -ra, amelynek 3,3 V kimenetele van, de ez elég egyszerű, ha forrasztóvazat tudsz használni. Az egyetlen hátránya, hogy az ITEAD modulok 512KB -os vakuval érkeznek, és hogy Peter kódja OTA frissítéseket végezzen, ezt 8 MB -ra kell változtatnunk. A memória IC -k körülbelül 3 dollár körül vannak az eBay -en. Fegyverkezve egy forró levegő -átdolgozó állomással (kölcsön vesz egy barátot, ha nincs ilyen), a munka gyors, és nem kockáztatja a táblák károsodását. A következő kép a SOIC IC felső részét mutatja be, miután eltávolította a régi és az új felszerelést.
A NYÁK 4 lyukának egyetlen sorába kell forrasztani a fejlécet is. Ez hatalommal bír a táblára, és lehetővé teszi annak programozását az egyéni MQTT firmware segítségével. Van egy részletes blogom, hogyan kell ezt megtenni.
Az S20 modulok nagyon okosnak és modernnek tűnnek. A tápkapcsoló lehetővé teszi, hogy helyben be- és kikapcsolja. Az itt bemutatott euro aljzatok, de az itead hamarosan mind az Egyesült Államok, mind az Egyesült Királyság lehetőségeit kínálja.
A Slampher modulok az ES27 alapú lámpavezérlők, tehát jelenleg nem ideálisak az Egyesült Királyság számára, de nagyon jól működnek.
Tekintettel arra, hogy az Egyesült Királyságként kínálják a kapcsoló modulokat, arra számíthatnék, hogy hamarosan egy bajonett verzió jön létre. Valójában most a csavar típusát szeretem a könnyebb telepítés érdekében.
Ezeket könnyű megnyitni és módosítani, mint korábban, egy további lépéssel, kivéve a Flash IC cseréjét, vagyis egyetlen nulla ohm link FR mozgatása