Indholdsfortegnelse:

Hardware og software Hack Smart Devices, Tuya og Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 trin
Hardware og software Hack Smart Devices, Tuya og Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 trin

Video: Hardware og software Hack Smart Devices, Tuya og Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 trin

Video: Hardware og software Hack Smart Devices, Tuya og Broadlink LEDbulb, Sonoff, BSD33 Smart Plug: 7 trin
Video: Sonoff - The $5 WiFi Smart Switch That's Compatible With Alexa And Google Home 2024, November
Anonim
Hardware og software Hack Smart Devices, Tuya og Broadlink LEDbulb, Sonoff, BSD33 Smart Plug
Hardware og software Hack Smart Devices, Tuya og Broadlink LEDbulb, Sonoff, BSD33 Smart Plug

I denne Instructable viser jeg dig, hvordan jeg blinkede flere smarte enheder med min egen firmware, så jeg kan styre dem med MQTT via min Openhab -opsætning.

Jeg tilføjer nye enheder, når jeg hackede dem.

Selvfølgelig er der andre software -baserede metoder til at blinke brugerdefineret firmware, som Tuya convert, men jeg kan godt lide at forstå, hvordan enheden fungerer, og hvad der er 'under emhætten'.

Koden skrives og blinker ved hjælp af Arduino IDE.

Jeg styrer mine enheder via Openhab og Google Home (via Openhab), hvis du vil vide mere eller har brug for.items -filen osv., Så lad mig det vide i kommentarerne.

Sikkerhed først

Vær forsigtig, da vi arbejder på netspændingsdrevne enheder. Afbryd enhederne fra strømforsyningen, før du arbejder på dem.

Hvis du er i tvivl om enheden er sikker efter ændringen, skal du kassere den.

Forbrugsvarer

Til de fleste hacks har du brug for en FDTI -programmer, der er tilsluttet en computer, der kører Arduino IDE, nogle jumperwires, et loddejern, nogle modstande og ESP8266- eller ESP8285 -moduler.

Trin 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 købte denne lampe fra Aliexpress. Det fungerer fint med Smart Life -appen, men jeg ville styre det via MQTT fra Openhab. Jeg har allerede lavet min egen Sonoff B1 firmware, så jeg forsøgte at blinke denne lampe med den firmware.

Blinker

Du åbner lampen ved forsigtigt at fjerne plastikdækslet, i hånden ved hjælp af magt eller ved at vride en skruetrækker mellem metallet og plasten. Du kan se den nøgne ESP8266 -chip.

De nødvendige forbindelser afsløres via små puder på printkortet (3v3, GND, RX, TX og IO0 (GPIO0))

Jeg lagde først noget loddemiddel til puderne og loddet til ledningerne og lod det derefter sammen. Jeg brugte en tiewrap og lidt varm lim til at fastgøre ledningerne til lampen.

GPIO0 er nødvendig for at bringe ESP8266 i programtilstand. Tilslut den til jorden, når du tænder for ESP8266. Du kan tænde og blinke ESP8266 ved hjælp af en FTDI -programmerer.

Firmware

Firmwaren er baseret på min Sonoff B1 -firmware, men er ændret, fordi Sonoff B1 bruger MY9231 LED -drivere, der drives af ESP8285 -chippen, og i denne Tuya Smart -lampe drives de 4 kanaler (RGBW) af mosfeter, der er skiftet direkte af PWM -signaler fra ESP8266.

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

Den komplette kode er på min Github.

Trin 2: Generiske varmhvide LED -pærer - del 1

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

Intro

Jeg købte disse LED -pærer fra Aliexpress Blue/white box og black box. De skal styres via Magic home smart home -appen og Techlife pro -appen. Jeg prøvede ikke disse apps, da jeg ville styre LED -pærerne via MQTT fra Openhab. Da jeg allerede havde firmwaren til RGBW -pærerne, brugte jeg det med ikke fire (RGBW) kanaler, men kun en kanal.

Blinker

Du åbner lampen ved forsigtigt at fjerne plastikdækslet. Jeg fandt ud af, at hætten var lidt limet til metallet, så jeg havde brug for kraft fra en skruetrækker mellem metallet og plasten.

Jeg forventede at se en ESP8266- eller ESP8285 -chip, men det var et Broadlink -modul. Modulet lignede meget et ESP12 -modul, men jeg fandt ud af, at pinout var en helt anden. Fra fjernelse af metalkappen fandt jeg ud af, at det var en RDA 5981AM -chip.

Min løsning til at erstatte denne chip med en ESP er vist i det næste trin.

Trin 3: Generiske varmhvide LED -pærer - del 2

Generiske varmhvide LED -pærer - Del 2
Generiske varmhvide LED -pærer - Del 2
Generiske varmhvide LED -pærer - Del 2
Generiske varmhvide LED -pærer - Del 2
Generiske varmhvide LED -pærer - Del 2
Generiske varmhvide LED -pærer - Del 2
Generiske varmhvide LED -pærer - Del 2
Generiske varmhvide LED -pærer - Del 2

Modulerne er forbundet til lampens bund via 3 ben, se det første billede:

  • 3V3 (3.3V)
  • GND (jord)
  • PWM (pulsbreddemodulation)

PWM -stiften bruges til at indstille lampens lysstyrke via et PWM -signal, som kan variere fra 0 (lampen er slukket) til 100 (lampen er helt tændt) og hver værdi derimellem. Se dette websted for mere information om PWM -signaler.

Da ESP8266- og ESP8285 -moduler kører på 3.3V og let kan generere et PWM -signal, ændrede jeg Broadlink -modulerne til ESP8266 eller ESP8285 moduler, jeg havde liggende.

ESP-01S (ESP8266) modulerne blinker via en separat programmerer, se trin 3 i denne instruktionsbog. Jeg loddet kvindelige hovedstifter til lampen med en pull -up -modstand mellem 3V3 og EN (aktiver). Dette var mit første eksperiment, senere skiftede jeg til ESP8285 -modulerne.

Modulerne ESP-M1, ESP-M3 og ESP-01F (ESP8285) blinker ved lodningstråde til de nødvendige forbindelser (3V3, GND, RX, TX og GPIO0 (se trin 1, blinkende Tuya smart lampe). I loddet en pull up -modstand mellem 3V3 og EN (aktiver).

Med ESP-M3-modulet bruger jeg GPIO4 til at generere PWM-signalet. Først brugte jeg GPIO2, men når LED-pæren er af, resulterer den lave GPIO2 i belysningen af den indbyggede LED, hvilket giver et uønsket blåt skær i LED-pæren.

Tilføj noget kaptonbånd for at forbedre isolationen mellem modulet og lampens sokkelforbindelser.

Edit: Jeg fandt ud af, at ESP-01F-modulet ikke startede pålideligt, sandsynligvis på grund af ustabilitet ved opstart. Jeg løste dette ved at tilføje en 10 uF tantal kondensator mellem GND og VCC. Bemærkelsesværdigt fungerede en keramisk 10 uF kondensator ikke.

Trin 4: Generiske varmhvide LED -pærer - del 3

Generiske varmhvide LED -pærer - Del 3
Generiske varmhvide LED -pærer - Del 3

Firmware

Koden er på min Github.

Firmwaren indeholder en webgrænseflade til styring af LED -pæren og har også mulighed for at opdatere firmware -OTA via Webupdate

Trin 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 købte dette WiFi smart stik fra Aliexpress. Det fungerer fint med Smart Life -appen, men jeg ville styre det via MQTT fra Openhab. Jeg har allerede lavet min egen Sonoff -firmware til smarte stik og stikkontakter, så jeg forsøgte at blinke denne lampe med den firmware.

Jeg brugte også denne firmware til at blinke mine Sonof S20 og Sonoff S26 smarte stik og Sonoff basic og Sonoff Basic R3 smart switches. Sådan åbnes og hardware forbindes Sonoff -enheder til blink er beskrevet for Tasmota på wiki i tasmota, derfor er dette ikke beskrevet her.

Åbning af stikkontakten

Det smarte stik er limet sammen. For at åbne den skal du sætte en skruetrækker i udskæringen på jorden og anvende en vis kraft ved at bruge den anden side af fatningen som et drejepunkt (tip fra fra netpokin dette emne). På denne måde skulle du være i stand til at barre det ud uden at beskadige stikkontakten.

På billederne ser du indersiden af stikket. Den består af et hovedkort med relæet et mindre printkort, som ESP8266 -chippen og hukommelsen er monteret på. Pladerne forbindes via tilgængelige loddetilslutninger.

Trin 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 omvendt konstruerede loddeforbindelserne. Se billedet for beskrivelse af forbindelserne. Jeg fandt ud af, at:

  • GPIO2 er tilsluttet LED'en (i knappen på stikket).
  • GPIO13 er forbundet til selve knappen.
  • GPIO15 er forbundet til mosfet, som skifter hovedrelæ.

Du kan tænde og blinke ESP8266 ved hjælp af en FTDI -programmerer. Tilslut dupontkabler til hun til følgende tilslutninger: (VCC (3.3V), GND, RX, TX og GPIO0)

GPIO0 er nødvendig for at bringe ESP8266 i programtilstand. Tilslut den til jorden, når du tænder for ESP8266.

På min FTDI programmerer tilføjede jeg en 470uF kondensator mellem jord og VCC. I et andet projekt fandt jeg ud af, at dette øgede stabiliteten.

FTDI -programmereren har nogle andre ubrugte GND- og VCC -pins, du kan bruge dem til at forbinde GPIO0 til GND.

Trin 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 er på min Github.

Hoveddele af firmwaren

  • Forbindelse til WiFi og MQTT -server
  • Manuel skift ved online og offline (ved opstart)
  • Hvis relæet skiftes manuelt, når enheden er offline, sender den tilstanden via MQTT, når den tilsluttes igen
  • Relætilstanden gemmes i RTC -hukommelse (se denne video om RTC -hukommelse for ESP8266)
  • Webgrænseflade til styring af switch og adgang til Webupdate til OTA
  • Firmwaren er velegnet til denne BSD33 smartplug, men også til Sonoff -enheder: Sonoff S20, Sonoff S26, Sonoff basic, Sonof Basic R3

Openhab -integrationer

Jeg bruger dette stik til at styre effekten af min kaffemaskine. Via Openhab og Google Home kan jeg styre det via stemme.

Jeg implementerede en timer, der skifter min kaffemaskine efter en forudindstillet tid, se billedet af mit Openhab sitemap. Den forudindstillede tid injiceres i NodeRed med forskellige forudindstillede tider på hverdage og weekenddage.

Se min Github for eksempler på elementer, regler og sitemapfiler.

Anbefalede: