Taula de continguts:

De la llanterna al sensor de moviment amb ESP8266 i MQTT: 5 passos (amb imatges)
De la llanterna al sensor de moviment amb ESP8266 i MQTT: 5 passos (amb imatges)

Vídeo: De la llanterna al sensor de moviment amb ESP8266 i MQTT: 5 passos (amb imatges)

Vídeo: De la llanterna al sensor de moviment amb ESP8266 i MQTT: 5 passos (amb imatges)
Vídeo: Как легко управлять адресными светодиодами с помощью ESP32 или ESP8266 | Проект WLED 2024, De novembre
Anonim
Image
Image
Els LED necessiten corrent per limitar-se
Els LED necessiten corrent per limitar-se

En aquest post, presentaria articles a continuació:

  • Els LED necessiten un circuit de corrent limitant
  • com fer una llanterna
  • feu una llum alimentada per la bateria portàtil i atenuant els LEDs mitjançant ESP8266 mitjançant MQTT

El vídeo és el resum i una breu explicació de com funciona,

Tenia previst incloure el sensor PIR, però el tutorial s’allarga bastant perquè el sensor PIR es presenti a la segona part d’aquest tema

Així que comença.

Pas 1: els LED necessiten corrent per limitar-se

Per als principiants, això és estrany tenint en compte com s’encén habitualment una bombeta incandescent o fluorescent. No us preocupeu, aquestes bombetes LED del prestatge ja inclouen un adaptador d’alimentació de CA a CC i un corrent limitant. Però seria bo fer alguna cosa des de zero.

Una clau per encendre un LED és un circuit de limitació de corrent. Funciona com una vàlvula per al corrent, de manera que, una vegada que la tensió aplicada al LED que el converteix en conductor, el corrent flueix a través dels LED no pot ser més gran que la regulada pel circuit. Les fallades dels LED solen resultar d’un sobreescalfament. Cap circuit de limitació de corrent al seu lloc és una manera segura de cremar els LED en pocs segons. Per cert, fixant els xips LED, els que vénen al marc d'alumini, a un dissipador de calor, redueixen el xip LED i, en general, es recomana.

M’estava ratllant molt el cap quan vaig aprendre això cap al 2015 i encara em ratllava el cap (per diferents motius). Vaig aprendre d’aquest tutorial i la seva explicació clara em va estalviar algunes pistes.

El circuit està connectat. Les línies en negreta indiquen la ruta principal de càrrega i les més primes indiquen el mecanisme de control per controlar el corrent de la ruta principal que és d’uns 150 mA. La Viquipèdia té un article breu i algunes referències adjuntes. La limitació de corrent es pot construir amb un transistor substituint MOSFET per transistors de càrrega de corrent mitjà com BD135, BD139.

Pas 2: feu una llanterna

Feu una llanterna
Feu una llanterna
Feu una llanterna
Feu una llanterna
Feu una llanterna
Feu una llanterna
Feu una llanterna
Feu una llanterna

Peces necessàries:

  1. un MOSFET de canal N (IRF540N 1,62 USD / 10 unitats, 30N06, 1,75 USD / 10 unitats)
  2. un transistor NPN (com ara S8085)
  3. Resistència de 3,9 ohm - 2W, el corrent limitat al voltant de 0,6 / 3,9 = 153mA
  4. Resistència de 100kR (1 / 4W)
  5. Un interruptor de bloqueig
  6. Allà hi ha un LED de 0,5 W de 8 mm, 3,18 $ / 100 unitats aquí
  7. Una bateria de liti 18660. N’he recuperat uns quants d’un banc d’energia. Bateria d'ordinador portàtil (4, 6, 8 cel·les) fabricada amb 18650 cel·les, però amb compte.
  8. 1 impuls fins a una placa de 12 V, com aquesta, 0,56 dòlars
  9. 1 carregador de liti com aquest, 0,30 dòlars

La principal diferència respecte al circuit anterior és utilitzar una bateria de liti (18660) amb placa de pujada en lloc d’un adaptador d’alimentació de 5V.

La darrera foto mostra la llanterna final i es carregava des de qualsevol font micro USB (> 1A).

Pas 3: Internet de les coses amb aquesta llanterna?

Internet de les coses amb aquesta llanterna?
Internet de les coses amb aquesta llanterna?
Internet de les coses amb aquesta llanterna?
Internet de les coses amb aquesta llanterna?
Internet de les coses amb aquesta llanterna?
Internet de les coses amb aquesta llanterna?

Aquesta part la divideixo en tres passos:

  • Prepara un subscriptor (aquest)
  • Configuració del servidor MQTT (pas següent)
  • i prepara un editor (el següent)

Parts:

Primer, sí, he utilitzat aquesta paraula de moda, també coneguda com IOT, però aquesta podria fer una bona combinació d’utilitzar el circuit al pas 2 amb un ESP8266 i després controlar la intensitat de la llum mitjançant el mètode MQTT.

Les parts del circuit són idèntiques, excepte:

  1. Substituïu un augment de 12 V per un tauler MT3608, 1,92 dòlars / 5 unitats, aquest pot augmentar el voltatge d’una bateria de 18650 (aproximadament 3,7 V) a 28 V, suficient per alimentar 8 LED (en lloc de 3).
  2. La posició un-push del commutador està connectada al GPIO 1 o 2 de l’ESP8266 per al senyal PWM.
  3. ESP8266 01, 1,68 dòlars cadascun. Com aquest
  4. AMS1117 3,3 V, un regulador de tensió per ESP8266, alguns condensadors
  5. Un mòdul USB per flaixar ESP8266, 0,78 dòlars / pcs com aquest

Per contra. aquests enllaços són per comoditat.

Soldadura i càrrega:

  • Soldeu peces juntes i utilitzeu els esquemes anteriors. Alguns circuits de voltatge de 3,3 prefabricats us poden estalviar temps (1,38 dòlars / 5 unitats així). Em vaig confondre al recordar el pin quan vaig donar voltes a la placa PCB i vaig acabar satisfent algun regulador de voltatge AMS1117.
  • Pròxim. Feu una petita modificació com a la tercera foto per mantenir premut el GPIO 0 fins a GND, toqueu ràpidament el pin RST amb pin GND per posar l'ESP8266 a Flashmode.
  • Baixeu-vos el codi aquí des del meu GitHub i pengeu el codi a ESP 8266 mitjançant Arduino IDE.

He ressaltat la línia per mostrar el tema al qual s'ha subscrit el subscriptor. Qualsevol missatge publicat sobre aquest tema es transmetrà a altres clients (subscriptors) d’aquest tema. L’EPS8266 d’aquest circuit escoltarà el missatge JSON publicat al tema i s’estalviarà si es va fer un canvi al canal Tres

* una vegada, vaig pensar que podia posar una resistència desplegable (100k) per posar a terra la porta de MOSFET quan no es presentés l’ESP8266. Funciona en absència d'un ESP8266, però amb ESP8266, la resistència també fa baixar el GPIO0 o 2 a GND, convertint-los en mode Flash o no arrencant (quan GPIO2 és BAIX)). Veureu un color verd sòlid si això passa.

Pas 4: configureu el servidor MQTT

Configureu el servidor MQTT
Configureu el servidor MQTT
Configureu el servidor MQTT
Configureu el servidor MQTT
Configureu el servidor MQTT
Configureu el servidor MQTT
Configureu el servidor MQTT
Configureu el servidor MQTT

MQTT (Message Queuing Telemetry Transport) és un protocol de missatgeria basat en el mètode de publicació-subscripció. El dispositiu que allotja i surt missatges MQTT s’anomena broker. Com un veritable broker, allotja l'intercanvi entre editors (venedors) i subscriptors (compradors). Els diners no canvien de mans. Hi ha un munt de tutorials per a això.

Aquí teniu el resum. Raspberry Pi és el dispositiu més popular per a això. Frist, instal·leu MQTT mitjançant:

sudo apt-get install mosquitto mosquitto-clients

proveu si el servidor MQTT funciona obrint dos terminals a Raspberry, un escriviu la primera línia i l'altre a la següent:

mosquitto_sub -h localhost -t "yourtopic"

mosquitto_pub -t "yourtopic" -h localost -m "say something"

Hauríeu de veure el "dir alguna cosa" que apareix al primer terminal. Walah! Funciona.

El "#" es pot utilitzar per escoltar qualsevol tema, substituïu "el vostre tema" per "#"

Ara no voleu que algú pugui publicar o subscriure's al vostre servidor MQTT, heu de configurar una contrasenya fent-ho mitjançant:

cd ~

mosquitto_passwrd -c pwfile mqtt_user

mqtt_user pot ser un altre nom d'usuari que vulgueu, introduïu la contrasenya dues vegades i actualitzeu el fitxer.conf mitjançant:

sudo nano /etc/mosquitto/mosquitto.conf

afegeix aquestes dues línies:

allow_anonymous fals

fitxer_contrasenya / home / pi / fitxer pw

a continuació, reinicieu el mosquit fent:

sudo systemctl reinicia mosquitto

fes una prova incloent el nom amb una contrasenya com:

mosquitto_sub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456"

mosquitto_pub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456" -m "està protegit?"

També si el MQTT rebutja la connexió, proveu-ho per posar el servei MQTT al segon pla del sistema Linux mitjançant:

mosquit -d

He trobat que aquestes referències són bones per mirar-les. Avui he après alguna cosa d’aquests dos.

  1. Adafruit:
  2. Stees-internet-guide.com

Pas 5: prepareu un editor

Prepareu un editor
Prepareu un editor
Prepareu un editor
Prepareu un editor
Prepareu un editor
Prepareu un editor
Prepareu un editor
Prepareu un editor

Per a aquest, faig un senzill tauler per enviar el missatge al servidor MQTT. Al mode d’espera, la pantalla LCD mostra el rellotge.

Parts:

  1. Pantalla SSD1306, 2,41 dòlars cadascun
  2. EPS8266 WEMOS D1 Mini, 2,53 dòlars cadascun
  3. Un potenciòmetre
  4. Un interruptor lliscant de 4 pins.
  5. dos LED de 3 mm,
  6. algunes resistències

Soldadura:

Aquí teniu els esquemes d’aquest terminal:

Pengeu el codi:

La marca WEMOS ESP8266 és agradable de treballar. Només necessiteu un micro USB; premeu el botó de pujada a Arduino IDE. El codi és aquí (GitHub):

Per publicar un missatge, premeu el commutador per encendre el led verd (i el vermell apagat), feu lliscar el pin cap amunt i ajusteu-lo i, finalment, torneu a prémer el botó per prémer el missatge al servidor MQTT. El tauler podria publicar un missatge JSON a 4 canals.

Feu una ullada a les funcions destacades del codi (captura de pantalla). Aquest és el tema al qual el tauler envia el missatge, i els nostres LED estan molt desitjosos de veure novetats del missatge JSON

Això és tot. Espero que el tutorial sigui útil.

Recomanat: