Innholdsfortegnelse:

Fra lommelykt til bevegelsessensor med ESP8266 og MQTT: 5 trinn (med bilder)
Fra lommelykt til bevegelsessensor med ESP8266 og MQTT: 5 trinn (med bilder)

Video: Fra lommelykt til bevegelsessensor med ESP8266 og MQTT: 5 trinn (med bilder)

Video: Fra lommelykt til bevegelsessensor med ESP8266 og MQTT: 5 trinn (med bilder)
Video: Vi lager Han-modul for å lese av strømmåleren din. Episode 1 2024, November
Anonim
Image
Image
Lysdioder trenger strøm for å være begrenset
Lysdioder trenger strøm for å være begrenset

I dette innlegget vil jeg presentere elementene nedenfor:

  • Lysdioder trenger en begrensende strømkrets
  • hvordan lage en lommelykt
  • lage et lys drevet av det bærbare batteriet, og dimme lysdiodene med ESP8266 via MQTT

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

Jeg planla å ha PIR -sensor inkludert, men opplæringen blir ganske lang slik at PIR -sensoren vil bli presentert i den andre delen av dette emnet

Så la oss begynne.

Trinn 1: Lysdioder trenger strøm for å være begrenset

For nybegynnere er dette rart med tanke på hvordan man vanligvis slår på en glødelampe eller lysrør. Ikke bekymre deg, disse LED-pærene på hyllen har allerede en AC-til-DC strømadapter og en begrensende strøm. Men det ville være fint å lage noe fra bunnen av.

En nøkkel for å slå en LED er en strømbegrensende krets. Dette fungerer som en ventil for strømmen, slik at når spenningen som tilføres LED -en gjør den ledende, kan strømmen gjennom lysdiodene ikke være større enn den som reguleres av kretsen. Lysdioder mislykkes vanligvis som følge av overoppheting. Ingen strømbegrensningskrets på plass er en sikker måte å brenne lysdiodene på i løpet av få sekunder. Forresten, ved å fikse LED -brikkene, de som kommer på aluminiumsrammen, til en kjøleribbe, reduseres LED -brikken og anbefales generelt.

Jeg klødde mye i hodet da jeg lærte dette rundt 2015, og klødde fremdeles i hodet (av forskjellige grunner). Jeg lærte av denne opplæringen, og hans klare forklaring sparer meg for noen riper.

Kretsen er vedlagt. De fete linjene angir hovedlastruten, og de tynnere angir kontrollmekanismen for å kontrollere strømmen til hovedruten som er omtrent 150 mA. Wikipedia har en kort artikkel og noen referanser vedlagt. Strømbegrensningen kan bygges med en transistor ved å erstatte MOSFET med transistorer med middels strømbelastning som BD135, BD139.

Trinn 2: Lag en lommelykt

Lag en lommelykt
Lag en lommelykt
Lag en lommelykt
Lag en lommelykt
Lag en lommelykt
Lag en lommelykt
Lag en lommelykt
Lag en lommelykt

Nødvendige deler:

  1. en N-kanal MOSFET (IRF540N $ 1,62/10stk, 30N06, $.1,75/10stk)
  2. en NPN -transistor (for eksempel S8085)
  3. 3,9 ohm - 2W motstand, strømmen begrenset rundt 0,6/3,9 = 153mA
  4. 100kR (1/4W) motstand
  5. En trykklåsbryter
  6. Det er 0,5 W 8 mm LED, $ 3,18/100 stk her
  7. Et litiumbatteri fra 18660. Jeg reddet noen av dem fra en powerbank. Laptop -batteri (4, 6, 8 celler) laget av 18650 celle, men forsiktig med det.
  8. 1 boost opp til 12V brett, som dette, $ 0,56
  9. 1 litiumlader som denne, 0,30 dollar

Hovedforskjellen til kretsen ovenfor er å bruke et litiumbatteri (18660) med boost up-bord i stedet for en 5V strømadapter.

Det siste bildet viser den siste lommelykten, og den lades fra en hvilken som helst mikro -USB -kilde (> 1A).

Trinn 3: Tingenes internett med denne lommelykten?

Tingenes internett med denne lommelykten?
Tingenes internett med denne lommelykten?
Tingenes internett med denne lommelykten?
Tingenes internett med denne lommelykten?
Tingenes internett med denne lommelykten?
Tingenes internett med denne lommelykten?

Jeg deler denne delen i tre trinn:

  • Forbered en abonnent (denne)
  • Oppsett av MQTT -server (neste trinn)
  • og forberede en utgiver (den neste)

Deler:

Først, ja, jeg brukte det buzzwordet, også kjent som IOTs, men dette kan være en god kombinasjon av å bruke kretsen i trinn 2 med en ESP8266 og deretter kontrollere lysintensiteten ved hjelp av MQTT -metoden.

Deler til kretsen er identiske, unntatt:

  1. Erstatt 12V boost opp med MT3608 boost up board, $ 1,92/5stk, denne kan øke spenningen til et 18650 batteri (ca. 3,7V) til 28 V, nok til å drive 8LED (i stedet for 3).
  2. Un-push-posisjonen i bryteren er koblet til GPIO 1 eller 2 i ESP8266 for PWM-signal.
  3. ESP8266 01, 1,68 dollar hver. Som denne
  4. AMS1117 3,3 V, en spenningsregulator for ESP8266, noen kondensatorer
  5. En USB -modul for å blinke ESP8266, $ 0,78/stk som denne

Btw. disse koblingene er for enkelhets skyld.

Lodding og opplasting:

  • Lodde deler sammen, og bruk skjemaene ovenfor. Noen ferdiglagde 3,3 spenningskretser kan spare deg for litt tid ($ 1,38/5 stk som dette). Jeg var forvirret over å huske pinnen da jeg vendte PCB -kortet og endte opp med å tilfredsstille noen AMS1117 spenningsregulator.
  • Neste. Gjør en liten modifikasjon som på det tredje bildet for å holde nede GPIO 0 til GND, trykk raskt på RST -pinnen med GND -pinnen for å sette ESP8266 i Flashmode.
  • Last ned koden her fra min GitHub, og last opp koden til ESP 8266 ved hjelp av Arduino IDE.

Jeg markerte linjen for å vise emnet som abonnenten abonnerte på. Enhver melding som legges ut til dette emnet vil bli sendt videre til andre klienter (abonnenter) til dette emnet. EPS8266 i denne kretsen vil lytte til JSON -meldingen som er lagt ut på emnet og sparge ut hvis det ble gjort en endring i kanal tre

* en gang trodde jeg at jeg kunne sette en nedtrekksmotstand (100k) for å jorde porten til MOSFET når ESP8266 ikke ble presentert. Dette fungerer i fravær av en ESP8266, men med ESP8266 trekker motstanden også ned GPIO0 eller 2 til GND, noe som gjør dem til en Flash -modus eller ikke starter opp (når GPIO2 er LAV)). Du vil se en solid grønn hvis dette skjer.

Trinn 4: Sett opp MQTT -server

Sett opp MQTT -server
Sett opp MQTT -server
Sett opp MQTT -server
Sett opp MQTT -server
Sett opp MQTT -server
Sett opp MQTT -server
Sett opp MQTT -server
Sett opp MQTT -server

MQTT (Message Queuing Telemetry Transport) er en messingprotokoll basert på publish-subscribe-metode. Enhet som er vert for MQTT -melding inn og ut kalles megler. Som en ekte megler er det utveksling mellom utgivere (selgere) og abonnenter (kjøpere). Ingen penger skifter hender de. Det er mange opplæringsprogrammer for dette.

Her er sammendraget. Raspberry Pi er den mest populære enheten for dette. Frist, installer MQTT av:

sudo apt-get install mosquitto mygg-klienter

test om MQTT -serveren fungerer ved å åpne to terminaler på Raspberry, den ene skriver den første linjen og den andre for den neste:

mosquitto_sub -h localhost -t "yourtopic"

mosquitto_pub -t "yourtopic" -h localost -m "si noe"

Du bør se "si noe" dukker opp på den første terminalen. Walah! Det fungerer.

"#" Kan brukes til å lytte til ethvert emne, erstatte "yourtopic" med "#"

Nå som du ikke vil at noen kan publisere eller abonnere på MQTT -serveren din, bør du sette opp et passord ved å gjøre det:

cd ~

mosquitto_passwrd -c pwfile mqtt_user

mqtt_user kan være andre brukernavn du liker, skriv inn passordet to ganger og oppdater.conf -filen med:

sudo nano /etc/mosquitto/mosquitto.conf

legger til disse to linjene:

allow_anonymous false

password_file/home/pi/pwfile

start deretter myggen på nytt ved å:

sudo systemctl start mygg på nytt

gjør en test ved å inkludere navnet med et passord 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?"

Også hvis MQTT nekter tilkoblingen, kan du prøve dette for å sette MQTT -tjenesten i bakgrunnen til Linux -systemet ved å:

mygg -d

Jeg fant ut at disse referansene er gode å se på. Jeg lærte noe av disse to i dag.

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

Trinn 5: Forbered en utgiver

Forbered en utgiver
Forbered en utgiver
Forbered en utgiver
Forbered en utgiver
Forbered en utgiver
Forbered en utgiver
Forbered en utgiver
Forbered en utgiver

For denne lager jeg et enkelt dashbord for å sende meldingen til MQTT -serveren. I stand-modus viser LCD-skjermen klokken.

Deler:

  1. SSD1306 Skjerm, $ 2,41 hver
  2. EPS8266 WEMOS D1 Mini, 2,53 dollar hver
  3. Et potensiometer
  4. En glidebryter med 4 pinner.
  5. to 3 mm lysdioder,
  6. noen motstander

Lodding:

Her er skjematikken til denne terminalen:

Last opp koden:

Den merkede WEMOS ESP8266 er hyggelig å jobbe med. Du trenger bare en mikro -USB, trykk på opplastingsknappen på Arduino IDE og blits. Koden er her (GitHub):

For å publisere en melding, trykk på bryteren for å slå den grønne lysdioden på (og rød av), skyv deretter opp pinnen og juster den, og til slutt trykker du på knappen igjen for å skyve meldingen inn på MQTT -serveren. Dashbordet kan publisere en JSON -melding til 4 kanaler.

Ta en titt på høydepunktet på koden (skjermbilde). Det er emnet dashbordet skyver meldingen til, og våre lysdioder er veldig ivrige etter å se noe nytt fra JSON -meldingen

Det er omtrent det. Jeg håper opplæringen er nyttig.

Anbefalt: