Taula de continguts:

Maquinari i programari piratejar dispositius intel·ligents, bombeta LED Tuya i Broadlink, Sonoff, endoll intel·ligent BSD33: 7 passos
Maquinari i programari piratejar dispositius intel·ligents, bombeta LED Tuya i Broadlink, Sonoff, endoll intel·ligent BSD33: 7 passos

Vídeo: Maquinari i programari piratejar dispositius intel·ligents, bombeta LED Tuya i Broadlink, Sonoff, endoll intel·ligent BSD33: 7 passos

Vídeo: Maquinari i programari piratejar dispositius intel·ligents, bombeta LED Tuya i Broadlink, Sonoff, endoll intel·ligent BSD33: 7 passos
Vídeo: Топ-10 крупнейших компаний по рыночной капитализации в 2021 году 2024, Juliol
Anonim
Maquinari i programari Hack Smart Devices, Tuya i Broadlink LEDbulb, Sonoff, BSD33 Smart Plug
Maquinari i programari Hack Smart Devices, Tuya i Broadlink LEDbulb, Sonoff, BSD33 Smart Plug

En aquest instructiu, us mostro com he flasheado diversos dispositius intel·ligents amb el meu propi firmware, de manera que puc controlar-los mitjançant MQTT mitjançant la meva configuració d’Openhab.

Afegiré nous dispositius quan els piratejar.

Per descomptat, hi ha altres mètodes basats en programari per fer flash de microprogramari personalitzat, com ara convertir Tuya, però m'agrada entendre com funciona el dispositiu i què hi ha "sota el capó".

El codi s’escriu i es fa servir mitjançant Arduino IDE.

Controllo els meus dispositius mitjançant Openhab i Google Home (mitjançant Openhab), si voleu saber-ne més o necessiteu el fitxer.items, etc., si us plau, feu-m'ho saber als comentaris.

Seguretat primer

Aneu amb compte, ja que estem treballant en dispositius alimentats per tensió de xarxa. Desconnecteu els dispositius de la font d'alimentació abans de treballar-hi.

Tinc dubtes si el dispositiu està segur després de la modificació, descarteu-lo.

Subministraments

Per a la majoria de pirates informàtics, necessiteu un programador FDTI connectat a un ordinador que utilitza Arduino IDE, alguns cables de pont, un soldador, algunes resistències i mòduls ESP8266 o ESP8285.

Pas 1: bombeta intel·ligent LED RGBW de Tuya

Bombeta intel·ligent Tuya LED RGBW
Bombeta intel·ligent Tuya LED RGBW
Bombeta intel·ligent Tuya LED RGBW
Bombeta intel·ligent Tuya LED RGBW
Bombeta intel·ligent Tuya LED RGBW
Bombeta intel·ligent Tuya LED RGBW

Introducció

Vaig comprar aquesta làmpada a Aliexpress. Funciona bé amb l’aplicació Smart Life, però volia controlar-la mitjançant MQTT des d’Openhab. Ja vaig fer el meu propi firmware Sonoff B1, així que vaig provar de fer flaixar aquest llum amb aquest firmware.

Parpellejant

Obriu la làmpada traient amb cura la tapa de plàstic, manualment mitjançant la força o fent girar un tornavís entre el metall i el plàstic. Podeu veure el xip ESP8266 nu.

Les connexions necessàries s’exposen mitjançant petits coixinets al PCB (3v3, GND, RX, TX i IO0 (GPIO0))

Primer vaig posar una mica de soldadura als coixinets i soldar els cables i després els vaig soldar junts. Vaig utilitzar un tiewrap i una mica de cola calenta per fixar els cables a la llum.

Es necessita GPIO0 per posar l’ESP8266 en mode programa. Connecteu-lo a terra quan enceneu l'ESP8266. Podeu encendre i fer flaixar l’ESP8266 mitjançant un programador FTDI.

Firmware

El microprogramari es basa en el meu microprogramari de Sonoff B1, però es modifica, perquè el Sonoff B1 utilitza controladors LED MY9231 que són impulsats pel xip ESP8285 i en aquest llum Tuya Smart els 4 canals (RGBW) són impulsats per mosfets commutats directament per senyals PWM de l’ESP8266.

El canal verd està connectat a GPIO12, el vermell a GPIO14, el blau a GPIO13 i el canal blanc està connectat a GPIO4. Al codi veieu que: #define GREENPIN 12 #define REDPIN 14 #define BLUEPIN 13 #define WHITEPIN 4.

El codi complet es troba al meu Github.

Pas 2: Bombetes LED blanques càlides genèriques: primera part

Bombetes LED blanques càlides genèriques: primera part
Bombetes LED blanques càlides genèriques: primera part
Bombetes LED blanques càlides genèriques: primera part
Bombetes LED blanques càlides genèriques: primera part
Bombetes LED blanques càlides genèriques: primera part
Bombetes LED blanques càlides genèriques: primera part

Introducció

Vaig comprar aquestes bombetes LED a la caixa blava i blanca d’Aliexpress i a la caixa negra. S’han de controlar mitjançant l’aplicació de casa intel·ligent Magic home i l’aplicació Techlife pro. No he provat aquestes aplicacions, ja que volia controlar les bombetes LED mitjançant MQTT des d'Openhab. Com que ja tenia el firmware per a les bombetes RGBW, ho vaig fer servir no amb quatre canals (RGBW), sinó només amb un canal.

Parpellejant

Obriu la làmpada traient amb cura el tap de plàstic. Vaig descobrir que la tapa estava una mica enganxada al metall, de manera que necessitava força d’un tornavís entre el metall i el plàstic.

Esperava veure un xip ESP8266 o ESP8285, però era un mòdul Broadlink. El mòdul s’assemblava molt a un mòdul ESP12, però vaig descobrir que el pinout era completament diferent. En treure la coberta metàl·lica, vaig saber que era un xip RDA 5981AM.

La meva solució per substituir aquest xip per un ESP es mostra al següent pas.

Pas 3: Bombetes LED de color blanc genèric genèriques: part 2

Bombetes LED blanques càlides genèriques: part 2
Bombetes LED blanques càlides genèriques: part 2
Bombetes LED blanques càlides genèriques: part 2
Bombetes LED blanques càlides genèriques: part 2
Bombetes LED blanques càlides genèriques: part 2
Bombetes LED blanques càlides genèriques: part 2
Bombetes LED blanques càlides genèriques: part 2
Bombetes LED blanques càlides genèriques: part 2

Els mòduls estan connectats a la base de la làmpada mitjançant 3 pins, vegeu la primera imatge:

  • 3V3 (3,3V)
  • GND (terra)
  • PWM (modulació d'ample de pols)

El pin PWM s'utilitza per configurar la brillantor de la làmpada mitjançant un senyal PWM, que pot variar de 0 (la llum està apagada) a 100 (la làmpada està completament engegada) i cada valor intermedi. Consulteu aquest lloc web per obtenir més informació sobre els senyals PWM.

Com que els mòduls ESP8266 i ESP8285 funcionen a 3,3 V i poden generar fàcilment un senyal PWM, he canviat els mòduls Broadlink a ESP8266 o ESP8285 que tenia.

Els mòduls ESP-01S (ESP8266) són intermitents mitjançant un programador separat, vegeu el pas 3 d’aquest instructiu. He soldat els passadors de capçalera femenins al llum amb una resistència de tracció entre 3V3 i EN (habilitació). Aquest va ser el meu primer experiment, més endavant vaig canviar als mòduls ESP8285.

Els mòduls ESP-M1, ESP-M3 i ESP-01F (ESP8285) són intermitents mitjançant cables de soldadura a les connexions necessàries (3V3, GND, RX, TX i GPIO0 (vegeu el pas 1, el parpelleig de la làmpada intel·ligent Tuya). I soldat una resistència de tracció entre 3V3 i EN (habilitar).

Amb el mòdul ESP-M3, faig servir GPIO4 per generar el senyal PWM. Al principi, feia servir GPIO2, però quan la bombeta LED està en funcionament, la baixa GPIO2 dóna lloc a la il·luminació del LED incorporat, que dóna una brillantor blava no desitjada a la bombeta LED.

Afegiu una mica de cinta kapton per millorar l’aïllament entre el mòdul i les connexions de la base del llum.

Edició: em vaig assabentar que el mòdul ESP-01F no es va iniciar de manera fiable, probablement a causa de la inestabilitat de l’alimentació. Ho vaig solucionar afegint un condensador de tàntal de 10 uF entre GND i VCC. Cal destacar que un condensador de ceràmica de 10 uF no funcionava.

Pas 4: Bombetes LED blanques càlides genèriques: part 3

Bombetes LED blanques càlides genèriques: part 3
Bombetes LED blanques càlides genèriques: part 3

Firmware

El codi està al meu Github.

El firmware inclou una interfície web per controlar la bombeta LED i també té una opció per actualitzar el firmware OTA mitjançant Webupdate

Pas 5: Sonoff o endoll intel·ligent BSD33: primera part

Connector intel·ligent Sonoff o BSD33: primera part
Connector intel·ligent Sonoff o BSD33: primera part
Connector intel·ligent Sonoff o BSD33: primera part
Connector intel·ligent Sonoff o BSD33: primera part
Connector intel·ligent Sonoff o BSD33: primera part
Connector intel·ligent Sonoff o BSD33: primera part
Connector intel·ligent Sonoff o BSD33: primera part
Connector intel·ligent Sonoff o BSD33: primera part

Introducció

Vaig comprar aquest endoll intel·ligent WiFi a Aliexpress. Funciona bé amb l’aplicació Smart Life, però volia controlar-la mitjançant MQTT des d’Openhab. Ja vaig fer el meu propi firmware Sonoff per a endolls i endolls intel·ligents, així que vaig provar de fer flaixar aquest llum amb aquest firmware.

També he utilitzat aquest firmware per fer flaixar els connectors intel·ligents Sonof S20 i Sonoff S26 i els commutadors intel·ligents Sonoff basic i Sonoff Basic R3. La descripció de com obrir i connectar el maquinari als dispositius Sonoff per a intermitències es fa per a Tasmota a la wiki de tasmota, per tant això no es descriu aquí.

Obertura del sòcol

L'endoll intel·ligent està enganxat. Per obrir-lo, poseu un tornavís al retall a la terra i apliqueu una mica de força utilitzant l’altre costat del sòcol com a punt de pivot (suggeriment de netpokin aquest tema). D'aquesta manera hauríeu de ser capaç de treure-la sense fer malbé el sòcol.

A les imatges es veu l'interior de l'endoll. Consisteix en una placa principal amb el relé, una placa base més petita sobre la qual està muntat el xip ESP8266 i la memòria. Les plaques es connecten mitjançant connexions de soldadura accessibles.

Pas 6: Sonoff o endoll intel·ligent BSD33: part 2

Connector intel·ligent Sonoff o BSD33: part 2
Connector intel·ligent Sonoff o BSD33: part 2
Connector intel·ligent Sonoff o BSD33: part 2
Connector intel·ligent Sonoff o BSD33: part 2
Connector intel·ligent Sonoff o BSD33: part 2
Connector intel·ligent Sonoff o BSD33: part 2
Connector intel·ligent Sonoff o BSD33: part 2
Connector intel·ligent Sonoff o BSD33: part 2

Parpellejant

Vaig dissenyar inversament les connexions de soldadura. Consulteu la imatge per obtenir la descripció de les connexions. Vaig saber que:

  • GPIO2 està connectat al LED (al botó de l’endoll).
  • GPIO13 està connectat al botó mateix.
  • GPIO15 està connectat al mosfet que commuta el relé principal.

Podeu encendre i fer flaixar l’ESP8266 mitjançant un programador FTDI. Connecteu cables dupont femella a les connexions següents: (VCC (3.3V), GND, RX, TX i GPIO0)

Es necessita GPIO0 per posar l’ESP8266 en mode programa. Connecteu-lo a terra quan enceneu l'ESP8266.

Al meu programador FTDI vaig afegir un condensador de 470uF entre terra i VCC. En un altre projecte vaig descobrir que això augmentava l'estabilitat.

El programador FTDI té alguns altres pins GND i VCC no utilitzats, els podeu utilitzar per connectar GPIO0 a GND.

Pas 7: connector intel·ligent Sonoff o BSD33: part 3

Connector intel·ligent Sonoff o BSD33: 3a part
Connector intel·ligent Sonoff o BSD33: 3a part
Connector intel·ligent Sonoff o BSD33: 3a part
Connector intel·ligent Sonoff o BSD33: 3a part
Connector intel·ligent Sonoff o BSD33: 3a part
Connector intel·ligent Sonoff o BSD33: 3a part
Connector intel·ligent Sonoff o BSD33: 3a part
Connector intel·ligent Sonoff o BSD33: 3a part

Firmware

El meu microprogramari és al meu Github.

Principals parts del firmware

  • Connexió al servidor WiFi i MQTT
  • Canvi manual en línia i fora de línia (a l'inici)
  • Si el relé es commuta manualment quan el dispositiu està fora de línia, envia l’estat mitjançant MQTT quan es torna a connectar
  • L'estat del relé s'emmagatzema a la memòria RTC (vegeu aquest vídeo sobre la memòria RTC de l'ESP8266)
  • Interfície web per controlar el commutador i accedir a la Webupdate per a OTA
  • El firmware és adequat per a aquest connector intel·ligent BSD33, però també per a dispositius Sonoff: Sonoff S20, Sonoff S26, Sonoff basic, Sonof Basic R3

Integracions Openhab

Faig servir aquest endoll per controlar la potència de la màquina de cafè. Amb Openhab i Google Home el puc controlar mitjançant veu.

Vaig implementar un temporitzador que canviava la meva màquina de cafè després d'un temps predeterminat; vegeu la imatge del meu mapa del web d'Openhab. El temps predeterminat s’injecta en NodeRed, amb diferents hores predeterminades els dies laborables i els caps de setmana.

Consulteu el meu Github per obtenir exemples d’elements, regles i fitxers de mapes del lloc.

Recomanat: