Talaan ng mga Nilalaman:

Mula sa Flashlight hanggang sa Motion Sensor Sa ESP8266 at MQTT: 5 Hakbang (na may Mga Larawan)
Mula sa Flashlight hanggang sa Motion Sensor Sa ESP8266 at MQTT: 5 Hakbang (na may Mga Larawan)

Video: Mula sa Flashlight hanggang sa Motion Sensor Sa ESP8266 at MQTT: 5 Hakbang (na may Mga Larawan)

Video: Mula sa Flashlight hanggang sa Motion Sensor Sa ESP8266 at MQTT: 5 Hakbang (na may Mga Larawan)
Video: lagi lagi esp32cam - FTDI usb ttl (Subtittled) 2024, Hulyo
Anonim
Image
Image
Kailangan ng Mga LED Kasalukuyang Maging Limitado
Kailangan ng Mga LED Kasalukuyang Maging Limitado

Sa post na ito, ipapakita ko ang mga item sa ibaba:

  • Ang mga LED ay nangangailangan ng isang paglilimita sa kasalukuyang circuit
  • kung paano gumawa ng isang flashlight
  • gumawa ng isang ilaw na pinalakas ng portable na baterya, at pagpapalabo ng mga LED ng ESP8266 sa pamamagitan ng MQTT

Ang video ay ang recap at isang maikling paliwanag kung paano ito gumagana,

Plano kong isama ang PIR sensor, ngunit ang tutorial ay medyo mahaba upang ang sensor ng PIR ay ipapakita sa ikalawang bahagi ng paksang ito

Kaya't magsimula na.

Hakbang 1: Kailangan ng Mga LED Kasalukuyang Maging Limitado

Para sa mga nagsisimula, ito ay kakaiba isinasaalang-alang kung paano karaniwang i-on ang isang maliwanag na ilaw o fluorescent na bombilya. Hindi mag-alala, ang mga LED bombilya sa istante ay mayroon nang isang AC-to-DC power adapter at isang kasalukuyang nililimitahan. Ngunit magiging maganda upang gumawa ng isang bagay mula sa simula.

Ang isang susi upang i-on ang isang LED ay isang kasalukuyang naglilimita circuit. Gumagana ito bilang isang balbula para sa kasalukuyang kaya't sa sandaling ang boltahe na inilapat sa LED na ginagawa itong maging kondaktibo, ang kasalukuyang daloy sa pamamagitan ng mga LED ay hindi maaaring mas malaki kaysa sa isang kinokontrol ng circuit. Ang mga LED na nabigo ay karaniwang nagreresulta mula sa sobrang pag-init. Walang kasalukuyang paglilimita sa circuit sa lugar ay isang sigurado na paraan upang masunog ang mga LED sa loob ng ilang segundo. Sa pamamagitan ng paraan, pag-aayos ng mga LED chip, ang mga dumating sa frame ng aluminyo, sa isang heatsink bawasan ang LED chip at pangkalahatang inirerekumenda.

Napakamot ako sa aking ulo nang malaman ito sa paligid ng 2015, at gasgas pa rin ang aking ulo (para sa iba't ibang mga kadahilanan). Natutunan ko mula sa tutorial na ito at ang kanyang malinaw na paliwanag ay nai-save ako ng ilang mga cratches.

Nakalakip ang circuit. Ang mga naka-bold na linya ay nangangahulugan ng pangunahing ruta ng pag-load, at ang mas payat ay nagpapahiwatig ng mekanismo ng kontrol upang makontrol ang kasalukuyang ng pangunahing ruta na halos 150 mA. Ang Wikipedia ay may isang maikling artikulo at ilang mga sanggunian ay nakakabit. Ang kasalukuyang paglilimita ay maaaring itayo sa isang transistor sa pamamagitan ng pagpapalit ng MOSFET ng medium kasalukuyang load transistors tulad ng BD135, BD139.

Hakbang 2: Gumawa ng isang Flashlight

Gumawa ng isang Flashlight
Gumawa ng isang Flashlight
Gumawa ng isang Flashlight
Gumawa ng isang Flashlight
Gumawa ng isang Flashlight
Gumawa ng isang Flashlight
Gumawa ng isang Flashlight
Gumawa ng isang Flashlight

Mga bahaging kinakailangan:

  1. isang N-channel MOSFET (IRF540N $ 1.62 / 10pcs, 30N06, $.1.75 / 10pcs)
  2. isang NPN transistor (tulad ng S8085)
  3. 3.9 ohm - 2W risistor, ang kasalukuyang limitado sa paligid ng 0.6 / 3.9 = 153mA
  4. 100kR (1 / 4W) risistor
  5. Isang switch ng push-lock
  6. Mayroong 0.5W 8mm LED, $ 3.18 / 100pcs dito
  7. Isang 18660 na baterya ng Lithium. Iniligtas ko ang ilan sa kanila mula sa isang power bank. Ang baterya ng laptop (4, 6, 8 cells) ay ginawa mula sa 18650 cell ngunit maingat sa mga bagay na iyon.
  8. 1 mapalakas hanggang sa 12V board, tulad ng isang ito, $ 0.56
  9. 1 lithium charger tulad ng isang ito, $ 0.30

Ang pangunahing pagkakaiba sa circuit sa itaas ay ang paggamit ng isang baterya ng Lithium (18660) na may boost up board sa halip na isang mock-up na 5V power adapter.

Ipinapakita ng huling larawan ang pangwakas na flashlight at naniningil ito mula sa anumang mapagkukunang micro USB (> 1A).

Hakbang 3: Internet ng Mga Bagay Sa Flashlight na Ito?

Internet ng Mga Bagay Sa Flashlight na Ito?
Internet ng Mga Bagay Sa Flashlight na Ito?
Internet ng Mga Bagay Sa Flashlight na Ito?
Internet ng Mga Bagay Sa Flashlight na Ito?
Internet ng Mga Bagay Sa Flashlight na Ito?
Internet ng Mga Bagay Sa Flashlight na Ito?

Pinaghihiwa ko ang bahaging ito sa tatlong mga hakbang:

  • Maghanda ng isang subscriber (isang ito)
  • I-setup ang MQTT server (susunod na hakbang)
  • at maghanda ng isang Publisher (ang susunod)

Mga Bahagi:

Una, oo, ginamit ko ang buzzword na iyon, aka IOTs, ngunit ang isang ito ay maaaring gumawa ng isang mahusay na kumbinasyon ng paggamit ng circuit sa Hakbang 2 na may isang ESP8266 at pagkatapos ay makontrol ang ilaw ng ilaw ng pamamaraang MQTT.

Ang mga bahagi para sa circuit ay magkapareho, maliban sa:

  1. Palitan ang 12V boost up ng MT3608 boost up board, $ 1.92 / 5pcs, ang isang ito ay maaaring mapalakas ang boltahe ng isang 18650 na baterya (mga 3.7V) hanggang 28 V, sapat na upang mapagana ang 8LEDs (sa halip na 3).
  2. Ang posisyon na un-push sa switch ay konektado sa GPIO 1 o 2 sa ESP8266 para sa PWM signal.
  3. ESP8266 01, $ 1.68 bawat isa. Tulad ng isang ito
  4. AMS1117 3.3 V, isang regulator ng boltahe para sa ESP8266, ilang mga capacitor
  5. Isang module ng USB upang i-flash ang ESP8266, $ 0.78 / pcs tulad ng isang ito

Btw. ang mga link na iyon ay para sa kaginhawaan.

Paghihinang at pag-upload:

  • Magkakasama ang mga bahagi ng paghihinang, at gamitin ang mga iskema sa itaas. Ang ilang mga paunang ginawa na 3.3 boltahe circuit ay maaaring makatipid sa iyo ng kaunting oras ($ 1.38 / 5pcs tulad nito). Naguluhan ako na alalahanin ang pin kapag i-flip ang PCB board at natapos na masiyahan ang ilang AMS1117 boltahe regulator.
  • Susunod Gumawa ng isang maliit na pagbabago tulad ng sa pangatlong larawan upang pindutin nang matagal ang GPIO 0 sa GND, mabilis na i-tap ang RST Pin na may GND pin upang ilagay ang ESP8266 sa Flashmode.
  • I-download ang code dito mula sa aking GitHub, at i-upload ang code sa ESP 8266 gamit ang Arduino IDE.

Na-highlight ko ang linya upang maipakita ang paksa na nag-subscribe ang subscriber. Anumang mensahe na nai-post sa paksang ito ay ipapasa sa iba pang mga kliyente (mga tagasuskribi) sa paksang ito. Ang EPS8266 sa circuit na ito ay makikinig sa mensahe ng JSON na nai-post sa paksa at magpapalaki kung ang isang pagbabago ay ginawa sa channel Three

* noong unang panahon, naisip ko na maaari kong maglagay ng isang pull-down na risistor (100k) upang ibagsak ang Gate ng MOSFET nang hindi ipinakita ang ESP8266. Gumagana ito sa kawalan ng isang ESP8266, ngunit sa ESP8266, hinuhugot din ng risistor ang GPIO0 o 2 sa GND, ginagawa silang isang Flash mode o hindi mag-boot (kapag ang GPIO2 ay LOW)). Makakakita ka ng isang solidong berde kung mangyari ito.

Hakbang 4: I-set up ang MQTT Server

I-set up ang MQTT Server
I-set up ang MQTT Server
I-set up ang MQTT Server
I-set up ang MQTT Server
I-set up ang MQTT Server
I-set up ang MQTT Server
I-set up ang MQTT Server
I-set up ang MQTT Server

Ang MQTT (Message Queuing Telemetry Transport) ay isang messing protocol batay sa pamamaraang mag-publish-subscribe. Ang mensahe sa pagho-host ng MQTT sa loob at labas ay tinatawag na broker. Tulad ng isang tunay na broker, nagho-host ito ng palitan sa pagitan ng mga publisher (nagbebenta) at mga subscriber (mamimili). Walang pera na nagbabago sa mga kamay. Maraming mga tutorial para dito.

Narito ang recap. Ang Raspberry Pi ay ang pinakatanyag na aparato para dito. Frist, i-install ang MQTT ng:

sudo apt-get install mosquitto mosquitto-kliyente

subukan kung ang server ng MQTT ay gumagana sa pamamagitan ng buksan ang dalawang mga terminal sa Raspberry, isang uri ang unang linya at ang isa pa para sa susunod:

mosquitto_sub -h localhost -t "yourtopic"

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

Dapat mong makita ang "sabihin ng isang bagay" na lalabas sa unang terminal. Walah! Gumagana siya.

Maaaring gamitin ang "#" upang makinig sa anumang paksa, palitan ang "yourtopic" ng "#"

Ngayon ay hindi mo nais ang isang tao ay maaaring mag-publish o mag-subscribe sa iyong MQTT server, dapat kang mag-set up ng isang password, ginagawa ito sa pamamagitan ng:

cd ~

mosquitto_passwrd -c pwfile mqtt_user

Ang mqtt_user ay maaaring iba pang mga username na gusto mo, ipasok ang password nang dalawang beses, at i-update ang.conf file sa pamamagitan ng:

sudo nano /etc/mosquitto/mosquitto.conf

idinagdag ang dalawang linya na ito:

allow_anonymous false

password_file / home / pi / pwfile

pagkatapos i-restart ang mosquitto sa pamamagitan ng:

sudo systemctl restart mosquitto

gumawa ng isang pagsubok sa pamamagitan ng pagsasama ng pangalan na may isang password tulad ng:

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

mosquitto_pub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456" -m "nasiguro ba ito?"

Gayundin kung tatanggihan ng MQTT ang koneksyon, subukan ito upang ilagay ang serbisyo ng MQTT sa background ng Linux system sa pamamagitan ng:

mosquitto -d

Natagpuan ko ang mga sangguniang ito na mahusay upang tumingin. May natutunan ako sa dalawang ito ngayon.

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

Hakbang 5: Maghanda ng isang Publisher

Maghanda ng isang Publisher
Maghanda ng isang Publisher
Maghanda ng isang Publisher
Maghanda ng isang Publisher
Maghanda ng isang Publisher
Maghanda ng isang Publisher
Maghanda ng isang Publisher
Maghanda ng isang Publisher

Para sa isang ito, gumawa ako ng isang simpleng dashboard upang itulak ang mensahe sa MQTT server. Sa stand-mode, ipinapakita ng LCD ang Clock.

Mga Bahagi:

  1. Pagpapakita ng screen ng SSD1306, $ 2.41 bawat isa
  2. EPS8266 WEMOS D1 Mini, $ 2.53 bawat isa
  3. Isang potensyomiter
  4. Isang 4 pin slide switch.
  5. dalawang 3mm LEDs,
  6. ilang resistors

Paghihinang:

Narito ang mga iskema ng terminal na ito:

I-upload ang code:

Ang branded na WEMOS ESP8266 ay kaaya-aya upang gumana. Kailangan mo lamang ng isang micro USB, pindutin ang upload button sa Arduino IDE flash ang chip. Narito ang code (GitHub):

Upang mai-publish ang isang mensahe, itulak ang switch upang i-on ang berde na humantong (at i-red off), pagkatapos ay i-slide ang pin at ayusin, at sa wakas ay itulak muli ang pindutan upang itulak ang mensahe sa MQTT server. Maaaring mag-publish ang dashboard ng isang mensahe na JSON sa 4 na mga channel.

Tingnan ang highlight sa code (screenshot). Iyon ang paksang itinutulak ng dashboard ang mensahe, at ang aming mga LED ay sabik na makita ang anumang bago mula sa mensahe ng JSON

Iyon ay tungkol dito. Umaasa ako na ang tutorial ay kapaki-pakinabang.

Inirerekumendang: