Indholdsfortegnelse:

Fra lommelygte til bevægelsessensor med ESP8266 og MQTT: 5 trin (med billeder)
Fra lommelygte til bevægelsessensor med ESP8266 og MQTT: 5 trin (med billeder)

Video: Fra lommelygte til bevægelsessensor med ESP8266 og MQTT: 5 trin (med billeder)

Video: Fra lommelygte til bevægelsessensor med ESP8266 og MQTT: 5 trin (med billeder)
Video: #334 How to find the right Power Supply for your Project 2024, November
Anonim
Image
Image
Lysdioder har brug for strøm for at være begrænset
Lysdioder har brug for strøm for at være begrænset

I dette indlæg vil jeg præsentere emner herunder:

  • Lysdioder har brug for et begrænsende strømkredsløb
  • hvordan man laver en lommelygte
  • lav et lys drevet af det bærbare batteri, og dæmp lysdioderne af ESP8266 via MQTT

Videoen er en opsummering og en kort forklaring på, hvordan dette fungerer,

Jeg planlagde at have PIR -sensor inkluderet, men selvstudiet bliver temmelig langt, så PIR -sensoren vil blive præsenteret i anden del af dette emne

Så lad os begynde.

Trin 1: Lysdioder skal have en begrænset strøm

For begyndere er dette underligt i betragtning af, hvordan man normalt tænder en glødelampe eller fluorescerende pære. Ikke bekymre dig, de LED-pærer på hylden leveres allerede med en AC-til-DC-strømadapter og en begrænsende strøm. Men det ville være rart at lave noget fra bunden.

En nøgle til at tænde en LED er et strømbegrænsende kredsløb. Dette fungerer som en ventil til strømmen, så når spændingen, der påføres LED'en gør den ledende, kan strømmen gennem LED'erne ikke være større end den, der reguleres af kredsløbet. Lysdioder fejler normalt som følge af overophedning. Intet strømbegrænsende kredsløb på plads er en sikker måde at brænde lysdioderne op på et par sekunder. Forresten, fastgørelse af LED -chipsene, der kommer på aluminiumsrammen, til en kølelegeme reducerer LED -chippen og anbefales generelt.

Jeg ridsede meget i hovedet, da jeg lærte dette omkring 2015, og ridsede stadig i hovedet (af forskellige årsager). Jeg lærte af denne vejledning, og hans klare forklaring redder mig nogle revner.

Kredsløbet er vedhæftet. De fede linjer angiver hovedlastruten, og de tyndere angiver kontrolmekanismen til styring af strømmen på hovedruten, som er omkring 150 mA. Wikipedia har en kort artikel og nogle referencer vedhæftet. Strømbegrænsningen kan bygges med en transistor ved at erstatte MOSFET med transistorer med mellemstrøm, f.eks. BD135, BD139.

Trin 2: Lav en lommelygte

Lav en lommelygte
Lav en lommelygte
Lav en lommelygte
Lav en lommelygte
Lav en lommelygte
Lav en lommelygte
Lav en lommelygte
Lav en lommelygte

Nødvendige dele:

  1. en N-kanal MOSFET (IRF540N $ 1,62/10stk., 30N06, $.1,75/10stk.)
  2. en NPN -transistor (f.eks. S8085)
  3. 3,9 ohm - 2W modstand, strømmen begrænset til omkring 0,6/3,9 = 153mA
  4. 100kR (1/4W) modstand
  5. En push-lock kontakt
  6. Der 0,5W 8mm LED, $ 3,18/100stk her
  7. Et 18660 litiumbatteri. Jeg reddede et par af dem fra en powerbank. Laptop -batteri (4, 6, 8 celler) fremstillet af 18650 celle, men forsigtig med de ting.
  8. 1 boost op til 12V bord, som dette, $ 0,56
  9. 1 lithium oplader som denne, $ 0,30

Den største forskel i kredsløbet ovenfor er at bruge et litiumbatteri (18660) med boost up board i stedet for en mock-up 5V strømadapter.

Det sidste foto viser den sidste lommelygte, og den blev opladet fra enhver mikro -USB -kilde (> 1A).

Trin 3: Tingenes internet med denne lommelygte?

Tingenes internet med denne lommelygte?
Tingenes internet med denne lommelygte?
Tingenes internet med denne lommelygte?
Tingenes internet med denne lommelygte?
Tingenes internet med denne lommelygte?
Tingenes internet med denne lommelygte?

Jeg deler denne del op i tre trin:

  • Forbered en abonnent (denne)
  • Opsætning af MQTT -server (næste trin)
  • og forberede et forlag (det næste)

Dele:

Først, ja, jeg brugte det buzzword, alias IOTs, men denne kunne lave en god kombination af at bruge kredsløbet i trin 2 med en ESP8266 og derefter styre lysintensiteten ved hjælp af MQTT -metoden.

Dele til kredsløbet er identiske, undtagen:

  1. Udskift 12V boost op med MT3608 boost up board, $ 1,92/5 stk., Denne kan øge spændingen på et 18650 batteri (ca. 3,7V) til 28 V, nok til at drive 8LED'er (i stedet for 3).
  2. Un-push-positionen i kontakten er forbundet til GPIO 1 eller 2 i ESP8266 for PWM-signalet.
  3. ESP8266 01, $ 1,68 hver. Som denne
  4. AMS1117 3,3 V, en spændingsregulator til ESP8266, nogle kondensatorer
  5. Et USB -modul til at blinke ESP8266, $ 0,78/stk som denne

Btw. disse links er for nemheds skyld.

Lodning og upload:

  • Lodde dele sammen, og brug skemaerne ovenfor. Nogle præfabrikerede 3.3 spændingskredsløb kan spare dig for lidt tid ($ 1,38/5 stk. Som denne). Jeg var forvirret over at huske stiften, da jeg vendte printkortet og endte med at tilfredsstille en AMS1117 spændingsregulator.
  • Næste. Foretag en lille ændring som på det tredje foto for at holde GPIO 0 nede til GND, tryk hurtigt på RST Pin med GND pin for at sætte ESP8266 i Flashmode.
  • Download koden her fra min GitHub, og upload koden til ESP 8266 ved hjælp af Arduino IDE.

Jeg fremhævede linjen for at vise det emne, som abonnenten abonnerede på. Enhver besked sendt til dette emne vil blive videregivet til andre klienter (abonnenter) til dette emne. EPS8266 i dette kredsløb vil lytte til JSON -beskeden, der er sendt til emnet, og sparge ud, hvis der blev foretaget en ændring i kanal tre

* engang troede jeg, at jeg kunne sætte en pull-down-modstand (100k) til at jordere MOSFET-porten, når ESP8266 ikke blev præsenteret. Dette virker i mangel af en ESP8266, men med ESP8266 trækker modstanden også GPIO0 eller 2 ned til GND, hvilket gør dem til en Flash -tilstand eller ikke starter op (når GPIO2 er LAV)). Du vil se en fast grøn, hvis dette sker.

Trin 4: Konfigurer MQTT -server

Opsætning af MQTT -server
Opsætning af MQTT -server
Opsætning af MQTT -server
Opsætning af MQTT -server
Opsætning af MQTT -server
Opsætning af MQTT -server
Opsætning af MQTT -server
Opsætning af MQTT -server

MQTT (Message Queuing Telemetry Transport) er en messingprotokol baseret på publish-subscribe-metode. Enhed, der hoster MQTT -meddelelse ind og ud, kaldes mægleren. Ligesom en ægte mægler er den vært for udvekslingen mellem udgivere (sælgere) og abonnenter (købere). Ingen penge skifter hænder dem. Der er masser af tutorials til dette.

Her er opsummeringen. Raspberry Pi er den mest populære enhed til dette. Frist, installer MQTT af:

sudo apt-get install mosquitto myg-klienter

test om MQTT -serveren fungerer ved at åbne to terminaler på Raspberry, den ene skriver den første linje og den anden for den næste:

mosquitto_sub -h localhost -t "yourtopic"

myg_pub -t "yourtopic" -h localost -m "sig noget"

Du skulle se "sig noget" dukke op på den første terminal. Walah! Det virker.

"#" Kan bruges til at lytte til ethvert emne, erstatte "yourtopic" med "#"

Nu vil du ikke have, at nogen kan udgive eller abonnere på din MQTT -server, du skal oprette en adgangskode ved at gøre det ved at:

cd ~

mosquitto_passwrd -c pwfile mqtt_user

mqtt_user kan være andre brugernavne, du kan lide, indtast adgangskoden to gange, og opdater.conf -filen ved at:

sudo nano /etc/mosquitto/mosquitto.conf

tilføjer disse to linjer:

tillad_anonym falsk

password_file/home/pi/pwfile

genstart derefter myggen ved at:

sudo systemctl genstart myg

lav en test ved at inkludere navnet med et kodeord som:

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

mosquitto_pub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456" -m "er dette sikret?"

Hvis MQTT også nægter forbindelsen, kan du prøve at sætte MQTT -tjenesten på baggrund af Linux -systemet ved at:

myg -d

Jeg fandt ud af, at disse referencer er gode til at se. Jeg lærte noget af disse to i dag.

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

Trin 5: Forbered et udgiver

Forbered et udgiver
Forbered et udgiver
Forbered et udgiver
Forbered et udgiver
Forbered et forlag
Forbered et forlag
Forbered et forlag
Forbered et forlag

Til denne laver jeg et simpelt instrumentbræt til at skubbe beskeden til MQTT -serveren. I stand-mode viser displayet uret.

Dele:

  1. SSD1306 Skærmdisplay, $ 2,41 hver
  2. EPS8266 WEMOS D1 Mini, $ 2,53 hver
  3. Et potentiometer
  4. En 4 -pins glidekontakt.
  5. to 3 mm lysdioder,
  6. nogle modstande

Lodning:

Her er skemaerne for denne terminal:

Upload koden:

Mærket WEMOS ESP8266 er behageligt at arbejde med. Du har kun brug for en mikro -USB, tryk på upload -knappen på Arduino IDE, blitz chippen. Koden er her (GitHub):

For at offentliggøre en besked skal du trykke på kontakten for at tænde den grønne lysdiode (og rød fra), derefter glide stiften op og justere og til sidst trykke på knappen igen for at skubbe meddelelsen til MQTT -serveren. Instrumentbrættet kunne udgive en JSON -besked til 4 kanaler.

Tag et kig på højdepunktet på koden (skærmbillede). Det er det emne, instrumentbrættet skubber beskeden til, og vores lysdioder er meget ivrige efter at se noget nyt fra JSON -beskeden

Det er om det. Jeg håber, at selvstudiet er nyttigt.

Anbefalede: