Cuprins:

De la lanternă la senzor de mișcare cu ESP8266 și MQTT: 5 pași (cu imagini)
De la lanternă la senzor de mișcare cu ESP8266 și MQTT: 5 pași (cu imagini)

Video: De la lanternă la senzor de mișcare cu ESP8266 și MQTT: 5 pași (cu imagini)

Video: De la lanternă la senzor de mișcare cu ESP8266 și MQTT: 5 pași (cu imagini)
Video: Lanterna de cap cu inducție și senzor de mișcare/The multifunctional torch induction motion sensor 2024, Decembrie
Anonim
Image
Image
LED-urile au nevoie de curent pentru a fi limitate
LED-urile au nevoie de curent pentru a fi limitate

În această postare, aș prezenta articole mai jos:

  • LED-urile au nevoie de un circuit de curent limitativ
  • cum să faci o lanternă
  • faceți o lumină alimentată de bateria portabilă și estompați LED-urile prin ESP8266 prin MQTT

Videoclipul este o recapitulare și o scurtă explicație a modului în care funcționează,

Am planificat să includ senzorul PIR, dar tutorialul devine destul de lung, astfel încât senzorul PIR să fie prezentat în a doua parte a acestui subiect

Așa că începe.

Pasul 1: LED-urile au nevoie de curent pentru a fi limitate

Pentru începători, acest lucru este ciudat având în vedere modul în care de obicei porniți un bec incandescent sau fluorescent. Nu vă faceți griji, becurile cu LED-uri de pe raft vin deja cu un adaptor de curent alternativ la curent continuu și un curent limitativ. Dar ar fi frumos să faci ceva de la zero.

O cheie pentru rotirea unui LED este un circuit de limitare a curentului. Acest lucru funcționează ca o supapă pentru curent, astfel încât odată ce tensiunea aplicată LED-ului care îl face să devină conductiv, curentul curge prin LED-uri nu poate fi mai mare decât cea reglementată de circuit. LED-urile eșuează de obicei ca urmare a supraîncălzirii. Niciun circuit de limitare a curentului nu este un mod sigur de a arde LED-urile în câteva secunde. Apropo, fixarea cipurilor cu LED-uri, cele care vin pe rama de aluminiu, la un radiator reduc cipul cu LED-uri și, în general, este recomandat.

Mi-am zgâriat mult capul când am învățat acest lucru în jurul anului 2015 și încă mă zgâriem în cap (din diferite motive). Am învățat din acest tutorial și explicația sa clară îmi salvează câteva crapături.

Circuitul este atașat. Liniile îndrăznețe semnifică ruta principală de încărcare, iar cele mai subțiri indică mecanismul de control pentru a controla curentul traseului principal, care este de aproximativ 150 mA. Wikipedia are un articol scurt și câteva referințe atașate. Limitarea curentului poate fi construită cu un tranzistor prin înlocuirea MOSFET cu tranzistoare cu sarcină de curent mediu, cum ar fi BD135, BD139.

Pasul 2: Faceți o lanternă

Faceți o lanternă
Faceți o lanternă
Faceți o lanternă
Faceți o lanternă
Faceți o lanternă
Faceți o lanternă
Faceți o lanternă
Faceți o lanternă

Piese necesare:

  1. un MOSFET cu canal N (IRF540N 1,62 USD / 10 bucăți, 30N06, 0,75 USD / 10 bucăți)
  2. un tranzistor NPN (cum ar fi S8085)
  3. 3,9 ohm - rezistență 2W, curentul limitat în jur de 0,6 / 3,9 = 153mA
  4. Rezistor 100kR (1 / 4W)
  5. Un comutator de blocare
  6. Acolo LED de 0,5W 8mm, 3,18 USD / 100buc aici
  7. O baterie litiu 18660. I-am salvat pe câțiva dintre ei dintr-o bancă de putere. Baterie pentru laptop (4, 6, 8 celule) fabricată din 18650 celule, dar atentă la acele lucruri.
  8. 1 crește până la placa de 12V, ca aceasta, 0,56 USD
  9. 1 încărcător de litiu precum acesta, 0,30 USD

Principala diferență față de circuitul de mai sus este utilizarea unei baterii cu litiu (18660) cu placă boost în loc de un adaptor de alimentare de 5V.

Ultima fotografie arată lanterna finală și se încărca de pe orice sursă micro USB (> 1A).

Pasul 3: Internetul obiectelor cu această lanternă?

Internetul obiectelor cu această lanternă?
Internetul obiectelor cu această lanternă?
Internetul obiectelor cu această lanternă?
Internetul obiectelor cu această lanternă?
Internetul obiectelor cu această lanternă?
Internetul obiectelor cu această lanternă?

Împărțesc această parte în trei pași:

  • Pregătiți un abonat (acesta)
  • Configurați serverul MQTT (pasul următor)
  • și pregătește un editor (următorul)

Părți:

Mai întâi, da, am folosit acel cuvânt cheie, cunoscut și sub numele de IOT, dar acesta ar putea face o combinație bună de utilizare a circuitului din Pasul 2 cu un ESP8266 și apoi să controleze intensitatea luminii prin metoda MQTT.

Piesele pentru circuit sunt identice, cu excepția:

  1. Înlocuiți creșterea de 12 V cu placa de creștere MT3608, 1,92 USD / 5 bucăți, aceasta poate crește tensiunea unei baterii 18650 (aproximativ 3,7 V) la 28 V, suficientă pentru a alimenta 8 LED-uri (în loc de 3).
  2. Poziția de împingere în comutator este conectată la GPIO 1 sau 2 în ESP8266 pentru semnalul PWM.
  3. ESP8266 01, 1,68 dolari fiecare. Ca și acesta
  4. AMS1117 3,3 V, un regulator de tensiune pentru ESP8266, unele condensatoare
  5. Un modul USB pentru a bloca ESP8266, 0,78 USD / buc ca acesta

Btw. aceste legături sunt pentru comoditate.

Lipire și încărcare:

  • Lipiți piese împreună și utilizați schemele de mai sus. Unele circuite de tensiune de 3,3 prefabricate vă pot economisi ceva timp (1,38 USD / 5buc ca acesta). Am fost confuz să-mi amintesc pinul când mișc placa PCB și am ajuns să satisfac unele regulatoare de tensiune AMS1117.
  • Următorul. Efectuați o mică modificare ca în a treia fotografie pentru a ține apăsat GPIO 0 la GND, atingeți rapid pinul RST cu pinul GND pentru a pune ESP8266 în Flashmode.
  • Descărcați codul aici de pe GitHub și încărcați codul în ESP 8266 folosind Arduino IDE.

Am evidențiat linia pentru a arăta subiectul la care s-a abonat abonatul. Orice mesaj postat pe acest subiect va fi transmis altor clienți (abonați) la acest subiect. EPS8266 din acest circuit va asculta mesajul JSON postat pe subiect și va risipi dacă s-a făcut o schimbare în canalul Trei

* odată, m-am gândit că aș putea pune un rezistență verticală (100k) la solul porții MOSFET atunci când ESP8266 nu a fost prezentat. Acest lucru funcționează în absența unui ESP8266, dar cu ESP8266, rezistorul trage și GPIO0 sau 2 în GND, transformându-le într-un mod Flash sau nu pornind (când GPIO2 este LOW)). Veți vedea un verde solid dacă se întâmplă acest lucru.

Pasul 4: Configurați serverul MQTT

Configurați serverul MQTT
Configurați serverul MQTT
Configurați serverul MQTT
Configurați serverul MQTT
Configurați serverul MQTT
Configurați serverul MQTT
Configurați serverul MQTT
Configurați serverul MQTT

MQTT (Message Queuing Telemetry Transport) este un protocol de messing bazat pe metoda de publicare-abonare. Dispozitivul care găzduiește mesajul MQTT în interior și în afara acestuia se numește broker. Ca un adevărat broker, găzduiește schimbul între editori (vânzători) și abonați (cumpărători). Niciun ban nu schimbă mâinile acelora. Există o mulțime de tutoriale pentru acest lucru.

Iată recapitularea. Raspberry Pi este cel mai popular dispozitiv pentru acest lucru. Frist, instalați MQTT prin:

sudo apt-get install mosquitto mosquitto-clients

testați dacă serverul MQTT funcționează deschizând două terminale pe Raspberry, unul tastați prima linie și cealaltă pentru următoarea:

mosquitto_sub -h localhost -t "tema ta"

mosquitto_pub -t "topicul tău" -h localost -m "spune ceva"

Ar trebui să vedeți „spune ceva” pe primul terminal. Walah! Functioneaza.

„#” Poate fi folosit pentru a asculta orice subiect, înlocuiți „tema dvs.” cu „#”

Acum nu doriți ca cineva să poată publica sau abona la serverul dvs. MQTT, ar trebui să configurați o parolă, procedând astfel:

cd ~

mosquitto_passwrd -c pwfile mqtt_user

mqtt_user pot fi alte nume de utilizator care vă plac, introduceți parola de două ori și actualizați fișierul.conf prin:

sudo nano /etc/mosquitto/mosquitto.conf

adaugă aceste două linii:

allow_anonymous false

password_file / home / pi / pwfile

apoi reporniți moschittoul prin:

sudo systemctl reporniți mosquitto

faceți un test incluzând numele cu o parolă precum:

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

mosquitto_pub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456" -m "este securizat?"

De asemenea, dacă MQTT refuză conexiunea, încercați acest lucru pentru a pune serviciul MQTT pe fundalul sistemului Linux prin:

mosquitto -d

Am găsit că aceste referințe sunt bune pentru a arunca o privire. Am învățat ceva de la acești doi astăzi.

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

Pasul 5: Pregătiți un editor

Pregătiți un editor
Pregătiți un editor
Pregătiți un editor
Pregătiți un editor
Pregătiți un editor
Pregătiți un editor
Pregătiți un editor
Pregătiți un editor

Pentru aceasta, fac un simplu tablou de bord pentru a trimite mesajul către serverul MQTT. În modul stand-by, ecranul LCD afișează ceasul.

Părți:

  1. Afișare ecran SSD1306, 2,41 USD fiecare
  2. EPS8266 WEMOS D1 Mini, fiecare 2,53 USD
  3. Un potențiometru
  4. Un comutator cu 4 pini.
  5. două LED-uri de 3 mm,
  6. unele rezistente

Lipire:

Iată schemele acestui terminal:

Încărcați codul:

WEMOS ESP8266 de marcă este plăcut de lucrat. Aveți nevoie doar de un micro USB, apăsați butonul de încărcare de pe Arduino IDE blitzează cipul. Codul este aici (GitHub):

Pentru a publica un mesaj, apăsați comutatorul pentru a porni ledul verde (și roșu oprit), apoi glisați în sus pinul și reglați și, în cele din urmă, apăsați butonul din nou pentru a împinge mesajul pe serverul MQTT. Tabloul de bord ar putea publica un mesaj JSON pe 4 canale.

Aruncați o privire la punctul culminant de pe cod (captură de ecran). Acesta este subiectul pe care tabloul de bord împinge mesajul, iar LED-urile noastre sunt foarte dornice să vadă orice noutate din mesajul JSON

Cam asta este. Sper că tutorialul vă va fi de ajutor.

Recomandat: