Innehållsförteckning:

Från ficklampa till rörelsesensor med ESP8266 och MQTT: 5 steg (med bilder)
Från ficklampa till rörelsesensor med ESP8266 och MQTT: 5 steg (med bilder)

Video: Från ficklampa till rörelsesensor med ESP8266 och MQTT: 5 steg (med bilder)

Video: Från ficklampa till rörelsesensor med ESP8266 och MQTT: 5 steg (med bilder)
Video: ESP8266 + Vera 2024, Juli
Anonim
Image
Image
Lysdioder behöver ström för att begränsas
Lysdioder behöver ström för att begränsas

I det här inlägget skulle jag presentera artiklar nedan:

  • Lysdioder behöver en begränsande strömkrets
  • hur man gör en ficklampa
  • göra en lampa som drivs av det bärbara batteriet och dimma lysdioderna med ESP8266 via MQTT

Videon är en sammanfattning och en kort förklaring av hur detta fungerar,

Jag planerade att ha PIR -sensor inkluderad, men självstudien blir ganska lång så att PIR -sensorn kommer att presenteras i den andra delen av detta ämne

Så låt oss börja.

Steg 1: Lysdioder behöver ström begränsas

För nybörjare är detta konstigt med tanke på hur man vanligtvis tänder en glödlampa eller lysrör. Oroa dig inte, de LED-lamporna på hyllan har redan en AC-till-DC-nätadapter och en begränsande ström. Men det vore trevligt att göra något från grunden.

En nyckel för att vrida en lysdiod är en strömbegränsande krets. Detta fungerar som en ventil för strömmen så att när spänningen som appliceras på lysdioden gör den ledande, kan strömmen genom lysdioderna inte vara större än den som regleras av kretsen. Lysdioder misslyckas vanligtvis på grund av överhettning. Ingen strömbegränsande krets på plats är ett säkert sätt att bränna lysdioderna på några sekunder. Förresten, fixering av LED -chipsen, de som kommer på aluminiumramen, till en kylfläns minskar LED -chipet och rekommenderas i allmänhet.

Jag kliade mig mycket i huvudet när jag lärde mig detta runt 2015 och skrapade fortfarande på huvudet (av olika skäl). Jag lärde mig av denna handledning och hans tydliga förklaring räddar mig några repor.

Kretsen är ansluten. De djärva linjerna anger huvudbelastningsvägen, och de tunnare anger styrmekanismen för att styra strömmen för huvudvägen som är cirka 150 mA. Wikipedia har en kort artikel och några referenser bifogade. Strömbegränsningen kan byggas med en transistor genom att ersätta MOSFET med medelströmstransistorer som BD135, BD139.

Steg 2: Gör en ficklampa

Gör en ficklampa
Gör en ficklampa
Gör en ficklampa
Gör en ficklampa
Gör en ficklampa
Gör en ficklampa
Gör en ficklampa
Gör en ficklampa

Delar som behövs:

  1. en N-kanal MOSFET (IRF540N $ 1,62/10st, 30N06, $. 1,75/10st)
  2. en NPN -transistor (som S8085)
  3. 3,9 ohm - 2W motstånd, strömmen begränsad runt 0,6/3,9 = 153mA
  4. 100kR (1/4W) motstånd
  5. En tryckknapp
  6. Det finns 0,5W 8mm LED, $ 3,18/100st här
  7. Ett litiumbatteri från 18660. Jag räddade några av dem från en powerbank. Datorbatteri (4, 6, 8 celler) tillverkat av 18650 -cell men försiktig med de grejerna.
  8. 1 boost upp till 12V kort, som den här, $ 0,56
  9. 1 litiumladdare som denna, 0,30 dollar

Huvudskillnaden mot kretsen ovan är att använda ett litiumbatteri (18660) med boost-up-kort i stället för en mock-up 5V-nätadapter.

Det sista fotot visar den sista ficklampan och den laddades från valfri mikro -USB -källa (> 1A).

Steg 3: Internet of Things med denna ficklampa?

Sakernas internet med denna ficklampa?
Sakernas internet med denna ficklampa?
Sakernas internet med denna ficklampa?
Sakernas internet med denna ficklampa?
Sakernas internet med denna ficklampa?
Sakernas internet med denna ficklampa?

Jag delar denna del i tre steg:

  • Förbered en prenumerant (den här)
  • Konfigurera MQTT -server (nästa steg)
  • och förbered en utgivare (nästa)

Delar:

Först, ja, jag använde det modeordet, även kallat IOT, men det här kan göra en bra kombination av att använda kretsen i steg 2 med en ESP8266 och sedan styra ljusintensiteten med MQTT -metoden.

Delar till kretsen är identiska, förutom:

  1. Ersätt 12V boost upp med MT3608 boost up board, $ 1.92/5st, den här kan öka spänningen på ett 18650 batteri (cirka 3.7V) till 28 V, tillräckligt för att driva 8 LED (istället för 3).
  2. Avtryckningsläget i omkopplaren är anslutet till GPIO 1 eller 2 i ESP8266 för PWM-signal.
  3. ESP8266 01, 1,68 dollar styck. Som den här
  4. AMS1117 3,3 V, en spänningsregulator för ESP8266, några kondensatorer
  5. En USB -modul för att blinka ESP8266, $ 0,78/st som den här

Btw. dessa länkar är för enkelhets skull.

Lödning och uppladdning:

  • Lödda delar tillsammans och använd schemat ovan. Vissa färdiga 3,3 spänningskretsar kan spara lite tid ($ 1,38/5st så här). Jag var förvirrad när jag kom ihåg stiftet när jag vred på kretskortet och slutade tillfredsställa någon AMS1117 -spänningsregulator.
  • Nästa. Gör en liten ändring som på det tredje fotot för att hålla ner GPIO 0 till GND, tryck snabbt på RST -stiftet med GND -stift för att sätta in ESP8266 i Flashmode.
  • Ladda ner koden här från min GitHub och ladda upp koden till ESP 8266 med Arduino IDE.

Jag markerade raden för att visa ämnet som prenumeranten prenumererade på. Alla meddelanden som skickas till detta ämne kommer att skickas vidare till andra kunder (prenumeranter) till detta ämne. EPS8266 i den här kretsen kommer att lyssna på JSON -meddelandet som publicerats för ämnet och skicka ut om en ändring gjordes i kanal tre

* en gång i tiden trodde jag att jag kunde sätta ett neddragningsmotstånd (100k) för att jorda MOSFET-porten när ESP8266 inte presenterades. Detta fungerar i avsaknad av en ESP8266, men med ESP8266 drar motståndet också ner GPIO0 eller 2 till GND, vilket gör dem till ett Flash -läge eller inte startar upp (när GPIO2 är LÅG)). Du kommer att se en fast grön om detta händer.

Steg 4: Konfigurera MQTT -server

Konfigurera MQTT -server
Konfigurera MQTT -server
Konfigurera MQTT -server
Konfigurera MQTT -server
Konfigurera MQTT -server
Konfigurera MQTT -server
Konfigurera MQTT -server
Konfigurera MQTT -server

MQTT (Message Queuing Telemetry Transport) är ett messingprotokoll baserat på publish-subscribe-metod. Enhet som är värd för MQTT -meddelande in och ut kallas mäklare. Som en riktig mäklare är det värd för utbytet mellan utgivare (säljare) och prenumeranter (köpare). Inga pengar byter händer dem. Det finns gott om självstudier för detta.

Här är sammanfattningen. Raspberry Pi är den mest populära enheten för detta. Frist, installera MQTT av:

sudo apt-get install mosquitto myggklienter

testa om MQTT -servern fungerar genom att öppna två terminaler på Raspberry, den ena skriver den första raden och den andra för nästa:

mosquitto_sub -h localhost -t "yourtopic"

mygga_pub -t "yourtopic" -h localost -m "säga något"

Du bör se att "säga något" dyker upp på den första terminalen. Walah! Det fungerar.

"#" Kan användas för att lyssna på vilket ämne som helst, ersätt "yourtopic" med "#"

Nu vill du inte att någon kan publicera eller prenumerera på din MQTT -server, du bör ställa in ett lösenord genom att:

cd ~

mosquitto_passwrd -c pwfile mqtt_user

mqtt_user kan vara andra användarnamn du gillar, ange lösenordet två gånger och uppdatera.conf -filen med:

sudo nano /etc/mosquitto/mosquitto.conf

lägger till dessa två rader:

allow_anonymous false

password_file/home/pi/pwfile

starta sedan om myggen genom att:

sudo systemctl starta om myggan

gör ett test genom att inkludera namnet med ett lösenord som:

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

mosquitto_pub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456" -m "är detta säkrat?"

Också om MQTT vägrar anslutningen, försök med detta för att sätta MQTT -tjänsten till bakgrunden av Linux -systemet genom att:

mygga -d

Jag tyckte att dessa referenser är bra att titta på. Jag lärde mig något av dessa två idag.

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

Steg 5: Förbered en utgivare

Förbered ett utgivare
Förbered ett utgivare
Förbered ett utgivare
Förbered ett utgivare
Förbered ett utgivare
Förbered ett utgivare
Förbered ett utgivare
Förbered ett utgivare

För den här gör jag en enkel instrumentpanel för att skicka meddelandet till MQTT -servern. I vänteläge visar klockan klockan.

Delar:

  1. SSD1306 Skärm, 2,41 dollar styck
  2. EPS8266 WEMOS D1 Mini, 2,53 dollar styck
  3. En potentiometer
  4. En 4 -stifts glidkontakt.
  5. två 3 mm lysdioder,
  6. några motstånd

Lödning:

Här är schematiken för denna terminal:

Ladda upp koden:

Märket WEMOS ESP8266 är trevligt att arbeta med. Du behöver bara en mikro -USB, tryck på uppladdningsknappen på Arduino IDE och blinka. Koden finns här (GitHub):

För att publicera ett meddelande, tryck på strömbrytaren för att slå på den gröna lampan (och röd av), skjut sedan upp stiftet och justera och tryck till sist på knappen igen för att trycka på meddelandet till MQTT -servern. Instrumentpanelen kan publicera ett JSON -meddelande till fyra kanaler.

Ta en titt på höjdpunkten på koden (skärmdump). Det är ämnet som instrumentpanelen driver meddelandet till, och våra lysdioder är mycket ivriga att se något nytt från JSON -meddelandet

Det handlar om det. Jag hoppas att handledningen är till hjälp.

Rekommenderad: