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

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…

In het begin

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 wAls tijd om mijn oude Homeseer 2 -systeem met pensioen te gaan. De pc was geen einde aan problemen en als Windows 10 zou het besluiten dat het zichzelf zou updaten zonder mijn toestemming. Tijd om de stap naar Linux te maken.

Dus, op basis van de blog van Peter, heb ik een beslissing genomen om mijn Raspberry PI3 eruit te halen met zijn 7 ″ LCD en Fire Up Node-Red. Knooppunt voor degenen die niet hebben gezien, is een zeer geweldige 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 geleverd als Java-scriptbron en er is een substantiële en altijd boostbibliotheek voor op de Node-Red-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 kocht 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 beloning in die zin 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 leveren 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 geeft aan dat ik maximaal 4 schakelstatus van elke enOcean -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 door middel van een HTTP-verzoek en ik parseer vervolgens de URL voor de waarden. Dit is een basisscript zoals hieronder wordt getoond.

Hoe dit te doen met goedkope modules

Nadat ik mijn eigen PCB’s heb gemaakt 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 RaspberryPI 4 B Model B 8GB Starter Kit (8 GB RAM) -motherboard 64 GB SD-kaart, koelventilator, …

121 beoordelingen

£ 222,99

Ga op Amazon

2

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

215 beoordelingen

£ 110,56

Ga op Amazon

3

Freenove de grootste startkit voor Raspberry Pi 4 B 3 B+ 400, 561 pagina’s tellende diepgaande tutorials, Python C …

2.835 beoordelingen

£ 42,95

Ga 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 -uitvoer, 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 -herwerkstation (leen een vrienden als je er geen hebt), is de klus 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 op maat gemaakte MQTT-firmware. Ik heb een diepgaand 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 optimaal voor het VK, maar ze werken erg goed.

Gezien het feit dat ze de Switch -modules als VK gebruiken, zou ik verwachten dat er binnenkort een bajonetversie kan komen. Ik hou nu eigenlijk van het schroeftype voor een veel gemakkelijkere 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 stappen

Leave a Reply

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