Indholdsfortegnelse:
- Trin 1: Lysdioder skal have en begrænset strøm
- Trin 2: Lav en lommelygte
- Trin 3: Tingenes internet med denne lommelygte?
- Trin 4: Konfigurer MQTT -server
- Trin 5: Forbered et udgiver
Video: Fra lommelygte til bevægelsessensor med ESP8266 og MQTT: 5 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:28
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
Nødvendige dele:
- en N-kanal MOSFET (IRF540N $ 1,62/10stk., 30N06, $.1,75/10stk.)
- en NPN -transistor (f.eks. S8085)
- 3,9 ohm - 2W modstand, strømmen begrænset til omkring 0,6/3,9 = 153mA
- 100kR (1/4W) modstand
- En push-lock kontakt
- Der 0,5W 8mm LED, $ 3,18/100stk her
- 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.
- 1 boost op til 12V bord, som dette, $ 0,56
- 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?
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:
- 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).
- Un-push-positionen i kontakten er forbundet til GPIO 1 eller 2 i ESP8266 for PWM-signalet.
- ESP8266 01, $ 1,68 hver. Som denne
- AMS1117 3,3 V, en spændingsregulator til ESP8266, nogle kondensatorer
- 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
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.
- Adafruit:
- Stees-internet-guide.com
Trin 5: Forbered et udgiver
Til denne laver jeg et simpelt instrumentbræt til at skubbe beskeden til MQTT -serveren. I stand-mode viser displayet uret.
Dele:
- SSD1306 Skærmdisplay, $ 2,41 hver
- EPS8266 WEMOS D1 Mini, $ 2,53 hver
- Et potentiometer
- En 4 -pins glidekontakt.
- to 3 mm lysdioder,
- 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:
Bevægelsessensor dørklokke: 5 trin (med billeder)
Motion Sensor Doorbell: Da jeg fortalte min søn Jayden om udfordringen, tænkte han straks på at bruge LEGO WeDo -sættet. Han har spillet med Legos i årevis, men det var først i starten af sidste skoleår, at han fik mulighed for at kode med WeDo 2.0
Kamera Flash til lommelygte: 8 trin (med billeder)
Kameraflash til lommelygte: Jeg kedede mig i weekenden, så besluttede mig for at rode i mine reservoirer for lidt inspiration og fandt på denne 'ible'. Blitzen, jeg brugte, hentede jeg for et par måneder siden for et par kroner og resten af de dele, jeg havde tilovers fra andre
IoT trådløs temperatur- og bevægelsessensor: 11 trin (med billeder)
IoT trådløs temperatur- og bevægelsessensor: Jeg blev inspireret af de mange IoT -projekter, der er i Instructables, så i gang med at lære prøver jeg at kombinere nogle nyttige applikationer, der er relevante. Som forlængelse af mine tidligere instruktioner relateret til IoT -temperatursensor, jeg nu
Automatiser et lys ved hjælp af MESH -bevægelsessensor: 3 trin (med billeder)
Automatiser et lys ved hjælp af MESH -bevægelsessensor: Glemmer du ofte at slukke lyset? Det er altid muligt at glemme at slukke lyset, når du forlader dit hus eller værelse, men med MESH -bevægelsessensoren løste vi problemet ved at bruge detekterings- og opdagelsesfunktionerne til at hjælpe dig med at lette
Bevægelsessensor med Blynk-meddelelser (WeMos D1 Mini + HC-SR04): 4 trin (med billeder)
Bevægelsesdetektor med Blynk-meddelelser (WeMos D1 Mini + HC-SR04): STEM venligst for dette projekt i den trådløse konkurrence. Tak! Opdatering nr. 2 - Få tweaks (version 2.2), du kan konfigurere din sensor (område og navn) lige i definitionen. Det skete også nogle gange, at sensoren læste forkerte værdier og sendte meddelelse