Een slimme stekker hacken
Een Stekker van de Action opnieuw programmeren met ESP-EASY.
Bij de Action, een keten van winkels die vooral uitblinken in de verkoop van goedkope Chinese dingetjes, verkopen ze sinds een tijdje allerlei spullen die het kenmerk ‘Smart’ hebben.
Deze spullen zijn goedkoop en handig, maar ze hebben één groot nadeel: ze ’telefoneren’ allemaal naar China, via het Tuya-platform, om aan te geven dat jij het licht aandoet of je stekker inschakelt. En aangezien ik daar niet van houd en ik bovendien mijn domotica liever zelf beheer, besloot ik te proberen of ik zo’n goedkope stekker van ESP-Easy kon voorzien.
Mensen die mijn eerdere blogs hebben gelezen weten dat ik graag werk met een ESP8266 en dat ik die sensors koppel aan Domoticz. Het is overigens ook een hele kleine moeite om die sensors te koppelen aan Home Assistant, een ander domotica-platform, dat ook heel veel wordt gebruikt.
Nou wil het dat de genoemde stekkers een versie van de ESP8266 bevatten, die met wat goede wil te programmeren is door er een paar draadjes aan te solderen. Ik ga laten zien hoe dat moet, maar je dient dus te beschikken over een soldeerbout met een fijne punt en niet bang te zijn voor wat simpel soldeerwerk. En, o ja, een vaste hand is ook wel makkelijk. Daarnaast hebben we iets nodig om de ESP mee te programmeren, zoals deze.
Openmaken van de stekker
De stekker gaat wat moeilijk open. Maak de 2 schroefjes aan de achterzijde los en steek een schroevendraaier tussen de twee stekkerdelen. Wip hiermee de twee delen los van elkaar.
De ESP8266 is het lichtgroene vierkantje dat recht op de hoofdprint staat. De te solderen contactpunten bevinden zich onder de hoofdprint. De ruimte daar is erg krap, dus het is verstandig om hier voorzichtig een schroevendraaier of iets dergelijks tussen te zetten. De puntjes die we moeten solderen zijn op de print gemarkeerd als 3V3, GND, RX en TX.
Solderen van de stekker
De foto hierboven is nogal onduidelijk helaas, maar daarop zie je het stukje van de ESP8266 dat onder de hoofdprint uitkomt. Soldeer nu 4 draadjes op de genoemde punten. Als je dit voorzichtig doet, dan is het met een fijne soldeerbout best te doen.
Als de draadjes zitten is het ergste voorbij. Er moet nu nog een draad worden gesoldeerd tussen twee punten op het bovenste gedeelte van de print, om de ESP8266 straks in programmeermodus te zetten. Soldeer daartoe een draad tussen GND aan de rechterkant en IO0 links van het midden.
Programmeren van de stekker
Het is nu tijd om de ESP-programmer aan te sluiten. Hier zijn diverse oplossingen voor, ik prefereer een eenvoudige CH340G Serial converter, die een USB poort omzet naar een 6pins TTL verbinding. In Nederland bijvoorbeeld snel hier te bestellen, of bij AliExpress voor heel weinig. BELANGRIJK: de ESP8266 heeft 3,3 volt nodig. Zorg ervoor dat de programmer op het juiste voltage staat. De meeste zijn om te schakelen tussen 3,3 volt en 5 volt.
Sluit de 3V3 van de ESP aan op VCC van de programmer, GND aan GND, de RX van de ESP aan de TXD van de programmer en de TX van de ESP aan de RXD van de programmer. Sluit de programmer nu aan op je computer.
In een van mijn eerdere blogs staat beschreven waar je de ESP Easy software kunt vinden en hoe je die moet programmeren. BELANGRIJK: Wanneer het flashen is gelukt, haal je de ESP8266 los van de programmer en verwijder je de extra draad tussen IO0 en GND. Doe dit direct na het flashen, voordat je de ESP gaat proberen!
Om er nu zeker van te zijn dat alles is gelukt sluit je de ESP weer aan via de programmer op de computer. Omdat de draad is losgesoldeerd dient deze verbinding nu alleen nog om de ESP van stroom te voorzien. Ga nu verder met hetgeen in de andere blog staat beschreven en koppel de ESP aan je Wifi-netwerk.
Is alles goed verlopen dan kan je nu de stekker losmaken van de programmer, de draadjes desolderen en de stekker weer in elkaar zetten. Als je hem daarna in het stopcontact steekt, dan moet ESP Easy weer te vinden zijn.
Bedienen van de stekker
Koppel ESP Easy aan Domoticz, zoals eerder beschreven aan het begin deze blog onder het kopje ‘koppelen aan Domoticz’. Maak ook in Domoticz dummy hardware aan zoals daar wordt beschreven. Stel nu in de stekker 2 schakelaars in in het onderdeel Devices:
Vink daarna Rules aan onder Tools / Advanced:
En voer dan bij Rules de volgende regels in en druk op Save:
on Knop#State do
if [Knop#State] = 1
gpio,12,1
gpio,4,0
else
gpio,12,0
gpio,4,1
endon
on Relais#State do
if [Relais#State] = 1
gpio,4,0
else
gpio,4,1
endon
Zoek de schakelaar nu op in Domoticz en kies aanpassen. Onderstaand scherm verschijnt:
Wat we nu moeten toevoegen zijn de commando’s die Domoticz moet versturen naar de stekker via de wifi. Je hebt hiervoor het wifi-adres nodig dat wordt gebruikt door de stekker. In mijn geval is dat 10.10.10.180. Stel dan in bij Aan actie
http://10.10.10.180/control?cmd=GPIO,12,1
en bij Uit actie
http://10.10.10.180/control?cmd=GPIO,12,0
en sla dit op met de knop Opslaan.
Wanneer je nu in Domoticz de schakelaar bedient zal deze ook in het echt worden bediend. Andersom zal de status van de schakelaar in Domoticz worden weergegeven wanneer je hem met de hand bedient.