Kazalo:

Od svetilke do senzorja gibanja z ESP8266 in MQTT: 5 korakov (s slikami)
Od svetilke do senzorja gibanja z ESP8266 in MQTT: 5 korakov (s slikami)

Video: Od svetilke do senzorja gibanja z ESP8266 in MQTT: 5 korakov (s slikami)

Video: Od svetilke do senzorja gibanja z ESP8266 in MQTT: 5 korakov (s slikami)
Video: Использование кнопки скорости шагового двигателя 28BYJ-48 с 8 проектами: Ultimate Video Tutorial, урок 107 2024, November
Anonim
Image
Image
Za omejitev LED je potreben tok
Za omejitev LED je potreben tok

V tem prispevku bi predstavil naslednje postavke:

  • LED potrebujejo omejevalni tok
  • kako narediti svetilko
  • naredite luč, ki jo poganja prenosna baterija, in zatemnite LED z ESP8266 prek MQTT

Videoposnetek je povzetek in kratka razlaga, kako to deluje,

Nameraval sem vključiti senzor PIR, vendar bo vadba precej dolga, zato bo senzor PIR predstavljen v drugem delu te teme

Torej začnimo.

1. korak: Za omejitev LED je potreben tok

Za začetnike je to čudno glede na to, kako običajno vklopite žarnico z žarilno nitko ali fluorescenčno sijalko. Brez skrbi, te LED žarnice na polici že imajo napajalnik AC-to-DC in omejevalni tok. Bi pa bilo lepo narediti nekaj iz nič.

Eden od ključev za vklop LED je vezje za omejevanje toka. Ta deluje kot ventil za tok, tako da, ko napetost na LED, ki postane prevodna, tok, ki teče skozi LED, ne more biti večji od tistega, ki ga regulira vezje. Napake LED običajno nastanejo zaradi pregrevanja. Noben tokokrog za omejevanje toka ni zanesljiv način za izgorevanje LED v nekaj sekundah. Mimogrede, pritrditev LED čipov, tistih, ki prihajajo na aluminijast okvir, do hladilnika zmanjša LED čip in je na splošno priporočljivo.

Ko sem se tega naučil okoli leta 2015, sem si veliko praskal po glavi in se še vedno praskal po glavi (iz različnih razlogov). Naučil sem se iz te vadnice in njegova jasna razlaga mi prihrani nekaj drobtin.

Vezje je pritrjeno. Krepke črte označujejo glavno pot obremenitve, tanjše pa krmilni mehanizem za nadzor toka glavne poti, ki je približno 150 mA. Wikipedia ima kratek članek in nekaj referenc. Omejitev toka je mogoče zgraditi s tranzistorjem z zamenjavo MOSFET -a s tranzistorji s srednjim tokom, kot sta BD135, BD139.

Korak: Naredite svetilko

Naredite svetilko
Naredite svetilko
Naredite svetilko
Naredite svetilko
Naredite svetilko
Naredite svetilko
Naredite svetilko
Naredite svetilko

Potrebni deli:

  1. N-kanalni MOSFET (IRF540N 1,62 USD/10 kosov, 30N06, 1,75 USD/10 kosov)
  2. tranzistor NPN (na primer S8085)
  3. 3,9 ohm - 2W upor, tok omejen okoli 0,6/3,9 = 153mA
  4. 100 kR (1/4W) upor
  5. Stikalo za zaklepanje
  6. Tu je 0,5 W 8 mm LED, 3,18 USD/100 kosov tukaj
  7. 18660 litijeva baterija. Nekaj sem jih rešil iz banke moči. Baterija za prenosni računalnik (4, 6, 8 celic) je narejena iz celice 18650, vendar je pri tem previdna.
  8. 1 povečanje do 12V plošče, kot je ta, 0,56 USD
  9. 1 litijev polnilec, kot je ta, 0,30 USD

Glavna razlika od zgoraj navedenega vezja je uporaba litijeve baterije (18660) s povečevalno ploščo namesto makete 5V napajalnika.

Zadnja fotografija prikazuje zadnjo svetilko in se je polnila iz katerega koli vira mikro USB (> 1A).

3. korak: Internet stvari s to svetilko?

Internet stvari s to svetilko?
Internet stvari s to svetilko?
Internet stvari s to svetilko?
Internet stvari s to svetilko?
Internet stvari s to svetilko?
Internet stvari s to svetilko?

Ta del razdelim na tri korake:

  • Pripravite naročnika (ta)
  • Nastavitev strežnika MQTT (naslednji korak)
  • in pripravite založnika (naslednjega)

Deli:

Najprej, ja, uporabil sem to modno besedo, znano tudi kot IOT, toda ta bi lahko bila dobra kombinacija uporabe vezja v 2. koraku z ESP8266 in nato nadzoroval jakost svetlobe po metodi MQTT.

Deli za vezje so enaki, razen:

  1. Zamenjajte 12V povečanje s ploščo za povečanje MT3608, 1,92 USD/5 kosov, ta lahko poveča napetost baterije 18650 (približno 3,7 V) na 28 V, kar je dovolj za napajanje 8 LED (namesto 3).
  2. Položaj un-push v stikalu je priključen na GPIO 1 ali 2 v ESP8266 za signal PWM.
  3. ESP8266 01, po 1,68 USD. Tako kot ta
  4. AMS1117 3,3 V, regulator napetosti za ESP8266, nekaj kondenzatorjev
  5. Modul USB za bliskavico ESP8266, 0,78 USD/kos, kot je ta

Btw. te povezave so za udobje.

Spajkanje in nalaganje:

  • Spajate dele skupaj in uporabite zgornje sheme. Nekateri vnaprej izdelani napetostni tokokrog 3,3 vam lahko prihranijo nekaj časa (1,38 USD/5 kosov, kot je ta). Bil sem zmeden, ko sem se spomnil zatiča, ko sem obračal ploščo PCB, in na koncu zadovoljil nekaj regulatorja napetosti AMS1117.
  • Naslednji. Naredite majhno spremembo, kot je na tretji fotografiji, tako da pritisnete GPIO 0 na GND, hitro tapnite pin RST z pin GND, da postavite ESP8266 v način Flashmode.
  • Prenesite kodo tukaj z mojega GitHub -a in jo naložite v ESP 8266 z uporabo Arduino IDE.

Poudaril sem vrstico, ki prikazuje temo, na katero se je naročnik naročil. Vsako sporočilo, objavljeno na to temo, bo posredovano drugim odjemalcem (naročnikom) na to temo. EPS8266 v tem vezju bo poslušal sporočilo JSON, objavljeno na temo, in se izklopil, če je prišlo do spremembe v tretjem kanalu

* nekoč sem mislil, da bi lahko dal vlečni upor (100k) za ozemljitev vrat MOSFET, ko ESP8266 ni bil predstavljen. To deluje v odsotnosti ESP8266, toda pri ESP8266 upor potegne tudi GPIO0 ali 2 do GND, zaradi česar se preklopijo v način bliskavice ali se ne zaženejo (ko je GPIO2 NIZKA)). Če se to zgodi, boste videli zeleno.

4. korak: Nastavite strežnik MQTT

Nastavite strežnik MQTT
Nastavite strežnik MQTT
Nastavite strežnik MQTT
Nastavite strežnik MQTT
Nastavite strežnik MQTT
Nastavite strežnik MQTT
Nastavite strežnik MQTT
Nastavite strežnik MQTT

MQTT (Message Queuing Telemetry Transport) je neprimeren protokol, ki temelji na metodi objave-naročnine. Naprava, ki gostuje in pošilja sporočilo MQTT, se imenuje posrednik. Kot pravi posrednik gosti izmenjavo med založniki (prodajalci) in naročniki (kupci). Noben denar ne preide v roke. Za to obstaja veliko vaj.

Tukaj je povzetek. Raspberry Pi je najbolj priljubljena naprava za to. Frist, namestite MQTT z:

sudo apt-get namestite odjemalce komarjev proti komarjem

preizkusite, ali strežnik MQTT deluje tako, da na Raspberryju odprete dva terminala, eden vnese prvo vrstico, drugi pa naslednjo:

mosquitto_sub -h localhost -t "yourtopic"

mosquitto_pub -t "yourtopic" -h localost -m "povej nekaj"

Videti bi morali, da se na prvem terminalu prikaže "reci nekaj". Walah! Deluje.

"#" Lahko uporabite za poslušanje katere koli teme, "yourtopic" zamenjajte z "#"

Zdaj ne želite, da bi nekdo objavil ali se naročil na vaš strežnik MQTT, nastavite geslo, tako da:

cd ~

mosquitto_passwrd -c pwfile mqtt_user

mqtt_user so lahko druga uporabniška imena, dvakrat vnesite geslo in posodobite datoteko.conf z:

sudo nano /etc/mosquitto/mosquitto.conf

doda te dve vrstici:

allow_anonymous false

password_file/home/pi/pwfile

nato znova zaženite komarja:

sudo systemctl znova zaženite komarja

naredite test tako, da ime vključite z geslom, na primer:

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

mosquitto_pub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456" -m "je to zavarovano?"

Tudi če MQTT zavrne povezavo, poskusite to storiti, da storitev MQTT postavite v ozadje sistema Linux tako:

komar -d

Ugotovil sem, da so te reference dobre za ogled. Danes sem se od teh dveh nekaj naučil.

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

5. korak: Pripravite založnika

Pripravite založnika
Pripravite založnika
Pripravite založnika
Pripravite založnika
Pripravite založnika
Pripravite založnika
Pripravite založnika
Pripravite založnika

Za to naredim preprosto nadzorno ploščo, da sporočilo potisnem na strežnik MQTT. V načinu mirovanja LCD prikaže uro.

Deli:

  1. Zaslon SSD1306, po 2,41 USD
  2. EPS8266 WEMOS D1 Mini, vsak po 2,53 USD
  3. Potenciometer
  4. Eno 4 -polno drsno stikalo.
  5. dve 3 mm LED diodi,
  6. nekaj uporov

Spajkanje:

Tukaj je shema tega terminala:

Naloži kodo:

Z blagovno znamko WEMOS ESP8266 je prijetno delati. Potrebujete samo mikro USB, pritisnite gumb za nalaganje na Arduino IDE utripajte čip. Koda je tukaj (GitHub):

Če želite objaviti sporočilo, pritisnite stikalo, da vklopite zeleno lučko (in rdečo ugasne), nato potisnite zatič navzgor in nastavite ter na koncu znova pritisnite gumb, da sporočilo potisnete na strežnik MQTT. Nadzorna plošča bi lahko objavila sporočilo JSON v 4 kanalih.

Oglejte si vrhunec kode (posnetek zaslona). To je tema, na katero armaturna plošča potiska sporočilo, in naše LED si zelo želijo videti novega iz sporočila JSON

To je približno to. Upam, da je vadnica v pomoč.

Priporočena: