Sommario:
- Passaggio 1: i LED hanno bisogno di corrente per essere limitati
- Passaggio 2: crea una torcia elettrica
- Passaggio 3: Internet delle cose con questa torcia?
- Passaggio 4: configurazione del server MQTT
- Passaggio 5: preparare un editore
Video: Dalla torcia al sensore di movimento con ESP8266 e MQTT: 5 passaggi (con immagini)
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:03
In questo post, presenterei gli elementi di seguito:
- I LED necessitano di un circuito di limitazione della corrente
- come fare una torcia elettrica
- accendere una luce alimentata dalla batteria portatile e attenuare i LED tramite ESP8266 tramite MQTT
Il video è il riassunto e una breve spiegazione di come funziona,
Avevo programmato di includere il sensore PIR, ma il tutorial diventa piuttosto lungo in modo che il sensore PIR venga presentato nella seconda parte di questo argomento
Quindi iniziamo.
Passaggio 1: i LED hanno bisogno di corrente per essere limitati
Per i principianti, questo è strano considerando come di solito si accende una lampadina a incandescenza o fluorescente. Non preoccuparti, quelle lampadine a LED sullo scaffale sono già dotate di un adattatore di alimentazione CA-CC e una corrente limitante. Ma sarebbe bello fare qualcosa da zero.
Una chiave per accendere un LED è un circuito di limitazione della corrente. Funziona come una valvola per la corrente in modo che una volta che la tensione applicata al LED che lo rende conduttivo, la corrente che scorre attraverso i LED non può essere maggiore di quella regolata dal circuito. I LED si guastano solitamente a causa del surriscaldamento. Nessun circuito di limitazione della corrente in atto è un modo sicuro per bruciare i LED in pochi secondi. A proposito, fissando i chip LED, quelli vengono sul telaio in alluminio, a un dissipatore di calore ridurre il chip LED e generalmente consigliato.
Mi stavo grattando molto la testa quando lo imparavo intorno al 2015, e continuavo a grattarmi la testa (per diversi motivi). Ho imparato da questo tutorial e la sua chiara spiegazione mi ha risparmiato qualche intoppo.
Il circuito è allegato. Le linee in grassetto indicano il percorso di carico principale e quelle più sottili indicano il meccanismo di controllo per controllare la corrente del percorso principale che è di circa 150 mA. Wikipedia ha un breve articolo e alcuni riferimenti allegati. Il limitatore di corrente può essere costruito con un transistor sostituendo il MOSFET con transistor a medio carico come BD135, BD139.
Passaggio 2: crea una torcia elettrica
Parti necessarie:
- un MOSFET a canale N (IRF540N $ 1,62/10 pezzi, 30N06, $ 1,75/10 pezzi)
- un transistor NPN (come S8085)
- Resistenza da 3,9 ohm – 2 W, la corrente è limitata a circa 0,6/3,9 = 153 mA
- Resistenza da 100kR (1/4W)
- Un interruttore a pressione
- C'è un LED da 0,5 W da 8 mm, $ 3,18/100 pezzi qui
- Una batteria al litio 18660. Ne ho recuperati alcuni da un power bank. Batteria per laptop (4, 6, 8 celle) realizzata con celle 18650 ma attenzione con quella roba.
- 1 scheda boost fino a 12V, come questa, $ 0,56
- 1 caricabatterie al litio come questo, $ 0,30
La principale differenza rispetto al circuito sopra è l'utilizzo di una batteria al litio (18660) con scheda boost up invece di un adattatore di alimentazione 5V mock-up.
L'ultima foto mostra la torcia finale e si stava caricando da qualsiasi fonte micro USB (>1A).
Passaggio 3: Internet delle cose con questa torcia?
Divido questa parte in tre passaggi:
- Prepara un abbonato (questo)
- Configura il server MQTT (passaggio successivo)
- e preparare un Editore (il prossimo)
Parti:
Innanzitutto, sì, ho usato quella parola d'ordine, alias IOT, ma questo potrebbe fare una buona combinazione di usare il circuito nel passaggio 2 con un ESP8266 e quindi controllare l'intensità della luce con il metodo MQTT.
Le parti del circuito sono identiche, tranne:
- Sostituisci il boost up a 12V con la scheda boost up MT3608, $ 1,92/5 pezzi, questo può aumentare la tensione di una batteria 18650 (circa 3,7 V) a 28 V, abbastanza per alimentare 8 LED (invece di 3).
- La posizione di non spinta nell'interruttore è collegata al GPIO 1 o 2 nell'ESP8266 per il segnale PWM.
- ESP8266 01, $ 1,68 ciascuno. Come questo
- AMS1117 3,3 V, un regolatore di tensione per ESP8266, alcuni condensatori
- Un modulo USB per flashare ESP8266, $ 0,78/pz come questo
A proposito. quei link sono per comodità.
Saldatura e caricamento:
- Saldare le parti insieme e utilizzare gli schemi sopra. Alcuni circuiti di tensione 3.3 prefabbricati potrebbero farti risparmiare tempo ($ 1,38/5 pezzi come questo). Ero confuso nel ricordare il pin quando si capovolgeva la scheda PCB e alla fine ho soddisfatto un regolatore di tensione AMS1117.
- Prossimo. Apporta una piccola modifica come nella terza foto per tenere premuto GPIO 0 su GND, tocca rapidamente il pin RST con il pin GND per mettere ESP8266 in modalità Flash.
- Scarica il codice qui dal mio GitHub e carica il codice su ESP 8266 usando Arduino IDE.
Ho evidenziato la riga per mostrare l'argomento a cui si è iscritto l'abbonato. Qualsiasi messaggio pubblicato su questo argomento verrà passato ad altri client (abbonati) a questo argomento. L'EPS8266 in questo circuito ascolterà il messaggio JSON pubblicato sull'argomento e se ne andrà se è stata apportata una modifica nel canale tre
* C'era una volta, pensavo di poter mettere un resistore pull-down (100k) per mettere a terra il Gate del MOSFET quando l'ESP8266 non era presentato. Funziona in assenza di un ESP8266, ma con ESP8266, il resistore abbassa anche il GPIO0 o 2 su GND, trasformandoli in modalità Flash o non avviandoli (quando GPIO2 è BASSO)). Vedrai un verde fisso se ciò accade.
Passaggio 4: configurazione del server MQTT
MQTT (Message Queuing Telemetry Transport) è un protocollo di messaggistica basato sul metodo publish-subscribe. Il dispositivo che ospita il messaggio MQTT in entrata e in uscita è chiamato broker. Come un vero broker, ospita lo scambio tra editori (venditori) e abbonati (acquirenti). Nessun denaro cambia di mano quelli. Ci sono molti tutorial per questo.
Ecco il resoconto. Raspberry Pi è il dispositivo più popolare per questo. Per prima cosa, installa MQTT tramite:
sudo apt-get install mosquitto mosquitto-clients
verifica se il server MQTT funziona aprendo due terminali su Raspberry, uno digita la prima riga e l'altro per la successiva:
mosquitto_sub -h localhost -t "il tuo argomento"
mosquitto_pub -t "yourtopic" -h localost -m "dire qualcosa"
Dovresti vedere il messaggio "dire qualcosa" sul primo terminale. Walah! Funziona.
Il "#" può essere utilizzato per ascoltare qualsiasi argomento, sostituire "yourtopic" con "#"
Ora non vuoi che qualcuno possa pubblicare o iscriversi al tuo server MQTT, dovresti impostare una password, facendo così:
cd ~
mosquitto_passwrd -c pwfile mqtt_user
mqtt_user può essere un altro nome utente che ti piace, inserisci la password due volte e aggiorna il file.conf con:
sudo nano /etc/mosquitto/mosquitto.conf
aggiunge queste due righe:
allow_anonimo falso
password_file /home/pi/pwfile
quindi riavvia la zanzara:
sudo systemctl riavvia mosquitto
fare una prova inserendo il nome con una password del tipo:
mosquitto_sub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456"
mosquitto_pub -h localhost -t "yourtopic" -u "mqtt_user" -P "123456" -m "è protetto?"
Inoltre, se MQTT rifiuta la connessione, prova questo per mettere il servizio MQTT in background del sistema Linux:
zanzara -d
Ho scoperto che questi riferimenti sono utili per dare un'occhiata. Ho imparato qualcosa da questi due oggi.
- Adafruit:
- Stees-internet-guide.com
Passaggio 5: preparare un editore
Per questo, creo una semplice dashboard per inviare il messaggio al server MQTT. In modalità stand, il display LCD mostra l'orologio.
Parti:
- Display dello schermo SSD1306, $ 2,41 ciascuno
- EPS8266 WEMOS D1 Mini, $ 2,53 ciascuno
- Un potenziometro
- Un interruttore a scorrimento a 4 pin.
- due led da 3mm,
- alcuni resistori
Saldatura:
Ecco lo schema di questo terminale:
Carica il codice:
È piacevole lavorare con il WEMOS ESP8266 di marca. Hai solo bisogno di una micro USB, premi il pulsante di caricamento su Arduino IDE per flashare il chip. Il codice è qui (GitHub):
Per pubblicare un messaggio, premere l'interruttore per accendere il led verde (e spegnere il rosso), quindi far scorrere il perno e regolare, e infine premere di nuovo il pulsante per inviare il messaggio al server MQTT. La dashboard potrebbe pubblicare un messaggio JSON su 4 canali.
Dai un'occhiata all'evidenziazione sul codice (screenshot). Questo è l'argomento su cui la dashboard spinge il messaggio e i nostri LED sono molto ansiosi di vedere eventuali novità dal messaggio JSON
Questo è tutto. Spero che il tutorial sia utile.
Consigliato:
Torcia frontale / Booster torcia: 13 passaggi (con immagini)
Torcia frontale / Booster torcia: la torcia frontale viene modificata utilizzando i circuiti di una luce solare da giardino. Ti consentirà di utilizzare solo 2 batterie invece di 3. Questo è utile quando si acquistano le batterie. Spesso vengono venduti solo in confezioni da 2 o 4 ma non da tre. Può anche consentire "ba morto
Crea la tua torcia con agitazione grezza (torcia di emergenza): 4 passaggi (con immagini)
Crea la tua torcia grezza agitazione (torcia di emergenza): in questo progetto ti mostrerò come ho combinato un circuito ladro di joule con una bobina e un magnete per creare una torcia tremolante che è una torcia di emergenza che non richiede batterie. iniziare
Luce LED ricaricabile/torcia dalla vecchia batteria agli ioni di litio: 15 passaggi
Luce LED ricaricabile / torcia da vecchia batteria agli ioni di litio: ciao ho fatto poche luci ricaricabili da componenti ebay economici e batterie agli ioni di litio da vecchi dispositivi elettronici
Torcia a manovella dalla vecchia unità DVD: 6 passaggi
Torcia a manovella da un vecchio lettore DVD: Ciao ragazzi, sono Manuel e bentornato a un altro progetto sull'energia verde. Oggi faremo una piccola torcia a manovella da un vecchio lettore DVD e può essere un fedele compagno in situazioni di emergenza. So che sembra impossibile
Chi c'è alla mia porta? Progetto sensore di movimento PIR/sensore di portata: 5 passaggi
Chi c'è alla mia porta? Progetto sensore di movimento PIR/sensore di portata: il nostro progetto ha lo scopo di rilevare il movimento tramite sensori PIR e di distanza. Il codice Arduino emetterà un segnale visivo e audio per dire all'utente che qualcuno è vicino. Il codice MATLAB invierà un segnale e-mail per avvisare l'utente che qualcuno è vicino. Questo dispositivo