Uncategorized

My Automated Home: Raspberry Pi + Node-Red + MQTT & Amazon Echo

In our most current My Automated home feature, Dave McLaughlin takes us through his journey developing his own smart home system. With some DIY upgrades to existing home automation hardware and some clever software integration he’s built a fascinating system…

Na začiatku

Having used Homeseer and a number of wired and wireless devices whilst in the UK, I switched to wireless when I moved overseas to Indonesia in 2005. As I was living in a rented apartment or condo I need a option that would not require any cords other than maybe Ethernet in the same room.

I decide on a Z-Wave system, later adding Wemo Lamp modules too. For Z-Wave side of things I chose the HomePro Appliance modules for sockets and Everspring Lamp modules for the lighting. Neither of these 2 modules were cheap.

I ran with this setup until the middle of 2016, but the following issues prompted a change. Firstly Z-Wave was temperamental with 2 units at the far end of ou apartment, even though I had an Appliance Module half way between it just never worked reliably. I would have continually press OFF on the Homeseer Touch based tablet to get my bed light to go off. later I would have 2 units that controlled lamps blow up and fail. one of the IC’s that was part of the power supply had split large open.

The next headache was the Wemo lamp modules. The only way to get these to work was with IFTTT through their Homeseer and Wemo channels. As long as my internet connection was good this worked ok, albeit a bit slow at times. Not exactly a 10 on the WAF scale.

In early 2016 I came across a web site run by Peter Scargill who used to run an electronics design company lots of years ago from Tyneside. at that time I used his AppCON wired controllers for home automation based on the little 8 bit photo microcontrollers. I had hundreds of meters of 4 core alarm cord run all over my apartment. The system was reputable but trying to hide all that cord didn’t go down well with my partner at the time.

Fast forward to 2016 and Peter was back doing home automation with the little ESP8266 based controllers.

These are based on a Cortex M4 core with built in 802.11 WiFi and come with an SDK that allows development with Eclipse as well as an Arduino IDE option.

As my HomePro units were troublesome I made a decision to re-engineer the internals and keep the mechanical parts. So I took out the old PCB and did all the measurements so I could make my own 2 stack PCB assembly in much the same as the old one. The lower PCB is the POWER supply and solid state RELAY.

I chose the solid state relays as they switch on the zero crossing and avoid any issues with pulling down the AC and causing the power supply to dip. This works faultlessly and I can switch up to 8 AMPS with this arrangement. a lot more than enough for the intended use of these modules.

These images show the new board stack and the old boards within the module and finally the new boards installed into the HomePro enclosure.

There is an LED on the board to show status and I drilled a small hole to allow this to be seen from the outside. It flashes rapidly until it gets a WiFi and MQTT connection. using the button on the front you can press and hold this for around 3-5 seconds just after power up and this will activate an APN and web page that you can use to configure the device. much easier than trying to do this over the serial connection. Peter and Aiden have considered everything with this.

Now the lighting needed to be sorted. The Everspring units that I had purchased from the UK a couple of years ago used to show an bothersome fault. They would on occasion started to switch off and then back on again. It was completely random. I replaced one unit with a new one and the same thing happened. then one day I identified that the on/off fault was occurring when the voltage in the apartment or condo was dropping below 209Vac – Indonesia is not very good when it pertains to stability of the mains supply. I opened one of the units and found that they used a very low-cost power supply design based on a capacitor/resistor dropper type. These are good when you have a stable power supply but they really don’t like it when the voltage input is too low.

So armed with the HomePro unit design, I set about creating a new PCB to fit the existing enclosures. The ESP12 was located on one side and the AC-DC power on the other. The solid state relay was also on the same side as the power supply. A prog and on/off button were also fitted so I could install the software initially. The web interface would be used to configure it later. You can see the ESP side of the PCB below. The slot in the PCB is to increase the separation of the AC power from the low voltage DC side. 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 wAko čas odísť do dôchodku môj starý systém Homeseer 2. PC nebol koniec problémov a Windows 10 sa rozhodol, že sa bez môjho súhlasu aktualizuje. Je čas urobiť krok na Linux.

Takže na základe blogu od Petra som sa rozhodol vystúpiť z môjho Raspberry Pi3 so svojimi 7 ″ LCD a vystreliť uzol-červený. Uzoly-červené pre tých, ktorí nevideli, je to veľmi skvelý a stabilný softvér na riadenie drag and drop. Spočiatku bolo skľučujúce nastavenie, ale asi po týždni hry som začal zistiť, že bolo veľmi ľahké sa s ňou vyrovnať. Ak máte akékoľvek programovacie schopnosti, budete sa cítiť ako doma so skriptovaním. Všetky moduly sú dodávané ako zdroj skriptu Java a na webovej stránke uzlov-červených sú značné a stále zvyšujúce knižnicu.

Ďalej som potreboval makléra MQTT, pretože softvér od spoločnosti Peter komunikuje pomocou tohto protokolu. Po nastavení a použití MQTT si rýchlo uvedomíte, ako efektívne je vo vašej sieti. Nie je potrebné anketovať zariadenia alebo dokonca poznať IP adresu zariadení. Broker sa o to postará. Tí, ktorí sú oboznámení s XAP, to pochopia.

Pomocou uzlov-červeného nastavujem rôzne časovače (opäť vďaka Petrovi za jeho bigtimer) a v noci zapnite svetlá. Použitím doplnku WEMO som teraz mal tiež kontrolu nad svetlá Wemo, aj keď iba zapínanie a vypínanie. Vývojár doplnku uzlov-červená sľuboval kontrolu stmievania v určitom okamihu.

Dobre, takže som mal nastavenie uzlov a MQTT, ale teraz som potreboval spôsob, ako ovládať svetlá a spínače hlasom a nejakou formou mechanického alebo dotykového rozhrania. Prešiel som cez niektoré bezdrôtové prepínačy z Enocean na webovej stránke Element14, takže som ich kúpil spolu s modulom Raspberry Pi Enocean, ktorý sa pripája k kolíkom GPIO na PI a používa UART na komunikáciu s uzlom-červeným a doplnkom a doplnkom.

Prepínače majú odmenu v tom, že nie je na inštaláciu alebo o ňu žiadna batéria. Používajú zber energie cez cievku a magnet, ktorý je aktivovaný pri stlačení tlačidla. Bohužiaľ neprichádzajú so žiadnymi príslušenstvami na stenu, takže musíte navrhnúť svoje vlastné. Dodávajú prepínací súbor STL Button STL, ktorý môžete získať 3D vytlačený, takže som ho použil a vytvoril si pre ne svoju vlastnú montáž. To slúži na 2 účely, jeden na zakrytie starého spínača na stene, ktorý zaisťuje, že zostane v polohe, takže moduly žiarovky sú vždy zapnuté a po druhé, aby sa ovládacie prvky lokalizovali na známom mieste.

Pomocou zástrčky ENOCEAN UNDE-RED INECEAN ZÍSKAJEM Užitočné zaťaženie správy so stavmi tlačidiel. Týmto analyzovaním tohto prepínača v uzlovom red môžem poslať správny príkaz na svetlo alebo prepínač atď. Toto je príklad užitočného zaťaženia odoslaného spínačom Enocean. Je kódovaný vo formáte JSON tak ľahko analyzovať. ID a V sú to, čo nás zaujíma.

{“PayLoad”: {“id”: “002d0932”, “v”: “A0 Down”, “Unit”: “”, “RSSI”: -76, “Typ”: “State”, “EEP”: ” F6-02-03 “,„ Man “:„ ENOCEAN_GMBH “,„ DESC “:„ ROCKER SWITCH “,„ RV “:„ 30 “,„ RAWBYTE “:„ 55000707017AF630002D09323001FFFFFFF4C4C „}“, „_MSGID“: „3E6D4C8F.C192B4“ }

Nasledujúci obrázok zobrazuje prepínač, ktorý má 4 výstupy založené na hodnote MSG.PayLoad.v v telegrame od spínača Enocean. Tieto sú potom nasmerované na správne zariadenie. Funkciu prepínača vo firmvéri MQTT používam na zapnutie a vypnutie zariadenia z toho istého prepínača. To naznačuje, že z každého modulu Enocean mám až 4 spínače.

Teraz sa začína zábavná časť, pretože mám Amazon Echo a vždy som chcel ovládať svoj domov hlasovými príkazmi. Za to môžete viniť scifi

Neexistuje žiadna priama podpora ozveny, aspoň nie bez toho, aby som mala pripojenie HTTPS s vaším uzlom-červeným, a to bohužiaľ nie je možné s mojím poskytovateľom internetových služieb, takže som potreboval alternatívu. Pomocou tohto Amazon Echo Habridge z behu na rovnakom Raspberry Pi3 som nemohol nastaviť hlasové aktivácie svetlá atď. Habridge emuluje farebné rozhranie Philips, takže ozvena vidí zariadenia, ktoré nastavíte. Tu je príklad zariadenia, ktoré sa nazýva ventilátor prednej miestnosti.

Tým, že v Echo vyslovuje nasledujúce, môže byť fanúšik zapnutý. „Alexa, zapnite ventilátor prednej miestnosti“ alebo vypnite tým, že poviete „Alexa, vypnite ventilátor prednej miestnosti“

Habridge odošle príkazy na uzol-červené pomocou požiadavky HTTP a potom analyzujem adresu URL pre hodnoty. Toto je základný skript, ako je uvedené nižšie.

Ako to urobiť s nízkymi nákladmi modulov

Po vytvorení vlastných PCB na nahradenie modulov som potreboval spôsob, ako pridať ďalšie prepínacie moduly a radiče svetla.

Moje vlastné domáce jednotky stoja okolo nás 15 dolárov na výrobu všetkých PCB a častí spolu. Takže stále nízke náklady.

#
Náhľad
Produkt
Hodnotenie
cena

1

Raspberry Jane ChoiPI 4 B Model B 8GB Štartovacia súprava (8 GB RAM) -Motherboard 64 GB SD karta, chladiaci ventilátor, …

121 recenzií

222,99 GBP

dostať sa na Amazon

2

Raspberry Pi 400 4 GB Oficiálna začínajúca súprava, UK Layout

215 recenzií

110,56 GBP

dostať sa na Amazon

3

Freenove maximálna štartovacia súprava pre Raspberry Pi 4 B 3 B+ 400, 561-stranové hĺbkové návody, Python C …

2 835 recenzií

42,95 GBP

dostať sa na Amazon

Aby som sa to ešte dostal, narazil som na štúdio ITEAD Studio Slampher a S20 Smart Switches. Je to okolo 12 USD pre moduly S20 a 8,50 USD pre radiče svetla, ktoré sú značné menej ako ktorýkoľvek z modulov Z-vlny na trhu. Prichádzajú s vlastným firmvérom iTead, ktorý je ovládaný z aplikácie pre iOS alebo Android, ale chcel som byť schopný použiť Peterov kód. Peter robil nejaký výskum a zistil, že s menšími zmenami v jeho kódexe by programoval do jednotiek ITEAD a fungoval. Potrebujete USB na UART s výstupom 3,3 V, ale je to dosť základné, ak môžete ovládať spájkovaciu železo. Jedinou nevýhodou je, že moduly ITEAD prichádzajú s 512 kB blesku a aby sa Peterovým kódom uskutočňoval aktualizácie OTA, musíme to zmeniť na 8 MB. Pamäťové IC sú okolo 3 dolárov za 5 na eBay. Vyzbrojená stanicou prepracovania horúcej vzduchu (požičiavate si kamarátov, ak ju nemáte), práca je rýchla a neriskuje poškodenie dosiek. Nasledujúci obrázok zobrazuje ľavú hornú časť ic po odstránení starého a nového nasadeného.

Musíte tiež spájať hlavičku do jedného riadku 4 jamiek na doske DPS. Platí to napájanie na dosku a umožňuje vám ju naprogramovať pomocou firmvéru MQTT na mieru. Mám hĺbkový blog o tom, ako to urobiť.

Moduly S20 vyzerajú veľmi inteligentne a moderne. Spínač napájania vám umožňuje lokálne zapnúť a vypnúť. Tu sú uvedené zásuvky Euro, ale ITEAD ponúkne možnosti USA aj Spojeného kráľovstva čoskoro.

Moduly Slampher sú regulátormi LAMP založených na ES27, takže v súčasnosti nie sú optimálne pre Spojené kráľovstvo, ale fungujú veľmi dobre.

Vzhľadom na to, že používajú moduly Switch, ako UK, očakával by som, že verzia bajonet môže prísť čoskoro. Vlastne sa mi teraz páči typ skrutky pre oveľa ľahšiu inštaláciu.

Tieto sa dajú ľahko otvoriť a upravovať ako predtým s jedným ďalším krokom iným, ako je výmena flash ic, a to je krok s jedným nulovým ohmovým odkazom FR