Tartalomjegyzék:

A zseblámpától a mozgásérzékelőig ESP8266 és MQTT segítségével: 5 lépés (képekkel)
A zseblámpától a mozgásérzékelőig ESP8266 és MQTT segítségével: 5 lépés (képekkel)

Videó: A zseblámpától a mozgásérzékelőig ESP8266 és MQTT segítségével: 5 lépés (képekkel)

Videó: A zseblámpától a mozgásérzékelőig ESP8266 és MQTT segítségével: 5 lépés (képekkel)
Videó: Unboxing - NEW Shelly Motion and 3Reality Zigbee Sensors 2024, Július
Anonim
Image
Image
A LED -eknek korlátozni kell az áramot
A LED -eknek korlátozni kell az áramot

Ebben a bejegyzésben az alábbiakat mutatnám be:

  • A LED -eknek korlátozó áramkörre van szükségük
  • hogyan készítsünk zseblámpát
  • készítsen lámpát a hordozható akkumulátorról, és halványítsa a LED -eket ESP8266 segítségével az MQTT -n keresztül

A videó összefoglaló és rövid magyarázat arra, hogy ez hogyan működik,

Azt terveztem, hogy a PIR -érzékelőt is beépítem, de az oktatóanyag meglehetősen hosszú lesz, így a PIR -érzékelő a téma második részében kerül bemutatásra

Tehát kezdjük.

1. lépés: A LED -eknek korlátozni kell az áramot

A kezdők számára ez furcsa, figyelembe véve, hogy általában hogyan kell bekapcsolni egy izzót vagy fénycsövet. Ne aggódjon, a polcon lévő LED-es izzók már AC-DC hálózati adapterrel és korlátozó árammal rendelkeznek. De jó lenne valamit a semmiből készíteni.

A LED bekapcsolásának egyik kulcsa az áramkorlátozó áramkör. Ez az áram szelepeként működik, így ha a LED -re alkalmazott feszültség vezetőképessé válik, a LED -eken átáramló áram nem lehet nagyobb, mint az áramkör által szabályozott. A LED -ek meghibásodása általában túlmelegedés miatt következett be. Ha nincs áramkorlátozó áramkör, az biztos módja annak, hogy néhány másodperc alatt felgyújtsa a LED -eket. Egyébként a LED -chipek rögzítése, amelyek az alumínium keretre kerülnek, hűtőbordára csökkenti a LED -chipet, és általában ajánlott.

Sokat vakargattam a fejem, amikor ezt megtanultam 2015 körül, és még mindig a fejemet vakargattam (különböző okok miatt). Ebből az oktatóanyagból tanultam, és világos magyarázata megkímél néhány bukástól.

Az áramkör csatlakoztatva van. A vastag vonalak a fő terhelési útvonalat jelzik, a vékonyabbak pedig a vezérlőmechanizmust jelzik a fő útvonal áramának szabályozására, amely körülbelül 150 mA. A Wikipédia tartalmaz egy rövid cikket és néhány hivatkozást. Az áramkorlátozást tranzisztorral lehet felépíteni úgy, hogy a MOSFET -et olyan közepes áramterhelésű tranzisztorokra cserélik, mint a BD135, BD139.

2. lépés: Készítsen zseblámpát

Készíts zseblámpát
Készíts zseblámpát
Készíts zseblámpát
Készíts zseblámpát
Készíts zseblámpát
Készíts zseblámpát
Készíts zseblámpát
Készíts zseblámpát

Szükséges alkatrészek:

  1. egy N-csatornás MOSFET (IRF540N $ 1,62/10db, 30N06, $ 1,75/10db)
  2. NPN tranzisztor (például S8085)
  3. 3,9 ohm - 2 W ellenállás, az áram 0,6/3,9 = 153 mA körül korlátozott
  4. 100 kR (1/4W) ellenállás
  5. Nyomógombos kapcsoló
  6. 0,5 W -os 8 mm -es LED, 3,18 USD/100 db
  7. 18660 lítium akkumulátor. Néhányukat egy energiabankból mentettem ki. Laptop akkumulátor (4, 6, 8 cella) 18650 cellából készült, de óvatosan ezzel.
  8. 1 erősítés 12 V -os kártyára, mint ez, 0,56 USD
  9. 1 lítium töltő, mint ez, 0,30 dollár

A fő különbség a fenti áramkörhöz képest egy lítium akkumulátor (18660) használata feltápláló táblával az 5 V-os makett helyett.

Az utolsó fotó az utolsó zseblámpát mutatja, és bármilyen mikro -USB -forrásról töltötte (> 1A).

3. lépés: A tárgyak internete ezzel a zseblámpával?

A dolgok internete ezzel a zseblámpával?
A dolgok internete ezzel a zseblámpával?
A dolgok internete ezzel a zseblámpával?
A dolgok internete ezzel a zseblámpával?
A dolgok internete ezzel a zseblámpával?
A dolgok internete ezzel a zseblámpával?

Ezt a részt három lépésre bontom:

  • Készítsen előfizetőt (ezt)
  • Az MQTT szerver beállítása (következő lépés)
  • és készítsen elő egy kiadót (a következő)

Alkatrészek:

Először is, igen, ezt a divatos szót használtam, más néven IOT -kat, de ez jól kombinálhatja a 2. lépésben az áramkör ESP8266 -tal való használatát, majd az MQTT módszerrel a fényerősség szabályozását.

Az áramkör alkatrészei azonosak, kivéve:

  1. Cserélje le a 12 V -os feltöltést az MT3608 erősítő táblára, 1,92 USD/5 db, ez növelheti egy 18650 -es akkumulátor feszültségét (kb. 3,7 V) 28 V -ra, ami elegendő a 8LED -ek (3 helyett) táplálásához.
  2. A kapcsoló kioldási pozíciója az ESP8266-ban található GPIO 1 vagy 2-hez van csatlakoztatva a PWM jelhez.
  3. ESP8266 01, egyenként 1,68 USD Mint ez
  4. AMS1117 3,3 V, feszültségszabályozó ESP8266 -hoz, néhány kondenzátor
  5. Egy USB -modul az ESP8266 villanásához, 0,78 USD/db, mint ez

Btw. ezek a linkek a kényelmet szolgálják.

Forrasztás és feltöltés:

  • Forrasztja össze az alkatrészeket, és használja a fenti rajzokat. Néhány előre elkészített 3,3 feszültségű áramkör időt takaríthat meg (1,38 USD/5 db ilyen). Zavarodottan emlékeztem a csapra, amikor a NYÁK lapot felfordítottam, és végül kielégítettem néhány AMS1117 feszültségszabályozót.
  • Következő. Végezzen el egy kis módosítást, mint a harmadik képen, hogy lenyomva tartsa a GPIO 0 -tól GND -ig, majd gyorsan érintse meg az RST Pin GND tűvel, hogy az ESP8266 -at a Flashmode -ba helyezze.
  • Töltse le a kódot innen a GitHub -ból, és töltse fel a kódot az ESP 8266 -ba az Arduino IDE használatával.

Kiemeltem a sort, hogy megmutassam az előfizető által feliratkozott témát. A témában közzétett üzenetek továbbadódnak a témához tartozó többi ügyfélnek (feliratkozónak). Az ebben az áramkörben lévő EPS8266 meghallgatja a témához közzétett JSON üzenetet, és kilép, ha a Harmadik csatornán változás történt

* régen azt hittem, hogy lehúzható ellenállást (100k) helyezhetek a MOSFET kapujának földelésére, amikor az ESP8266-ot nem mutatták be. Ez ESP8266 hiányában működik, de az ESP8266 esetében az ellenállás a GPIO0 -t vagy a 2 -t is lehúzza a GND -re, így vaku módba vált, vagy nem indul el (ha a GPIO2 alacsony). Ha ez megtörténik, folyamatosan zöldet fog látni.

4. lépés: Állítsa be az MQTT szervert

Állítsa be az MQTT szervert
Állítsa be az MQTT szervert
Állítsa be az MQTT szervert
Állítsa be az MQTT szervert
Állítsa be az MQTT szervert
Állítsa be az MQTT szervert
Állítsa be az MQTT szervert
Állítsa be az MQTT szervert

Az MQTT (Message Queuing Telemetry Transport) egy közzétételi-előfizetési módszeren alapuló kommunikációs protokoll. Az MQTT üzeneteket ki- és bejövő eszközt közvetítőnek hívják. Mint egy igazi bróker, a kiadók (eladók) és az előfizetők (vásárlók) közötti cserét szervezi. Nincs pénz, ami gazdát cserél. Rengeteg oktatóanyag van ehhez.

Itt az összefoglaló. A Raspberry Pi a legnépszerűbb eszköz erre. Frist, telepítse az MQTT -t:

sudo apt-get install mosquitto mosquitto-kliensek

tesztelje, hogy az MQTT szerver működik -e két terminál megnyitásával a Raspberry -n, az egyik írja be az első sort, a másik pedig a következőt:

mosquitto_sub -h localhost -t "tertopikus"

mosquitto_pub -t "tertopikus" -h localost -m "mondj valamit"

Látnia kell, hogy a "mondj valamit" megjelenik az első terminálon. Walah! Működik.

A "#" bármilyen téma meghallgatására használható, a "témája" helyett "#"

Most nem szeretné, ha valaki közzétenné vagy feliratkozna az MQTT szerverére, állítson be egy jelszót, ezt tegye a következők szerint:

cd ~

mosquitto_passwrd -c pwfile mqtt_user

Az mqtt_user lehet más tetszőleges felhasználónév, írja be kétszer a jelszót, és frissítse a.conf fájlt:

sudo nano /etc/mosquitto/mosquitto.conf

ezt a két sort hozzáteszi:

allow_anonymous false

password_file/home/pi/pwfile

majd indítsa újra a szúnyogot:

sudo systemctl indítsa újra a mosquitto -t

végezzen tesztet a név jelszóval való kiegészítésével, például:

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

mosquitto_pub -h localhost -t "tertopic" -u "mqtt_user" -P "123456" -m "ez biztosított?"

Ha az MQTT megtagadja a kapcsolatot, próbálja meg ezt az MQTT szolgáltatást a Linux rendszer hátterébe helyezni:

szúnyog -d

Úgy találtam, hogy ezeket a hivatkozásokat érdemes megnézni. Ebből a kettőből tanultam ma valamit.

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

5. lépés: Készítsen elő egy kiadót

Készítsen elő egy kiadót
Készítsen elő egy kiadót
Készítsen elő egy kiadót
Készítsen elő egy kiadót
Készítsen elő egy kiadót
Készítsen elő egy kiadót
Készítsen elő egy kiadót
Készítsen elő egy kiadót

Ehhez egy egyszerű műszerfalat készítek, hogy az üzenetet az MQTT szerverre küldjem. Készenléti állapotban az LCD-n az Óra látható.

Alkatrészek:

  1. SSD1306 Képernyő, egyenként 2,41 dollár
  2. EPS8266 WEMOS D1 Mini, egyenként 2,53 dollár
  3. Egy potenciométer
  4. Egy 4 tűs csúszó kapcsoló.
  5. két 3 mm -es LED,
  6. néhány ellenállás

Forrasztás:

Íme a terminál vázlata:

Töltse fel a kódot:

A márkás WEMOS ESP8266 -mal kellemes együtt dolgozni. Csak mikro USB -re van szüksége, nyomja meg az Arduino IDE flash feltöltésének gombját. A kód itt található (GitHub):

Üzenet közzétételéhez nyomja meg a kapcsolót a zöld led bekapcsolásához (és a piros kikapcsolásához), majd csúsztassa felfelé a csapot és állítsa be, végül nyomja meg ismét a gombot, hogy az üzenet az MQTT szerverre kerüljön. Az irányítópult JSON üzenetet tehet közzé 4 csatornán.

Vessen egy pillantást a kód kiemelésére (képernyőkép). Ez az a téma, amelyre a műszerfal elküldi az üzenetet, és LED -jeink nagyon szívesen látnak minden újat a JSON üzenetből

Nagyjából ennyi. Remélem a tutorial hasznos lesz.

Ajánlott: