Inhoudsopgave:
- Benodigdheden
- Stap 1: Tuya LED RGBW slimme lamp
- Stap 2: Generieke warmwitte LED-lampen - deel 1
- Stap 3: Generieke warmwitte LED-lampen - deel 2
- Stap 4: Generieke warmwitte LED-lampen - deel 3
- Stap 5: Sonoff of BSD33 Smart Plug - Deel 1
- Stap 6: Sonoff of BSD33 Smart Plug - Deel 2
- Stap 7: Sonoff of BSD33 Smart Plug - Deel 3
Video: Hardware en software Hack Smart Devices, Tuya en Broadlink LEDbulb, Sonoff, BSD33 Smart Plug - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:15
In deze Instructable laat ik je zien hoe ik verschillende slimme apparaten heb geflitst met mijn eigen firmware, zodat ik ze via MQTT kan bedienen via mijn Openhab-installatie.
Ik zal nieuwe apparaten toevoegen wanneer ik ze heb gehackt.
Natuurlijk zijn er andere op software gebaseerde methoden om aangepaste firmware te flashen, zoals Tuya convert, maar ik wil graag begrijpen hoe het apparaat werkt en wat er 'onder de motorkap' zit.
Code wordt geschreven en geflitst met behulp van Arduino IDE.
Ik bedien mijn apparaten via Openhab en Google Home (via Openhab), als je meer wilt weten of het.items-bestand etc nodig hebt, laat het me dan weten in de comments.
Veiligheid eerst
Wees voorzichtig, want we werken aan apparaten die op netspanning werken. Koppel de apparaten los van het stroomnet voordat u eraan gaat werken.
Als u twijfelt of het apparaat veilig is na de wijziging, gooi het dan weg.
Benodigdheden
Voor de meeste hacks heb je een FDTI-programmeur nodig die is aangesloten op een computer met Arduino IDE, enkele jumperdraden, een soldeerbout, enkele weerstanden en ESP8266- of ESP8285-modules.
Stap 1: Tuya LED RGBW slimme lamp
Intro
Ik heb deze lamp gekocht bij Aliexpress. Het werkt prima met de Smart Life-app, maar ik wilde het bedienen via MQTT van Openhab. Ik heb al mijn eigen Sonoff B1-firmware gemaakt, dus ik heb geprobeerd deze lamp te flashen met die firmware.
Knipperend
Je opent de lamp door voorzichtig de plastic kap te verwijderen, met de hand door kracht te gebruiken of door een schroevendraaier tussen het metaal en het plastic te draaien. Je kunt de kale ESP8266-chip zien.
De benodigde verbindingen worden zichtbaar via kleine pads op de PCB (3v3, GND, RX, TX en IO0 (GPIO0))
Ik heb eerst wat soldeer op de pads gedaan en aan de draden gesoldeerd en daarna aan elkaar gesoldeerd. Ik gebruikte een tiewrap en wat hete lijm om de draden aan de lamp te bevestigen.
GPIO0 is nodig om de ESP8266 in programmeermodus te brengen. Verbind het met aarde wanneer u de ESP8266 van stroom voorziet. U kunt de ESP8266 van stroom voorzien en flashen met behulp van een FTDI-programmeur.
Firmware
De firmware is gebaseerd op mijn Sonoff B1-firmware, maar is aangepast, omdat de Sonoff B1 MY9231 LED-stuurprogramma's gebruikt die worden aangedreven door de ESP8285-chip en in deze Tuya Smart-lamp worden de 4 kanalen (RGBW) aangestuurd door mosfets die direct worden geschakeld door PWM-signalen van de ESP8266.
Het groene kanaal is aangesloten op GPIO12, rood op GPIO14, blauw op GPIO13 en het witte kanaal is aangesloten op GPIO4. In de code zie je dat als: #define GREENPIN 12 #define REDPIN 14 #define BLUEPIN 13 #define WHITEPIN 4.
De volledige code staat op mijn Github.
Stap 2: Generieke warmwitte LED-lampen - deel 1
Intro
Ik kocht deze LED-lampen van Aliexpress Blue/white box en black box. Ze zijn bedoeld om te worden bediend via de Magic home smart home-app en de Techlife pro-app. Deze apps heb ik niet uitgeprobeerd, omdat ik de ledlampen via MQTT van Openhab wilde aansturen. Omdat ik de firmware voor de RGBW-lampen al had, heb ik die gebruikt met niet vier (RGBW) kanalen, maar slechts één kanaal.
Knipperend
Je opent de lamp door voorzichtig het plastic kapje te verwijderen. Ik ontdekte dat de dop een beetje op het metaal was gelijmd, dus ik had kracht nodig van een schroevendraaier tussen het metaal en het plastic.
Ik verwachtte een ESP8266- of ESP8285-chip te zien, maar het was een Broadlink-module. De module leek veel op een ESP12-module, maar ik ontdekte dat de pinout compleet anders was. Toen ik de metalen kap verwijderde, ontdekte ik dat het een RDA 5981AM-chip was.
Mijn oplossing om deze chip te vervangen door een ESP wordt getoond in de volgende stap.
Stap 3: Generieke warmwitte LED-lampen - deel 2
De modules zijn via 3 pinnen verbonden met de voet van de lamp, zie de eerste foto:
- 3V3 (3,3V)
- GND (aarde)
- PWM (pulsbreedtemodulatie)
De PWM-pin wordt gebruikt om de helderheid van de lamp in te stellen via een PWM-signaal, dat kan variëren van 0 (lamp is uit) tot 100 (lamp is helemaal aan) en elke waarde daar tussenin. Zie deze website voor wat meer informatie over PWM-signalen.
Omdat ESP8266- en ESP8285-modules op 3,3 V werken en gemakkelijk een PWM-signaal kunnen genereren, heb ik de Broadlink-modules gewijzigd in ESP8266- of ESP8285-modules die ik had liggen.
De ESP-01S (ESP8266) modules worden geflitst via een aparte programmeur, zie stap 3 van deze Instructable. Ik heb vrouwelijke header-pinnen aan de lamp gesoldeerd met een pull-up-weerstand tussen 3V3 en EN (inschakelen). Dit was mijn eerste experiment, later stapte ik over op de ESP8285-modules.
De ESP-M1, ESP-M3 en ESP-01F (ESP8285) modules worden geflitst door soldeerdraden aan de benodigde aansluitingen (3V3, GND, RX, TX en GPIO0 (zie stap 1, het knipperen van de Tuya smart lamp). een pull-up weerstand gesoldeerd tussen 3V3 en EN (inschakelen).
Met de ESP-M3-module gebruik ik GPIO4 om het PWM-signaal te genereren. In eerste instantie gebruikte ik GPIO2, maar als de LEDbulb uit is, resulteert de lage GPIO2 in de verlichting van de on-board LED, die een ongewenste blauwe gloed in de LEDbulb geeft.
Voeg wat kaptontape toe om de isolatie tussen de module en de lampvoetaansluitingen te verbeteren.
Bewerken: ik ontdekte dat de ESP-01F-module niet betrouwbaar opstart, waarschijnlijk als gevolg van instabiliteit van de stroom bij het opstarten. Ik heb dit opgelost door een 10 uF tantaalcondensator toe te voegen tussen GND en VCC. Opmerkelijk was dat een keramische 10 uF condensator niet werkte.
Stap 4: Generieke warmwitte LED-lampen - deel 3
Firmware
De code staat op mijn Github.
De firmware bevat een webinterface om de LEDbulb te bedienen, en heeft ook een optie om de firmware OTA bij te werken via Webupdate
Stap 5: Sonoff of BSD33 Smart Plug - Deel 1
Intro
Ik kocht deze wifi smart plug van Aliexpress. Het werkt prima met de Smart Life-app, maar ik wilde het bedienen via MQTT van Openhab. Ik heb al mijn eigen Sonoff-firmware gemaakt voor slimme stekkers en stopcontacten, dus ik probeerde deze lamp met die firmware te flashen.
Ik heb deze firmware ook gebruikt om mijn Sonof S20 en Sonoff S26 smart plugs en Sonoff basic en Sonoff Basic R3 smart switches te flashen. Hoe Sonoff apparaten te openen en hardware aan te sluiten om te flashen staat beschreven voor Tasmota op de wiki van tasmota, daarom wordt dit hier niet beschreven.
Het stopcontact openen
De slimme stekker wordt aan elkaar gelijmd. Om hem te openen steek je een schroevendraaier in de uitsparing bij de aarde en oefen je wat kracht uit door de andere kant van de socket als draaipunt te gebruiken (hint van netpokin dit topic). Op deze manier zou je het eruit moeten kunnen halen zonder de socket te beschadigen.
Op de foto's zie je de binnenkant van de stekker. Het bestaat uit een moederbord met als relais een kleinere print waarop de ESP8266 chip en het geheugen zijn gemonteerd. De printen zijn verbonden via toegankelijke soldeerverbindingen.
Stap 6: Sonoff of BSD33 Smart Plug - Deel 2
Knipperend
Ik heb de soldeerverbindingen reverse-engineered. Zie de afbeelding voor de beschrijving van de aansluitingen. Ik kwam erachter dat:
- GPIO2 wordt aangesloten op de LED (in de knop van de stekker).
- GPIO13 is verbonden met de knop zelf.
- GPIO15 is verbonden met de mosfet die het hoofdrelais schakelt.
U kunt de ESP8266 van stroom voorzien en flashen met behulp van een FTDI-programmeur. Sluit vrouwelijke dupont-kabels aan op de volgende aansluitingen: (VCC (3.3V), GND, RX, TX en GPIO0)
GPIO0 is nodig om de ESP8266 in programmeermodus te brengen. Verbind het met aarde wanneer u de ESP8266 van stroom voorziet.
Op mijn FTDI-programmeur heb ik een 470uF-condensator toegevoegd tussen aarde en VCC. In een ander project kwam ik erachter dat dit de stabiliteit verhoogde.
De FTDI-programmeur heeft enkele andere ongebruikte GND- en VCC-pinnen, u kunt ze gebruiken om GPIO0 met GND te verbinden.
Stap 7: Sonoff of BSD33 Smart Plug - Deel 3
Firmware
Mijn firmware staat op mijn Github.
Belangrijkste onderdelen van de firmware
- Verbinding met WiFi en MQTT-server
- Handmatig schakelen wanneer online en offline (bij opstarten)
- Als het relais handmatig wordt geschakeld wanneer het apparaat offline is, verzendt het de status via MQTT wanneer het opnieuw wordt aangesloten
- De relaisstatus wordt opgeslagen in RTC-geheugen (zie deze video over RTC-geheugen van de ESP8266)
- Webinterface voor het besturen van de switch en toegang tot de webupdate voor OTA
- De firmware is geschikt voor deze BSD33 smartplug, maar ook voor Sonoff apparaten: Sonoff S20, Sonoff S26, Sonoff basic, Sonof Basic R3
Openhab-integraties
Ik gebruik deze stekker om het vermogen van mijn koffiezetapparaat te regelen. Via Openhab en Google Home kan ik hem via spraak bedienen.
Ik heb een timer geïmplementeerd die mijn koffiemachine na een vooraf ingestelde tijd uitschakelt, zie de afbeelding van mijn Openhab sitemap. De vooraf ingestelde tijd wordt geïnjecteerd in NodeRed, met verschillende vooraf ingestelde tijden op weekdagen en weekenddagen.
Zie mijn Github voor voorbeelden van de items, regels en sitemapbestanden.
Aanbevolen:
SmartTAG-hardware-upgrade: LCD-achtergrondverlichting: 4 stappen
SmartTAG-hardware-upgrade: LCD-achtergrondverlichting: de originele SmartTAG (Maleisië) wordt geleverd met een LCD zonder achtergrondverlichting, dit is onhandig om de kaartbalans te controleren bij weinig omgevingslicht. Ik zag dat mijn vriend BP Tan een eenheid aanpaste om de achtergrondverlichting aan te doen, hij had het me graag geleerd en ga
Hoe u uw eigen windmeter kunt bouwen met behulp van reed-schakelaars, Hall-effectsensor en wat restjes op Nodemcu. - Deel 1 - Hardware: 8 stappen (met afbeeldingen)
Hoe u uw eigen windmeter kunt bouwen met behulp van reed-schakelaars, Hall-effectsensor en wat restjes op Nodemcu. - Deel 1 - Hardware: Inleiding Sinds ik ben begonnen met de studies van Arduino en de Maker Culture, heb ik het leuk gevonden om nuttige apparaten te bouwen met behulp van rommel en afvalstukken zoals kroonkurken, stukjes PVC, drankblikjes, enz. Ik geef graag een tweede leven aan elk stuk of elke partner
Micro:bit Basics for Teachers Part 1 - de hardware: 8 stappen
Micro:bit Basics voor docenten Deel 1 - de hardware: Ben je een docent die micro:bit in je klas wil gebruiken, maar niet weet waar te beginnen? We laten je zien hoe
Broken Toy Drone Hardware Hack: 12 stappen (met afbeeldingen)
Broken Toy Drone Hardware Hack: in deze instructable laat ik je zien hoe je vrijwel elke kapotte speelgoeddrone met op afstand bestuurbare lichten kunt omzetten in een veelzijdig paar apparaten. Het eerste apparaat gemaakt van de oude afstandsbediening detecteert iets met behulp van een sensormodule
Panoramische fotografie met gratis software en goedkope hardware: 6 stappen
Panoramische fotografie met gratis software en goedkope hardware: Panoramische foto's worden gebruikt om beelden te maken van scènes die te groot zijn om in een normale cameralens te passen of zelfs te groot voor het menselijk oog om in één keer te zien. De meest bekende panorama's zijn landschapsfoto's van geologische elementen in de buitenlucht of de lucht van de stad