Inhoudsopgave:
- Stap 1: LED's hebben stroom nodig om te worden beperkt
- Stap 2: Maak een zaklamp
- Stap 3: Internet of Things met deze zaklamp?
- Stap 4: MQTT-server instellen
- Stap 5: Een uitgever voorbereiden
Video: Van zaklamp tot bewegingssensor met ESP8266 en MQTT - Ajarnpa
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:17
In dit bericht zou ik onderstaande items presenteren:
- LED's hebben een stroombegrenzing nodig
- hoe maak je een zaklamp?
- maak een lamp die wordt gevoed door de draagbare batterij en dim de LED's met ESP8266 via MQTT
De video is de samenvatting en een korte uitleg van hoe dit werkt,
Ik was van plan om een PIR-sensor toe te voegen, maar de tutorial wordt nogal lang, zodat de PIR-sensor in het tweede deel van dit onderwerp wordt gepresenteerd
Dus laten we beginnen.
Stap 1: LED's hebben stroom nodig om te worden beperkt
Voor beginners is dit raar als je bedenkt hoe je normaal gesproken een gloeilamp of tl-lamp aanzet. Geen zorgen, die led-lampen op de plank worden al geleverd met een AC-naar-DC-voedingsadapter en een begrenzingsstroom. Maar het zou leuk zijn om iets van de grond af te maken.
Een sleutel om een LED te laten draaien is een stroombegrenzingscircuit. Dit werkt als een klep voor de stroom, zodat zodra de spanning die op de LED wordt toegepast waardoor deze geleidend wordt, de stroom door de LED's niet groter kan zijn dan de stroom die door het circuit wordt geregeld. Het uitvallen van LED's is meestal het gevolg van oververhitting. Geen stroombegrenzingscircuit is een zekere manier om de LED's in een paar seconden op te branden. Trouwens, het bevestigen van de LED-chips, die op het aluminium frame komen, op een koellichaam verminderen de LED-chip en worden over het algemeen aanbevolen.
Ik krabde veel aan mijn hoofd toen ik dit rond 2015 leerde, en krabde nog steeds aan mijn hoofd (om verschillende redenen). Ik heb geleerd van deze tutorial en zijn duidelijke uitleg bespaart me wat craquelé.
De schakeling is bijgevoegd. De dikke lijnen geven de hoofdlaadroute aan en de dunnere lijnen geven het regelmechanisme aan om de stroom van de hoofdroute te regelen, die ongeveer 150 mA is. Wikipedia heeft een kort artikel en enkele referenties bijgevoegd. De stroombegrenzing kan worden gebouwd met een transistor door MOSFET te vervangen door transistors met gemiddelde stroombelasting, zoals BD135, BD139.
Stap 2: Maak een zaklamp
Onderdelen nodig:
- een N-kanaal MOSFET (IRF540N $ 1,62/10st, 30N06, $ 1,75/10st)
- een NPN-transistor (zoals S8085)
- 3.9 ohm - 2W weerstand, de stroom beperkt rond 0.6/3,9 = 153mA
- 100kR (1/4W) weerstand
- Een push-lock schakelaar
- Er is een LED van 0,5 W 8 mm, hier $ 3,18 / 100 stuks
- Een 18660 lithiumbatterij. Ik heb er een paar van een powerbank gered. Laptopbatterij (4, 6, 8 cellen) gemaakt van 18650 cellen, maar wees voorzichtig met dat spul.
- 1 boost tot 12V-kaart, zoals deze, $ 0,56
- 1 lithium-oplader zoals deze, $ 0,30
Het belangrijkste verschil met het bovenstaande circuit is het gebruik van een lithiumbatterij (18660) met boost-upboard in plaats van een mock-up 5V-voedingsadapter.
De laatste foto toont de laatste zaklamp en hij laadde op vanaf een micro-USB-bron (>1A).
Stap 3: Internet of Things met deze zaklamp?
Ik verdeel dit deel in drie stappen:
- Bereid een abonnee voor (deze)
- MQTT-server instellen (volgende stap)
- en bereid een uitgever voor (de volgende)
Onderdelen:
Ten eerste, ja, ik gebruikte dat modewoord, ook wel IOT's genoemd, maar deze zou een goede combinatie kunnen zijn van het gebruik van het circuit in stap 2 met een ESP8266 en vervolgens de lichtintensiteit regelen met de MQTT-methode.
Onderdelen voor het circuit zijn identiek, behalve:
- Vervang 12V boost-up door MT3608 boost-up board, $ 1,92 / 5st, deze kan de spanning van een 18650-batterij (ongeveer 3,7 V) verhogen tot 28 V, genoeg om 8 LED's van stroom te voorzien (in plaats van 3).
- De un-push positie in de schakelaar is verbonden met de GPIO 1 of 2 in de ESP8266 voor PWM-signaal.
- ESP8266 01, $ 1,68 per stuk. Zoals deze
- AMS1117 3.3 V, een spanningsregelaar voor ESP8266, sommige condensatoren
- Een USB-module om ESP8266 te flashen, $ 0,78/pcs zoals deze
Trouwens. die links zijn voor het gemak.
Solderen en uploaden:
- Soldeer onderdelen aan elkaar en gebruik de schema's hierboven. Sommige vooraf gemaakte 3.3-spanningscircuits kunnen u wat tijd besparen ($ 1,38 / 5 stuks zoals deze). Ik was in de war toen ik me de pin herinnerde bij het omdraaien van de printplaat en uiteindelijk voldeed aan een AMS1117-spanningsregelaar.
- Volgende. Breng een kleine wijziging aan zoals in de derde foto om de GPIO 0 op GND te houden, tik snel op de RST-pin met GND-pin om de ESP8266 in Flash-modus te zetten.
- Download de code hier van mijn GitHub en upload de code naar ESP 8266 met behulp van Arduino IDE.
Ik heb de regel gemarkeerd om het onderwerp weer te geven waarop de abonnee zich heeft geabonneerd. Elk bericht dat in dit onderwerp wordt geplaatst, wordt doorgegeven aan andere klanten (abonnees) op dit onderwerp. De EPS8266 in dit circuit zal luisteren naar het JSON-bericht dat in het onderwerp is gepost en eruit springen als er een wijziging is aangebracht in kanaal drie
* Er was eens, ik dacht dat ik een pull-down weerstand (100k) kon plaatsen om de Gate van MOSFET te aarden toen de ESP8266 niet werd gepresenteerd. Dit werkt in de afwezigheid van een ESP8266, maar met ESP8266 trekt de weerstand ook de GPIO0 of 2 naar GND, waardoor ze in een Flash-modus gaan of niet opstarten (wanneer GPIO2 LAAG is). U ziet een ononderbroken groen als dit gebeurt.
Stap 4: MQTT-server instellen
MQTT (Message Queuing Telemetry Transport) is een Message-protocol gebaseerd op de publish-subscribe-methode. Device hosting MQTT-bericht in en uit wordt de makelaar genoemd. Als een echte makelaar organiseert het de uitwisseling tussen uitgevers (verkopers) en abonnees (kopers). Geen geld verandert handen die. Hier zijn genoeg tutorials voor.
Hier is de samenvatting. Raspberry Pi is hiervoor het meest populaire apparaat. Installeer eerst MQTT door:
sudo apt-get install mosquitto mosquitto-clients
test of de MQTT-server werkt door twee terminals op Raspberry te openen, typ de eerste regel en de andere voor de volgende:
mosquitto_sub -h localhost -t "uwonderwerp"
mosquitto_pub -t "yourtopic" -h localost -m "zeg iets"
Je zou de "zeg iets" moeten zien verschijnen op de eerste terminal. Wala! Het werkt.
De "#" kan worden gebruikt om naar elk onderwerp te luisteren, vervang "yourtopic" door "#"
Nu u niet wilt dat iemand uw MQTT-server kan publiceren of erop kan abonneren, moet u een wachtwoord instellen door:
cd ~
mosquitto_passwrd -c pwfile mqtt_user
mqtt_user kunnen andere gebruikersnamen zijn die je leuk vindt, voer het wachtwoord twee keer in en werk het.conf-bestand bij door:
sudo nano /etc/mosquitto/mosquitto.conf
voegt deze twee regels toe:
allow_anonymous false
wachtwoord_bestand /home/pi/pwbestand
herstart dan de mug door:
sudo systemctl herstart mug
maak een test door de naam op te nemen met een wachtwoord zoals:
mosquitto_sub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456"
mosquitto_pub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456" -m "is dit beveiligd?"
Ook als de MQTT de verbinding weigert, probeer dit dan om de MQTT-service op de achtergrond van het Linux-systeem te plaatsen door:
mug -d
Ik vond deze referenties goed om te bekijken. Ik heb vandaag iets van deze twee geleerd.
- Adafruit:
- Stees-internet-guide.com
Stap 5: Een uitgever voorbereiden
Voor deze maak ik een eenvoudig dashboard om het bericht naar de MQTT-server te pushen. In de stand-modus toont het LCD-scherm de klok.
Onderdelen:
- SSD1306 Schermweergave, $ 2,41 per stuk
- EPS8266 WEMOS D1 Mini, elk $ 2,53
- een potentiometer
- Een 4-pins schuifschakelaar.
- twee 3 mm LED's,
- sommige weerstanden
Solderen:
Hier is het schema van deze terminal:
Upload de code:
De branded WEMOS ESP8266 is prettig om mee te werken. Je hebt alleen een micro-USB nodig, druk op de upload-knop op Arduino IDE flash de chip. De code is hier (GitHub):
Om een bericht te publiceren, drukt u op de schakelaar om de groene led aan (en rood uit) te zetten, schuift u vervolgens de pin omhoog en past u deze aan, en tenslotte drukt u nogmaals op de knop om het bericht naar de MQTT-server te duwen. Het dashboard zou een JSON-bericht kunnen publiceren naar 4 kanalen.
Bekijk de markering op de code (screenshot). Dat is het onderwerp waar het dashboard de boodschap naartoe stuurt, en onze LED's willen heel graag iets nieuws van het JSON-bericht zien
Daar gaat het om. Ik hoop dat de tutorial nuttig is.
Aanbevolen:
Bewegingssensor deurbel: 5 stappen (met afbeeldingen)
Bewegingssensor deurbel: Toen ik mijn zoon Jayden vertelde over de uitdaging, dacht hij meteen aan de LEGO WeDo set. Hij speelt al jaren met Lego, maar pas begin vorig schooljaar kreeg hij de kans om te coderen met WeDo 2.0
Internet/cloudgestuurde huisautomatisering met behulp van Esp8266 (aREST, MQTT, IoT): 7 stappen (met afbeeldingen)
Internet/cloudgestuurde huisautomatisering met behulp van Esp8266 (aREST, MQTT, IoT): ALLE credits naar http://arest.io/ voor de cloudservice!!IoT het meest besproken onderwerp ter wereld op dit moment!! Cloudservers en -services die dit mogelijk maken, is het aantrekkingspunt van de wereld van vandaag… DE AFSTANDSBARRIRE UITSLUITEN was en is de
LED met bewegingssensor: 8 stappen
LED met bewegingssensor: achtergrond: vergeet u wel eens een licht uit te doen voordat u naar school gaat of naar uw werk gaat of voordat u naar bed gaat? Die uren met de lichten aan wanneer u ze niet gebruikt, kunnen behoorlijk oplopen in kosten en energieverlies. Bijvoorbeeld, volgens solarcity
IoT draadloze temperatuur- en bewegingssensor: 11 stappen (met afbeeldingen)
IoT draadloze temperatuur- en bewegingssensor: ik werd geïnspireerd door de vele IoT-projecten in Instructables, dus tijdens het leren probeer ik een aantal nuttige toepassingen te combineren die relevant zijn. Als uitbreiding op mijn vorige Instructables met betrekking tot IoT-temperatuursensor, heb ik nu
Een Mega-zaklamp van 30 W maken: 24 stappen (met afbeeldingen) Antwoorden op al uw "Hoe?"
Hoe maak je een 30w Mega-zaklamp: Hallo, in deze intructable laat ik zien hoe je een 30w mega-zaklamp maakt