Innehållsförteckning:

Hardware and Software Hack Smart Devices, Tuya and Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 Steg
Hardware and Software Hack Smart Devices, Tuya and Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 Steg

Video: Hardware and Software Hack Smart Devices, Tuya and Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 Steg

Video: Hardware and Software Hack Smart Devices, Tuya and Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 Steg
Video: Ultimate Smart Automation Tuya / Smart Life Tips + Tricks 2024, November
Anonim
Hardware and Software Hack Smart Devices, Tuya and Broadlink LEDbulb, Sonoff, BSD33 Smart Plug
Hardware and Software Hack Smart Devices, Tuya and Broadlink LEDbulb, Sonoff, BSD33 Smart Plug

I denna instruktionsbok visar jag dig hur jag blinkade flera smarta enheter med min egen firmware, så att jag kan styra dem med MQTT via min Openhab -installation.

Jag lägger till nya enheter när jag hackade dem.

Naturligtvis finns det andra mjukvarubaserade metoder för att blinka anpassad firmware, som Tuya convert, men jag gillar att förstå hur enheten fungerar och vad som är 'under huven'.

Koden skrivs och blinkas med Arduino IDE.

Jag styr mina enheter via Openhab och Google Home (via Openhab). Om du vill veta mer eller behöver.items -filen osv, meddela mig i kommentarerna.

Säkerheten först

Var försiktig eftersom vi arbetar med nätspänningsdrivna enheter. Koppla bort enheterna från strömförsörjningen innan du arbetar med dem.

Jag har några tvivel om enheten är säker efter ändringen, släng den.

Tillbehör

För de flesta hack behöver du en FDTI -programmerare ansluten till en dator som kör Arduino IDE, några bygelkablar, ett lödkolv, några motstånd och ESP8266- eller ESP8285 -moduler.

Steg 1: Tuya LED RGBW smart lampa

Tuya LED RGBW smart lampa
Tuya LED RGBW smart lampa
Tuya LED RGBW smart lampa
Tuya LED RGBW smart lampa
Tuya LED RGBW smart lampa
Tuya LED RGBW smart lampa

Intro

Jag köpte denna lampa från Aliexpress. Det fungerar bra med appen Smart Life, men jag ville styra det via MQTT från Openhab. Jag har redan gjort min egen Sonoff B1 -firmware, så jag försökte blinka den här lampan med den fasta programvaran.

Blinkar

Du öppnar lampan genom att försiktigt ta bort plastlocket, för hand med våld eller genom att en skruvmejsel vrids mellan metallen och plasten. Du kan se det nakna ESP8266 -chipet.

De nödvändiga anslutningarna exponeras via små kuddar på kretskortet (3v3, GND, RX, TX och IO0 (GPIO0))

Jag satte först lite löd på kuddarna och lödde till trådarna och lödde sedan ihop dem. Jag använde en tiewrap och lite hett lim för att fästa trådarna på lampan.

GPIO0 behövs för att sätta ESP8266 i programläge. Anslut den till marken när du driver ESP8266. Du kan slå på och blinka ESP8266 med en FTDI -programmerare.

Firmware

Firmware är baserad på min Sonoff B1 -firmware, men är modifierad, eftersom Sonoff B1 använder MY9231 LED -drivrutiner som drivs av ESP8285 -chipet och i denna Tuya Smart -lampa drivs de 4 kanalerna (RGBW) av mosfeter som byts direkt av PWM -signaler från ESP8266.

Den gröna kanalen är ansluten till GPIO12, röd till GPIO14, blå till GPIO13 och den vita kanalen är ansluten till GPIO4. I koden ser du det som: #define GREENPIN 12 #define REDPIN 14 #define BLUEPIN 13 #define WHITEPIN 4.

Den fullständiga koden finns på min Github.

Steg 2: Generiska varmvita LED -lampor - del 1

Generiska varmvita LED -lampor - del 1
Generiska varmvita LED -lampor - del 1
Generiska varmvita LED -lampor - del 1
Generiska varmvita LED -lampor - del 1
Generiska varmvita LED -lampor - del 1
Generiska varmvita LED -lampor - del 1

Intro

Jag köpte dessa LED -lampor från Aliexpress Blue/white box och black box. De ska styras via appen Magic home smart home och Techlife pro -appen. Jag testade inte dessa appar, eftersom jag ville styra LED -lamporna via MQTT från Openhab. Eftersom jag redan hade firmware för RGBW -lamporna använde jag det med inte fyra (RGBW) kanaler, utan bara en kanal.

Blinkar

Du öppnar lampan genom att försiktigt ta bort plastlocket. Jag fick reda på att locket var lite limmat på metallen, så jag behövde kraft från en skruvmejsel mellan metallen och plasten.

Jag förväntade mig att se ett ESP8266- eller ESP8285 -chip, men det var en Broadlink -modul. Modulen såg ungefär ut som en ESP12 -modul, men jag fick reda på att pinout var helt annorlunda. Från att ta bort metallkåpan fick jag reda på att det var ett RDA 5981AM -chip.

Min lösning för att ersätta detta chip med en ESP visas i nästa steg.

Steg 3: Generiska varmvita LED -lampor - del 2

Generiska varmvita LED -lampor - del 2
Generiska varmvita LED -lampor - del 2
Generiska varmvita LED -lampor - del 2
Generiska varmvita LED -lampor - del 2
Generiska varmvita LED -lampor - del 2
Generiska varmvita LED -lampor - del 2
Generiska varmvita LED -lampor - del 2
Generiska varmvita LED -lampor - del 2

Modulerna är anslutna till lampans bas via 3 stift, se första bilden:

  • 3V3 (3.3V)
  • GND (mark)
  • PWM (pulsbreddsmodulering)

PWM -stiftet används för att ställa in lampans ljusstyrka via en PWM -signal, som kan variera från 0 (lampan är släckt) till 100 (lampan är helt på) och varje värde däremellan. Se denna webbplats för mer information om PWM -signaler.

Eftersom ESP8266- och ESP8285 -moduler körs på 3.3V och enkelt kan generera en PWM -signal, ändrade jag Broadlink -modulerna till ESP8266- eller ESP8285 -moduler som jag hade.

Modulerna ESP-01S (ESP8266) blinkar via en separat programmerare, se steg 3 i denna instruktionsbok. Jag lödde kvinnliga huvudstiften till lampan med ett uppdragningsmotstånd mellan 3V3 och EN (aktivera). Detta var mitt första experiment, senare bytte jag till ESP8285 -modulerna.

Modulerna ESP-M1, ESP-M3 och ESP-01F (ESP8285) blinkar med lödkablar till de anslutningar som behövs (3V3, GND, RX, TX och GPIO0 (se steg 1, blinkning av Tuya smart lampa). I lödde ett uppdragningsmotstånd mellan 3V3 och EN (aktivera).

Med ESP-M3-modulen använder jag GPIO4 för att generera PWM-signalen. Först använde jag GPIO2, men när LED-lampan är av resulterar den låga GPIO2 i belysningen av den inbyggda lysdioden, vilket ger en oönskad blå glöd i LED-lampan.

Lägg till lite kaptontejp för att förbättra isoleringen mellan modulen och lampans basanslutningar.

Edit: Jag fick reda på att ESP-01F-modulen inte har startat på ett tillförlitligt sätt, troligen på grund av instabilitet vid uppstart. Jag löste detta genom att lägga till en 10 uF tantalkondensator mellan GND och VCC. Anmärkningsvärt fungerade en keramisk 10 uF kondensator inte.

Steg 4: Generiska varmvita LED -lampor - del 3

Generiska varmvita LED -lampor - Del 3
Generiska varmvita LED -lampor - Del 3

Firmware

Koden finns på min Github.

Firmware innehåller ett webbgränssnitt för att styra LED -lampan och har också ett alternativ för att uppdatera firmware -OTA via Webupdate

Steg 5: Sonoff eller BSD33 Smart Plug - Del 1

Sonoff eller BSD33 Smart Plug - Del 1
Sonoff eller BSD33 Smart Plug - Del 1
Sonoff eller BSD33 Smart Plug - Del 1
Sonoff eller BSD33 Smart Plug - Del 1
Sonoff eller BSD33 Smart Plug - Del 1
Sonoff eller BSD33 Smart Plug - Del 1
Sonoff eller BSD33 Smart Plug - Del 1
Sonoff eller BSD33 Smart Plug - Del 1

Intro

Jag köpte denna WiFi smart plug från Aliexpress. Det fungerar bra med appen Smart Life, men jag ville styra det via MQTT från Openhab. Jag har redan gjort min egen Sonoff -firmware för smarta kontakter och uttag, så jag försökte blinka den här lampan med den fasta programvaran.

Jag använde också denna firmware för att blinka mina Sonof S20 och Sonoff S26 smarta kontakter och Sonoff basic och Sonoff Basic R3 smart switchar. Hur man öppnar och hårdvarukopplar Sonoff -enheter för blinkande beskrivs för Tasmota på tasmotas wiki, därför beskrivs detta inte här.

Öppnar uttaget

Den smarta kontakten limmas ihop. För att öppna den sätter du en skruvmejsel i utskärningen på jorden och applicerar lite kraft genom att använda den andra sidan av uttaget som en svängpunkt (ledtråd från netpokin detta ämne). På så sätt borde du kunna krossa det utan att skada uttaget.

På bilderna ser du insidan av kontakten. Den består av ett huvudkort med reläet ett mindre kretskort på vilket ESP8266 -kretsen och minnet är monterat. Brädorna är anslutna via tillgängliga lödanslutningar.

Steg 6: Sonoff eller BSD33 Smart Plug - Del 2

Sonoff eller BSD33 Smart Plug - Del 2
Sonoff eller BSD33 Smart Plug - Del 2
Sonoff eller BSD33 Smart Plug - Del 2
Sonoff eller BSD33 Smart Plug - Del 2
Sonoff eller BSD33 Smart Plug - Del 2
Sonoff eller BSD33 Smart Plug - Del 2
Sonoff eller BSD33 Smart Plug - Del 2
Sonoff eller BSD33 Smart Plug - Del 2

Blinkar

Jag omvandlade lödanslutningarna. Se bilden för beskrivning av anslutningarna. Jag fick reda på att:

  • GPIO2 är ansluten till lysdioden (i kontakten).
  • GPIO13 är ansluten till själva knappen.
  • GPIO15 är ansluten till mosfet som byter huvudrelä.

Du kan slå på och blinka ESP8266 med en FTDI -programmerare. Anslut honpontkablar till följande anslutningar: (VCC (3.3V), GND, RX, TX och GPIO0)

GPIO0 behövs för att sätta ESP8266 i programläge. Anslut den till marken när du driver ESP8266.

På min FTDI -programmerare lade jag till en 470uF kondensator mellan jord och VCC. I ett annat projekt fick jag reda på att detta ökade stabiliteten.

FTDI -programmeraren har några andra oanvända GND- och VCC -stift, du kan använda dem för att ansluta GPIO0 till GND.

Steg 7: Sonoff eller BSD33 Smart Plug - Del 3

Sonoff eller BSD33 Smart Plug - Del 3
Sonoff eller BSD33 Smart Plug - Del 3
Sonoff eller BSD33 Smart Plug - Del 3
Sonoff eller BSD33 Smart Plug - Del 3
Sonoff eller BSD33 Smart Plug - Del 3
Sonoff eller BSD33 Smart Plug - Del 3
Sonoff eller BSD33 Smart Plug - Del 3
Sonoff eller BSD33 Smart Plug - Del 3

Firmware

Min firmware finns på min Github.

Huvuddelarna i firmware

  • Anslutning till WiFi och MQTT -server
  • Manuell växling när online och offline (vid start)
  • Om reläet växlas manuellt när enheten är offline skickar det tillståndet via MQTT vid återanslutning
  • Relätillståndet lagras i RTC -minne (se den här videon om RTC -minne för ESP8266)
  • Webbgränssnitt för att styra omkopplaren och komma åt Webupdate för OTA
  • Firmware är lämplig för denna BSD33 smartplug, men också för Sonoff -enheter: Sonoff S20, Sonoff S26, Sonoff basic, Sonof Basic R3

Openhab -integrationer

Jag använder den här kontakten för att styra min kaffemaskin. Via Openhab och Google Home kan jag styra det via röst.

Jag implementerade en timer som kopplar om min kaffemaskin efter en förinställd tid, se bilden på min Openhab -webbplatskarta. Den förinställda tiden injiceras i NodeRed, med olika förinställda tider på vardagar och helgdagar.

Se min Github för exempel på objekt, regler och webbplatskartfiler.

Rekommenderad: