Innholdsfortegnelse:

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

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

Video: Hardware and Software Hack Smart Devices, Tuya and Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 Steps
Video: Ultimate Smart Automation Tuya / Smart Life Tips + Tricks 2024, Juli
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 denne instruksjonsboken viser jeg deg hvordan jeg blinket flere smarte enheter med min egen fastvare, så jeg kan kontrollere dem med MQTT via mitt Openhab -oppsett.

Jeg vil legge til nye enheter når jeg hacket dem.

Selvfølgelig er det andre programvarebaserte metoder for å blinke tilpasset fastvare, som Tuya convert, men jeg liker å forstå hvordan enheten fungerer og hva som er 'under panseret'.

Koden skrives og blinker med Arduino IDE.

Jeg kontrollerer enhetene mine via Openhab og Google Home (via Openhab). Hvis du vil vite mer eller trenger.items -filen osv., Vennligst gi meg beskjed i kommentarene.

Sikkerhet først

Vær forsiktig siden vi jobber med nettspenningsdrevne enheter. Koble enhetene fra strømforsyningen før du arbeider med dem.

Jeg har noen tvil om enheten er trygg etter endringen, kast den.

Rekvisita

For de fleste hacks trenger du en FDTI -programmerer koblet til en datamaskin som kjører Arduino IDE, noen jumper -ledninger, et loddejern, noen motstander og ESP8266- eller ESP8285 -moduler.

Trinn 1: Tuya LED RGBW smart pære

Tuya LED RGBW smart pære
Tuya LED RGBW smart pære
Tuya LED RGBW smart pære
Tuya LED RGBW smart pære
Tuya LED RGBW smart pære
Tuya LED RGBW smart pære

Intro

Jeg kjøpte denne lampen fra Aliexpress. Det fungerer fint med Smart Life -appen, men jeg ønsket å kontrollere det via MQTT fra Openhab. Jeg har allerede laget min egen Sonoff B1 -fastvare, så jeg prøvde å blinke denne lampen med den fastvaren.

Blinker

Du åpner lampen ved å fjerne plasthetten forsiktig, for hånd ved bruk av makt eller ved å vri en skrutrekker mellom metallet og plasten. Du kan se den blotte ESP8266 -brikken.

De nødvendige tilkoblingene avsløres via små pads på kretskortet (3v3, GND, RX, TX og IO0 (GPIO0))

Jeg satte først litt loddetinn til putene og loddet til ledningene og loddet dem deretter sammen. Jeg brukte en tiewrap og litt varmt lim for å feste ledningene til lampen.

GPIO0 er nødvendig for å bringe ESP8266 i programmodus. Koble den til bakken når du slår på ESP8266. Du kan slå på og blinke ESP8266 ved hjelp av en FTDI -programmerer.

Fastvare

Fastvaren er basert på min Sonoff B1 -fastvare, men er modifisert fordi Sonoff B1 bruker MY9231 LED -drivere som drives av ESP8285 -brikken, og i denne Tuya Smart -lampen drives de 4 kanalene (RGBW) av mosfeter som er byttet av PWM -signaler direkte fra ESP8266.

Den grønne kanalen er koblet til GPIO12, rød til GPIO14, blå til GPIO13 og den hvite kanalen er koblet til GPIO4. I koden ser du det som: #define GREENPIN 12 #define REDPIN 14 #define BLUEPIN 13 #define WHITEPIN 4.

Den komplette koden er på min Github.

Trinn 2: Generiske varmhvite LED -pærer - del 1

Generiske varmhvite LED -pærer - del 1
Generiske varmhvite LED -pærer - del 1
Generiske varmhvite LED -pærer - del 1
Generiske varmhvite LED -pærer - del 1
Generiske varmhvite LED -pærer - del 1
Generiske varmhvite LED -pærer - del 1

Intro

Jeg kjøpte disse LED -pærene fra Aliexpress Blue/white box og black box. De skal kontrolleres via Magic home smart home -appen og Techlife pro -appen. Jeg prøvde ikke disse appene, siden jeg ønsket å kontrollere LED -pærene via MQTT fra Openhab. Siden jeg allerede hadde fastvaren for RGBW -pærene, brukte jeg den med ikke fire (RGBW) kanaler, men bare en kanal.

Blinker

Du åpner lampen ved å fjerne plasthetten forsiktig. Jeg fant ut at hetten var litt limt til metallet, så jeg trengte kraft fra en skrutrekker mellom metallet og plasten.

Jeg forventet å se en ESP8266 eller ESP8285 -brikke, men det var en Broadlink -modul. Modulen så mye ut som en ESP12 -modul, men jeg fant ut at pinout var helt annerledes. Etter å ha fjernet metalldekselet fant jeg ut at det var en RDA 5981AM -brikke.

Min løsning for å erstatte denne brikken med en ESP er vist i neste trinn.

Trinn 3: Generiske varmhvite LED -pærer - del 2

Generiske varmhvite LED -pærer - del 2
Generiske varmhvite LED -pærer - del 2
Generiske varmhvite LED -pærer - del 2
Generiske varmhvite LED -pærer - del 2
Generiske varmhvite LED -pærer - del 2
Generiske varmhvite LED -pærer - del 2
Generiske varmhvite LED -pærer - del 2
Generiske varmhvite LED -pærer - del 2

Modulene er koblet til lampens sokkel via 3 pinner, se det første bildet:

  • 3V3 (3.3V)
  • GND (bakken)
  • PWM (pulsbreddemodulasjon)

PWM -pinnen brukes til å stille lampens lysstyrke via et PWM -signal, som kan variere fra 0 (lampen er av) til 100 (lampen er helt på) og hver verdi i mellom. Se dette nettstedet for mer informasjon om PWM -signaler.

Siden ESP8266 og ESP8285 moduler kjører på 3.3V og enkelt kan generere et PWM signal, endret jeg Broadlink modulene til ESP8266 eller ESP8285 moduler jeg hadde liggende.

ESP-01S (ESP8266) modulene blinker via en egen programmerer, se trinn 3 i denne instruksjonsboken. Jeg loddet kvinnelige toppstifter til lampen med en opptrekksmotstand mellom 3V3 og EN (aktiver). Dette var mitt første eksperiment, senere endret jeg til ESP8285 -modulene.

Modulene ESP-M1, ESP-M3 og ESP-01F (ESP8285) blinker med loddetråder til de nødvendige tilkoblingene (3V3, GND, RX, TX og GPIO0 (se trinn 1, blinking av Tuya smart lampe). I loddet en trekkmotstand mellom 3V3 og EN (aktiver).

Med ESP-M3-modulen bruker jeg GPIO4 til å generere PWM-signalet. Først brukte jeg GPIO2, men når LED-pæren er av, resulterer den lave GPIO2 i belysningen av LED-lampen ombord, noe som gir en uønsket blå glød i LED-pæren.

Legg til litt kapton -tape for å forbedre isolasjonen mellom modulen og lampefoten.

Edit: Jeg fant ut at ESP-01F-modulen ikke startet på en pålitelig måte, sannsynligvis på grunn av ustabilitet ved oppstart. Jeg løste dette ved å legge til en 10 uF tantalkondensator mellom GND og VCC. Bemerkelsesverdig fungerte en keramisk 10 uF kondensator ikke.

Trinn 4: Generiske varmhvite LED -pærer - del 3

Generiske varmhvite LED -pærer - del 3
Generiske varmhvite LED -pærer - del 3

Fastvare

Koden er på min Github.

Fastvaren inneholder et webgrensesnitt for å kontrollere LED -pæren, og har også et alternativ for å oppdatere fastvare -OTA via Webupdate

Trinn 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

Jeg kjøpte denne WiFi smart pluggen fra Aliexpress. Det fungerer fint med Smart Life -appen, men jeg ønsket å kontrollere det via MQTT fra Openhab. Jeg har allerede laget min egen Sonoff -fastvare for smarte plugger og stikkontakter, så jeg prøvde å blinke denne lampen med den fastvaren.

Jeg brukte også denne fastvaren til å blinke mine Sonof S20 og Sonoff S26 smartplugger og Sonoff basic og Sonoff Basic R3 smart switcher. Hvordan åpne og maskinvare koble Sonoff -enheter for blinking er beskrevet for Tasmota på wiki of tasmota, derfor er dette ikke beskrevet her.

Åpne kontakten

Smartpluggen er limt sammen. For å åpne den, sett en skrutrekker i utskjæringen på jorden og bruk litt kraft ved å bruke den andre siden av stikkontakten som et svingpunkt (hint fra netpokin dette emnet). På denne måten bør du være i stand til å brekke den ut uten å skade kontakten.

På bildene ser du innsiden av pluggen. Den består av et hovedkort med reléet en mindre kretskort som ESP8266 -brikken og minnet er montert på. Platene kobles sammen via tilgjengelige loddetilkoblinger.

Trinn 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

Blinker

Jeg ombygde loddetilkoblingene. Se bildet for beskrivelse av tilkoblingene. Jeg fant ut at:

  • GPIO2 er koblet til lysdioden (i knappen på kontakten).
  • GPIO13 er koblet til selve knappen.
  • GPIO15 er koblet til mosfet som bytter hovedrelé.

Du kan slå på og blinke ESP8266 ved hjelp av en FTDI -programmerer. Koble kvinnelige dupontkabler til følgende tilkoblinger: (VCC (3.3V), GND, RX, TX og GPIO0)

GPIO0 er nødvendig for å bringe ESP8266 i programmodus. Koble den til bakken når du slår på ESP8266.

På min FTDI programmerer la jeg til en 470uF kondensator mellom bakken og VCC. I et annet prosjekt fant jeg ut at dette økte stabiliteten.

FTDI -programmereren har noen andre ubrukte GND- og VCC -pinner, du kan bruke dem til å koble GPIO0 til GND.

Trinn 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

Fastvare

Fastvaren min er på min Github.

Hoveddelen av fastvaren

  • Tilkobling til WiFi og MQTT -server
  • Manuell bytte når du er online og offline (ved oppstart)
  • Hvis reléet byttes manuelt når enheten er frakoblet, sender den tilstanden via MQTT når den kobles til igjen
  • Relétilstanden er lagret i RTC -minne (se denne videoen om RTC -minne til ESP8266)
  • Nettgrensesnitt for å kontrollere bryteren og få tilgang til Webupdate for OTA
  • Fastvaren er egnet for denne BSD33 smartpluggen, men også for Sonoff -enheter: Sonoff S20, Sonoff S26, Sonoff basic, Sonof Basic R3

Openhab -integrasjoner

Jeg bruker denne pluggen for å kontrollere strømmen til kaffemaskinen min. Via Openhab og Google Home kan jeg kontrollere det via tale.

Jeg implementerte en tidtaker som bytter kaffemaskin etter en forhåndsinnstilt tid, se bildet av Openhab -nettstedskartet mitt. Den forhåndsinnstilte tiden injiseres i NodeRed, med forskjellige forhåndsinnstilte tider på hverdager og helgedager.

Se min Github for eksempler på elementene, reglene og nettstedskartfilene.

Anbefalt: