Sadržaj:

Od svjetiljke do senzora pokreta s ESP8266 i MQTT: 5 koraka (sa slikama)
Od svjetiljke do senzora pokreta s ESP8266 i MQTT: 5 koraka (sa slikama)

Video: Od svjetiljke do senzora pokreta s ESP8266 i MQTT: 5 koraka (sa slikama)

Video: Od svjetiljke do senzora pokreta s ESP8266 i MQTT: 5 koraka (sa slikama)
Video: Домашняя автоматизация своими руками — ESP32, Raspberry Pi, Node Red, MQTT, Умный дом || Проект Интернета вещей. Часть 1. 2024, Novembar
Anonim
Image
Image
LED -ima je potrebna struja da bi bila ograničena
LED -ima je potrebna struja da bi bila ograničena

U ovom postu predstavio bih sljedeće stavke:

  • LED diodama je potreban strujni krug ograničavanja
  • kako napraviti baterijsku lampu
  • napravite svjetlo koje pokreće prijenosna baterija i prigušite LED diode pomoću ESP8266 putem MQTT -a

Video je sažetak i kratko objašnjenje kako ovo funkcionira,

Planirao sam uključiti PIR senzor, ali vodič će potrajati dugo pa će PIR senzor biti predstavljen u drugom dijelu ove teme

Pa neka počne.

Korak 1: LED diodama treba ograničiti struju

Za početnike je ovo čudno s obzirom na to kako obično uključuju žarulju sa žarnom niti ili fluorescentnu žarulju. Ne brinite, te LED žarulje na polici već dolaze s adapterom za izmjenično / istosmjerno napajanje i ograničavajućom strujom. Ali bilo bi lijepo napraviti nešto od nule.

Jedan ključ za uključivanje LED diode je strujno kolo za ograničavanje struje. Ovo funkcionira kao ventil za struju, tako da nakon što napon primijenjen na LED diodu postane provodljiv, struja koja teče kroz LED ne može biti veća od one koju regulira krug. Kvarovi LED dioda obično su posljedica pregrijavanja. Nema postavljenog strujnog ograničavajućeg kruga siguran je način da se LED diode zapale u nekoliko sekundi. Usput, popravljajući LED čipove, oni dolaze na aluminijski okvir, pa se hladnjak smanjuje LED čip i općenito se preporučuje.

Puno sam se češao po glavi dok sam ovo učio oko 2015. godine, a i dalje sam se češao po glavi (iz različitih razloga). Naučio sam iz ovog vodiča i njegovo jasno objašnjenje mi je uštedjelo neke poteškoće.

Krug je priključen. Podebljane linije označavaju glavni pravac opterećenja, a tanje one označavaju upravljački mehanizam za kontrolu struje glavne rute koja iznosi oko 150 mA. Wikipedia ima kratak članak i neke reference u prilogu. Ograničavanje struje može se izgraditi pomoću tranzistora zamjenom MOSFET -a tranzistorima srednjeg strujnog opterećenja, poput BD135, BD139.

Korak 2: Napravite svjetiljku

Napravite baterijsku lampu
Napravite baterijsku lampu
Napravite baterijsku lampu
Napravite baterijsku lampu
Napravite baterijsku lampu
Napravite baterijsku lampu
Napravite baterijsku lampu
Napravite baterijsku lampu

Potrebni delovi:

  1. N-kanalni MOSFET (IRF540N $ 1,62/10kom, 30N06, $ 0,11,75/10kom)
  2. NPN tranzistor (poput S8085)
  3. 3,9 ohma - 2W otpornik, struja ograničena na 0,6/3,9 = 153mA
  4. 100kR (1/4W) otpornik
  5. Prekidač za zaključavanje
  6. Postoji 0,5W 8 mm LED, 3,18 USD/100 kom
  7. Litijumska baterija 18660. Spasio sam ih nekoliko iz banke moći. Laptop baterija (4, 6, 8 ćelija) napravljena od 18650 ćelija, ali oprezno s tim stvarima.
  8. 1 pojačanje do 12V ploče, poput ove, 0,56 USD
  9. 1 litijumski punjač poput ovog, 0,30 USD

Glavna razlika u odnosu na gornji krug je upotreba litijumske baterije (18660) sa pojačavajućom pločom umjesto makete 5V adaptera za napajanje.

Posljednja fotografija prikazuje posljednju svjetiljku i punila se iz bilo kojeg mikro USB izvora (> 1A).

Korak 3: Internet stvari sa ovom svjetiljkom?

Internet stvari s ovom svjetiljkom?
Internet stvari s ovom svjetiljkom?
Internet stvari s ovom svjetiljkom?
Internet stvari s ovom svjetiljkom?
Internet stvari s ovom svjetiljkom?
Internet stvari s ovom svjetiljkom?

Ovaj dio dijelim na tri koraka:

  • Pripremite pretplatnika (ovaj)
  • Postavljanje MQTT servera (sljedeći korak)
  • i pripremite izdavača (sljedećeg)

Dijelovi:

Prvo, da, koristio sam tu buzzword, poznatu i kao IOT, ali ova bi mogla biti dobra kombinacija korištenja kola u koraku 2 s ESP8266, a zatim kontrolirati intenzitet svjetla metodom MQTT.

Dijelovi za kolo su identični, osim:

  1. Zamijenite 12V pojačivač sa MT3608 pojačavajućom pločom, 1,92 USD/5 kom, ovaj može povećati napon baterije 18650 (oko 3,7 V) na 28 V, dovoljno za napajanje 8 LED dioda (umjesto 3).
  2. Un-push položaj u prekidaču je povezan sa GPIO 1 ili 2 u ESP8266 za PWM signal.
  3. ESP8266 01, po 1,68 USD. Kao ovaj
  4. AMS1117 3.3 V, regulator napona za ESP8266, neki kondenzatori
  5. USB modul za blic ESP8266, 0,78 USD/kom poput ovog

Btw. ti su linkovi radi praktičnosti.

Lemljenje i postavljanje:

  • Spajate dijelove zajedno i koristite gornje sheme. Neki unaprijed izrađeni 3,3-naponski krug mogu vam uštedjeti neko vrijeme (1,38 USD/5 komada poput ovoga). Bio sam zbunjen kad sam se sjetio pina pri preklapanju ploče i na kraju sam zadovoljio neki regulator napona AMS1117.
  • Sljedeći. Napravite malu izmjenu, kao na trećoj fotografiji, tako da držite pritisnutim GPIO 0 do GND, brzo dodirnite RST pin sa GND iglom da postavite ESP8266 u Flashmode.
  • Preuzmite kôd ovdje sa mog GitHub -a i prenesite kôd na ESP 8266 koristeći Arduino IDE.

Istaknuo sam red kako bih prikazao temu na koju se pretplatnik pretplatio. Svaka poruka objavljena na ovu temu bit će proslijeđena ostalim klijentima (pretplatnicima) na ovu temu. EPS8266 u ovom krugu poslušat će poruku JSON -a objavljenu na temu i ispasti ako je došlo do promjene na trećem kanalu

* nekad davno, mislio sam da bih mogao staviti otpornik (100 k) za uzemljenje vrata MOSFET-a kada ESP8266 nije bio predstavljen. Ovo funkcionira u nedostatku ESP8266, ali s ESP8266, otpornik također povlači GPIO0 ili 2 prema GND, pretvarajući ih u Flash način rada ili se ne pokreću (kada je GPIO2 NISKA)). Ako se to dogodi, vidjet ćete zelenu boju.

Korak 4: Postavite MQTT server

Podesite MQTT server
Podesite MQTT server
Podesite MQTT server
Podesite MQTT server
Podesite MQTT server
Podesite MQTT server
Podesite MQTT server
Podesite MQTT server

MQTT (Telemetrijski transport u redu čekanja poruka) je protokol za nered koji se temelji na metodi objave-pretplate. Uređaj koji sadrži i šalje MQTT poruku naziva se posrednik. Kao pravi posrednik, domaćin je razmjene između izdavača (prodavača) i pretplatnika (kupaca). Novac ne menja njih. Za to postoji mnogo vodiča.

Evo sažetka. Raspberry Pi je najpopularniji uređaj za to. Frist, instalirajte MQTT na:

sudo apt-get install mosquitto mosquitto-clients

provjerite radi li MQTT poslužitelj tako što ćete otvoriti dva terminala na Raspberryju, jedan upisuje prvi red, a drugi sljedeći:

mosquitto_sub -h localhost -t "yourtopic"

mosquitto_pub -t "yourtopic" -h localost -m "reci nešto"

Trebali biste vidjeti da se "reci nešto" pojavljuje na prvom terminalu. Walah! Radi.

"#" Se može koristiti za slušanje bilo koje teme, zamijenite "yourtopic" sa "#"

Sada ne želite da neko može objaviti ili se pretplatiti na vaš MQTT server, trebali biste postaviti lozinku, a to ćete učiniti na sljedeći način:

cd ~

mosquitto_passwrd -c pwfile mqtt_user

mqtt_user mogu biti druga korisnička imena koja vam se sviđaju, dvaput unesite lozinku i ažurirajte.conf datoteku na sljedeći način:

sudo nano /etc/mosquitto/mosquitto.conf

dodaje ova dva retka:

allow_anonymous false

password_file/home/pi/pwfile

zatim ponovo pokrenite komarac:

sudo systemctl ponovo pokrenite komarac

napravite test dodavanjem imena sa lozinkom kao što su:

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

mosquitto_pub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456" -m "je li ovo osigurano?"

Takođe, ako MQTT odbije vezu, pokušajte ovo kako biste MQTT uslugu stavili u pozadinu Linux sistema:

komarac -d

Otkrio sam da je ove reference dobro pogledati. Danas sam nešto naučio od ove dvojice.

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

Korak 5: Pripremite izdavača

Pripremite izdavača
Pripremite izdavača
Pripremite izdavača
Pripremite izdavača
Pripremite izdavača
Pripremite izdavača
Pripremite izdavača
Pripremite izdavača

Za ovaj način pravim jednostavnu nadzornu ploču za prebacivanje poruke na MQTT server. U stanju mirovanja, LCD prikazuje sat.

Dijelovi:

  1. SSD1306 Ekran, svaki po 2,41 USD
  2. EPS8266 WEMOS D1 Mini, po 2,53 USD
  3. Potenciometar
  4. Jedan klizni prekidač sa 4 pina.
  5. dve LED diode od 3 mm,
  6. neki otpornici

Lemljenje:

Evo shema ovog terminala:

Otpremite kôd:

Markirani WEMOS ESP8266 ugodan je za rad. Potreban vam je samo mikro USB, pritisnite dugme za učitavanje na Arduino IDE blic čipu. Kod je ovdje (GitHub):

Da biste objavili poruku, pritisnite prekidač za uključivanje zelene LED diode (a crvenu za isključenje), zatim pomaknite pin prema gore i podesite je i na kraju ponovo pritisnite dugme da poruku prebacite na MQTT server. Nadzorna ploča bi mogla objaviti JSON poruku na 4 kanala.

Pogledajte isticanje koda (snimak ekrana). To je tema na koju nadzorna ploča gura poruku, a naše LED diode jako žele vidjeti bilo što novo iz JSON poruke

To je otprilike to. Nadam se da je tutorial od pomoći.

Preporučuje se: