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


In onze nieuwste mijn geautomatiseerde thuisfunctie, neemt Dave McLaughlin ons tijdens zijn reis die zijn eigen smart home-systeem ontwikkelt. Met enkele doe -het -zelf -upgrades naar bestaande hardware voor thuisautomatisering en wat slimme software -integratie heeft hij een fascinerend systeem gebouwd …

In het begin

Na Homeseer en een aantal bedrade en draadloze apparaten te hebben gebruikt terwijl ik in het Verenigd Koninkrijk overstapte naar draadloos toen ik naar het buitenland verhuisde naar Indonesië in 2005. Omdat ik in een gehuurd appartement woonde, heb ik een oplossing nodig die geen andere kabels nodig zou hebben dan misschien Ethernet in dezelfde kamer.

Ik beslis over een Z-Wave-systeem, later ook Wemo Lamp-modules toevoegen. Voor Z-Wave Side of Things koos ik de HomePro Appliance-modules voor sockets en Everspring Lamp-modules voor de verlichting. Geen van deze 2 modules was goedkoop.

Ik rende met deze opstelling tot het midden van 2016, maar de volgende problemen leidden tot een wijziging. Ten eerste was Z-wave temperamentvol met 2 eenheden aan het uiteinde van OU-appartement, hoewel ik een apparaatmodule halverwege had tussen deze gewoon nooit betrouwbaar werkte. Ik zou voortdurend op de op Touch gebaseerde tablet op de Homeseer hebben gedrukt om mijn bedlicht te laten afgaan. Later zou ik 2 eenheden hebben die gecontroleerde lampen opblazen en falen. Een van de IC’s die deel uitmaakte van de voeding was wijd open gesplitst.

De volgende hoofdpijn was de WEMO -lampmodules. De enige manier om deze te laten werken was met IFTTT via hun Homeseer- en Wemo -kanalen. Zolang mijn internetverbinding goed was, werkte dit goed, hoewel soms een beetje traag. Niet bepaald een 10 op de WAF -schaal.

Begin 2016 kwam ik een website tegen die werd gerund door Peter Scargill, die vele jaren geleden een elektronica -ontwerpbedrijf uit Tyneside runde. Op dat moment gebruikte ik zijn AppCon Wired -controllers voor thuisautomatisering op basis van de kleine 8 -bit PIC -microcontrollers. Ik had honderden meters van 4 kern alarmkabel over mijn appartement. Het systeem was betrouwbaar, maar het probeerde al die kabel te verbergen, ging op dat moment niet goed met mijn partner.

Snel vooruit naar 2016 en Peter was weer thuisautomatisering met de Little ESP8266 gebaseerde controllers.

Deze zijn gebaseerd op een cortex M4 -kern met ingebouwde 802.11 wifi en worden geleverd met een SDK die ontwikkeling met Eclipse mogelijk maakt en een Arduino IDE -optie.

Omdat mijn HomePro-eenheden lastig waren, besloot ik om de internals opnieuw te ontwerpen en de mechanische onderdelen te behouden. Dus haalde ik de oude printplaat eruit en deed alle metingen, zodat ik mijn eigen 2 -stapel PCB -assemblage kon maken in vrijwel hetzelfde als de oude. De lagere printplaat is de voeding en vaste statenrelais.

Ik koos voor de relais voor vaste toestand terwijl ze de nul kruising inschakelen en problemen vermijden met het naar beneden trekken van de AC en waardoor de voeding dipt. Dit werkt foutloos en ik kan met deze regeling maximaal 8 ampère schakelen. meer dan genoeg voor het beoogde gebruik van deze modules.

Deze afbeeldingen tonen de nieuwe bordstapel en de oude boards in de module en uiteindelijk de nieuwe boards die zijn geïnstalleerd in de HomePro -behuizing.

Er is een LED op het bord om de status te tonen en ik heb een klein gat geboord om dit van buitenaf te laten zien. Het knippert snel totdat het een WiFi- en MQTT -verbinding krijgt. Met de knop aan de voorkant kunt u dit ongeveer 3-5 seconden ingedrukt houden net na het opstarten en dit activeert een APN en webpagina die u kunt gebruiken om het apparaat te configureren. gemakkelijker dan proberen dit te doen via de seriële verbinding. Peter en Aiden hebben hier alles mee overwogen.

Nu moest de verlichting worden gesorteerd. De Everspring -eenheden die ik een paar jaar geleden in het VK had gekocht, vertoonden een irritante fout. Ze begonnen af ​​en toe uit te schakelen en vervolgens weer door. Het was volledig willekeurig. Ik heb één eenheid vervangen door een nieuwe en hetzelfde gebeurde. Toen zag ik op een dag dat de aan/uit -fout plaatsvond toen de spanning in het appartement onder 209VAC daalde – Indonesië is niet erg goed als het gaat om de stabiliteit van de voedingsvoorraad. Ik opende een van de eenheden en ontdekte dat ze een zeer goedkoop voedingontwerp gebruikten op basis van een condensator/weerstandsdruppeldype. Deze zijn goed als je een stabiele voeding hebt, maar ze vinden het echt niet leuk als de spanningsingang te laag is.

Dus gewapend met het ontwerp van de HomePro -eenheid, heb ik een nieuwe PCB gemaakt die past bij de bestaande behuizingen. De ESP12 bevond zich aan de ene kant en de AC-DC-kracht aan de andere. Het relais Solid State was ook aan dezelfde kant als de voeding. Een prog- en aan/uit -knop werden ook gemonteerd, zodat ik de software aanvankelijk kon installeren. De webinterface zou worden gebruikt om deze later te configureren. U kunt hieronder de ESP -kant van de printplaat zien. De slot in de PCB is om de scheiding van het AC -vermogen van de DC -zijde van de laagspanning te verhogen. De grote pads zijn de AC in en AC naar de lamp.

Dus nu had ik een aantal verbeterde apparaatmodules en verlichtingscontrollers, maar hoe ging ik dit allemaal beheersen? Het was tijd om mijn oude HomeSeer 2 -systeem met pensioen te gaan. De pc was neeEinde problemen en Windows 10 zijn, zou het besluiten dat het zichzelf zou updaten zonder mijn toestemming. Tijd om de overstap naar Linux te maken.

Dus, op basis van de blog van Peter, besloot ik om mijn Raspberry Pi3 uit te halen met zijn 7 ″ LCD en Fire Up Node-Red. Knooppunt voor degenen die niet hebben gezien, is een zeer mooie en stabiele software voor drag and drop-control. In eerste instantie was het ontmoedigend om op te stellen, maar na ongeveer een week spelen begon ik te ontdekken dat het heel gemakkelijk was om grip op te krijgen. Als je programmeervaardigheden hebt, zul je je thuis voelen bij de scripting. Alle modules worden verstrekt als Java-scriptbron en er is een enorme en steeds grotere bibliotheek voor op de knooppunt-rode website.

Vervolgens had ik een MQTT -makelaar nodig omdat de software van Peter communiceert met behulp van dit protocol. Nadat u MQTT hebt ingesteld en gebruikt, realiseert u zich snel hoe efficiënt het op uw netwerk staat. Het is niet nodig om apparaten of zelfs het IP -adres van de apparaten te kennen. De makelaar zorgt hiervoor. Degenen die bekend zijn met XAP zullen dit begrijpen.

Met behulp van knooppunt heb ik verschillende timers ingesteld (dankzij Peter opnieuw voor zijn Bigtimer) en schakel ik ‘s nachts de lichten in. Met behulp van een Wemo -plug -in had ik nu ook controle over de Wemo -lampen, zij het alleen aan en uit. De ontwikkelaar van de knooppunt-rode plug-in heeft op een bepaald moment de dimcontrole beloofd.

OK, dus ik had een knooppunt en MQTT-opstelling, maar nu had ik een manier nodig om de lichten en schakelaars te regelen door zowel stem als een vorm van mechanische of aanraakinterface. Ik kwam een ​​aantal draadloze schakelaars tegen van de ENOON op de Element14-website, dus ik bestelde er een paar samen met de Raspberry Pi Enocean-module die aansluiten op de GPIO-pinnen op de PI en gebruikt de UART om te communiceren met knooppuntrode en een plug-in.

De schakelaars hebben een voordeel dat er geen batterij is om te installeren of te verzorgen. Ze gebruiken energieopvang door een spoel en magneet die wordt geactiveerd terwijl u op de knop drukt. Ze komen helaas niet met muurarmaturen, dus je moet je eigen ontwerpen. Ze bieden wel een schakelknop STL -bestand dat u 3D kunt laten printen, dus ik heb dit gebruikt en heb mijn eigen montage voor hen gemaakt. Dit dient 2 doeleinden, een om de oude schakelaar op de muur te bedekken en ervoor te zorgen dat deze in de AAN -positie blijft, zodat de lampmodules altijd aan en ten tweede zijn om de bedieningselementen op een bekende locatie te vinden.

Met behulp van de Node-Red Enocean-plug-in krijg ik een berichtpayload met de knopstatussen. Door dit in een knooppuntrode schakelaar te parseren, kan ik de juiste opdracht naar het licht of schakelaar verzenden enz. Het is gecodeerd in het JSON -formaat dat zo gemakkelijk te parseren. De ID en V zijn waar we in geïnteresseerd zijn.

{“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” }

De volgende afbeelding toont de schakelaar die 4 uitgangen heeft op basis van de msg.payload.v -waarde in het telegram van de enocische schakelaar. Deze worden vervolgens naar het juiste apparaat geleid. Ik gebruik de schakelfunctie in de MQTT -firmware om het apparaat in en uit te schakelen vanuit dezelfde schakelaar. Dit betekent dat ik maximaal 4 schakelstaten van elke Aloaische module heb.

Nu begint het leuke deel omdat ik een Amazon Echo heb en ik heb altijd mijn huis willen besturen met spraakopdrachten. Je kunt hieruit de schuld geven

Er is geen directe echo-ondersteuning, althans niet zonder een HTTPS-verbinding met je knooppuntrode te hebben en dat is helaas onmogelijk met mijn ISP, dus ik had een alternatief nodig. Met behulp van deze Amazon Echo HaBridge van het draaien op dezelfde Raspberry Pi3 kon ik geen stemactiveren lichten enz. Hier is een voorbeeld van een apparaat dat frontroomventilator wordt genoemd.

Door het volgende uit te spreken bij de echo, kan de ventilator worden ingeschakeld. “Alexa, zet de voorkamersfan aan” of uit door te zeggen “Alexa, schakel de voorkamer fan uit”

De HaBridge stuurt de opdrachten naar knooppunt-rood via een HTTP-verzoek en ik parseer vervolgens de URL voor de waarden. Dit is een eenvoudig script zoals hieronder wordt getoond.

Hoe dit te doen met goedkope modules

Nadat ik mijn eigen PCB’s heb ontworpen om de modules te vervangen, had ik een manier nodig om extra schakelmodules en lichtcontrollers toe te voegen.

Mijn eigen huisgemaakte eenheden kosten rond US $ 15 om te maken met alle PCB’s en de onderdelen samen. Dus nog steeds lage kosten.

#
Voorbeeld
Product
Beoordeling
Prijs

1

Jane Choi Raspberry Pi 4 B Model B 8GB Starter Kit (8 GB RAM) -Motherboard 64 GB SD-kaart, koelingFan,…

121 beoordelingen

£ 222,99

Koop op Amazon

2

Raspberry Pi 400 4GB officiële start-up kit, UK-lay-out

215 beoordelingen

£ 110,56

Koop op Amazon

3

Freenove Ultimate Starter Kit voor Raspberry Pi 4 B 3 B+ 400, 561 pagina’s tellende gedetailleerde tutorials, Python C …

2.835 beoordelingen

£ 42,95

Koop op Amazon

Om dit nog lager te krijgen, kwam ik de Itead Studio Slampher en de S20 Smart Switches tegen. Dit zijn ongeveer US $ 12 elk voor de S20-modules en $ 8,50 voor de lichtcontrollers, dus aanzienlijk minder dan een van de Z-golfmodules op de markt. Ze worden geleverd met de eigen firmware van Itead die wordt bestuurd vanuit een iOS- of Android -app, maar ik wilde de code van Peter kunnen gebruiken. Peter had hier wat onderzoek naar gedaan en ontdekte dat het met kleine wijzigingen in zijn code zou programmeren in de ITEAD -eenheden en werk. U hebt een USB nodig om dit te doen met 3.3V -uitgang, maar dit is eenvoudig genoeg als u een soldeerbout kunt hanteren. Het enige nadeel is dat de ITEEAD -modules worden geleverd met een 512KB -flits en om de code van Peter in staat te stellen OTA -updates te doen, moeten we dit wijzigen in 8 MB. De geheugen IC’s zijn ongeveer $ 3 voor 5 op eBay. Gewapend met een Hot Air Rework Station (leen een vrienden als je er geen hebt), is de baan snel en riskeert het geen schade aan de boards. De volgende afbeelding toont de soic ic linksboven na het verwijderen van de oude en de nieuwe gemonteerd.

U moet ook solderen op een koptekst naar de enkele rij van 4 gaten op de PCB. Dit past stroom op het bord en stelt u in staat om het te programmeren met de aangepaste MQTT -firmware. Ik heb een gedetailleerd blog over hoe dit te doen.

De S20 -modules zien er erg slim en modern uit. Met de Power Switch kunt u deze lokaal in- en uitschakelen. Degenen die hier worden getoond, zijn Euro -sockets, maar ITEAD zal binnenkort zowel de VS als de Britse opties aanbieden.

De Slampher -modules zijn op ES27 gebaseerde lampcontrollers, dus momenteel niet ideaal voor het VK, maar ze werken heel goed.

Gezien het feit dat ze de Switch -modules aanbieden als VK, zou ik verwachten dat er binnenkort een bajonet -versie kan komen. Ik geef nu de voorkeur aan het schroeftype nu voor eenvoudiger installatie.

Deze zijn eenvoudig te openen en te wijzigen zoals voorheen met één extra stap anders dan de vervanging van de flash ic en dat is om een ​​enkele nul ohm -link fr te verplaatsen

Leave a Reply

Your email address will not be published. Required fields are marked *