Sommario:
- Passaggio 1: preparazione
- Passaggio 2: grafico di connessione
- Passaggio 3: codice
- Passaggio 4: Impostazioni client MQTT
Video: NodeMCU MQTT Iot Project - Pulsante Switch: 4 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:02
Starter kit OSOYOO NodeMCU IOT
Seguici su Facebook, trova il nostro nuovo articolo rilasciato e condividi la tua idea e il video su come utilizzare in modo creativo i nostri prodotti. Puoi ottenere un rimborso o un omaggio da noi! Facebook:
Youtube:
In questa lezione collegheremo un pulsante switch al NodeMCU e invieremo lo stato dello switch a un broker MQTT. Quando il pulsante viene premuto, NodeMCU pubblicherà lo stato del pulsante "premuto" sul broker MQTT e il client MQTT sottoscriverà questi messaggi. Quando il pulsante viene rilasciato, verrà inviato "non premuto".
Passaggio 1: preparazione
Hardware:
Scheda NodeMCU x 1
Pulsante interruttore x 1
Resistenza da 1K x 1
Tagliere x 1
Ponticelli
Software:
Arduino IDE (versione 1.6.4+)
Pacchetto scheda ESP8266 e driver della porta seriale
Client MQTT (MQTTBox qui)
Libreria Arduino: PubSubClient
Passaggio 2: grafico di connessione
In questa lezione, usiamo D2(GPIO4) per controllare lo switch, si prega di configurare l'hardware in base al grafico di connessione.
Nota: il resistore da 1k viene utilizzato come resistore di pull-down, in un tale circuito, quando l'interruttore è chiuso, l'ingresso NodeMCU ha un valore logico alto, ma quando l'interruttore è aperto, il resistore di pull-down tira la tensione di ingresso a terra (valore logico zero), impedendo uno stato indefinito all'ingresso.
Passaggio 3: codice
Copia il codice seguente nell'IDE Arduino:
/* _ _ _ _ _ _ _ _ _ _ * / _ / /_)/ _ \| | | |/ _ / / _ / / _) _ \| / *| |_| |_ | |_| | |_| | |_| | |_| ((_| |_| | | | | * \_/(_/ \_/ \_ |\_/ \_(_)_)_/|_|_|_| * (_/ * Utilizzare il NodeMCU invia lo stato del pulsante di commutazione al client MQTT tramite WiFi * URL tutorial: * CopyRight www.osoyoo.com */ #include #include
int BUTTON_PIN = D2; //il pulsante è collegato al pin GPIO D1
// Aggiorna questi con valori adatti alla tua rete. const char* ssid = "********";//metti qui il tuo ssid wifi const char* password = "********";//metti qui la tua password wifi. const char* mqtt_server = "broker.mqttdashboard.com"; //const char* mqtt_server = "iot.eclipse.org";
WiFiClient espClient;
PubSubClient client(espClient); long lastMsg = 0; char msg[50];
void setup_wifi() {
ritardo(100); // Iniziamo connettendoci a una rete WiFi Serial.print("Connecting to"); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { ritardo(500); Serial.print("."); } randomSeed(micros()); Serial.println(""); Serial.println("WiFi connesso"); Serial.println("Indirizzo IP: "); Serial.println(WiFi.localIP()); }
void callback (char* argomento, byte* payload, lunghezza int senza segno)
{ } // termina la richiamata
void ricollegare() {
// Ciclo finché non ci ricolleghiamo while (!client.connected()) { Serial.print("Tentativo di connessione MQTT…"); // Crea un ID client casuale String clientId = "ESP8266Client-"; clientId += String(random(0xffff), HEX); // Tentativo di connessione //se il tuo broker MQTT ha clientID, nome utente e password //cambia la riga seguente in if (client.connect(clientId, userName, passWord)) if (client.connect(clientId.c_str())) { Serial.println("connesso"); //una volta connesso al broker MQTT, subscribe comando se presente client.subscribe("OsoyooCommand"); } else { Serial.print("fallito, rc="); Serial.print(client.state()); Serial.println("riprova tra 5 secondi"); // Attendi 5 secondi prima di riprovare delay(5000); } } } //termina la riconnessione()
void setup() {
Serial.begin(115200); setup_wifi(); client.setServer(mqtt_server, 1883); client.setCallback(richiamata); pinMode(BUTTON_PIN, INPUT); }
ciclo vuoto() {
if (!client.connected()) { reconnect(); } client.loop(); lungo ora = millis(); stato int; //invia un messaggio ogni 2 secondi if (now - lastMsg > 2000) { lastMsg = now; status=digitalRead(BUTTON_PIN); String msg="Stato pulsante: "; if(status==HIGH) { msg= msg+ "Premuto"; messaggio char[58]; msg.toCharArray(messaggio, 58); Serial.println(messaggio); //pubblica i dati del sensore nel broker MQTT client.publish("OsoyooData", messaggio); } else { msg= msg+ "Non premere"; messaggio char[58]; msg.toCharArray(messaggio, 58); Serial.println(messaggio); //pubblica i dati del sensore nel broker MQTT client.publish("OsoyooData", messaggio); } } }
Modifica il codice per adattarlo alle tue impostazioni WiFi e MQTT come segue: 1) Configurazione hotspot: trova sotto la riga del codice, inserisci il tuo ssid e la password.
const char* ssid = “your_hotspot_ssid”;const char* password = “your_hotspot_password”;
2) Impostazione dell'indirizzo del server MQTT: è possibile utilizzare l'URL o l'indirizzo IP del proprio broker MQTT per impostare sopra il valore mqtt_server. Puoi anche utilizzare alcuni famosi server MQTT gratuiti per testare il progetto come "broker.mqtt-dashboard.com", "iot.eclipse.org" ecc.
const char* mqtt_server = “broker.mqtt-dashboard.com”;
3) Impostazioni client MQTT Se il tuo broker MQTT richiede l'autenticazione clientID, nome utente e password, è necessario modificare
if (client.connect(clientId.c_str()))
Per
if (client.connect(clientId, userName, passWord)) //inserisci qui il tuo clientId/userName/passWord
In caso contrario, mantienili come predefiniti. Dopo averlo fatto, scegli il tipo di scheda corrispondente e il tipo di porta come di seguito, quindi carica lo schizzo sul NodeMCU.
- Scheda: "NodeMCU 0.9 (modulo ESP-12)"
- Frequenza CPU: "80 MHz" Dimensione flash:"
- 4M (3M SPIFFS)”
- Velocità di caricamento: "115200"
- Porta: scegli la tua porta seriale per il tuo NodeMCU
Passaggio 4: Impostazioni client MQTT
Se non sai come configurare il client MQTT, visita il nostro ultimo articolo:
Impostazioni degli argomenti: Argomento da pubblicare: OsoyooCommand
Argomento per la sottoscrizione: OsoyooData
Risultato di corsa
Una volta completato il caricamento, se il nome dell'hotspot Wi-Fi e l'impostazione della password sono ok e il broker MQTT è connesso, apri Serial Monitor, vedrai il seguente risultato: Continua a premere questo pulsante, il Serial Monitor visualizzerà "Stato pulsante: premuto" ogni 2 secondi;una volta rilasciato questo pulsante, il monitor seriale emetterà "Stato pulsante: non premuto" ogni 2 secondi.
Consigliato:
Switch Adatta un giocattolo: il treno WolVol diventa accessibile a Switch!: 7 passaggi
Switch Adapt a Toy: WolVol Train Made Switch Accessible!: L'adattamento del giocattolo apre nuove strade e soluzioni personalizzate per consentire ai bambini con capacità motorie limitate o disabilità dello sviluppo di interagire con i giocattoli in modo indipendente. In molti casi, i bambini che richiedono i giocattoli adattati non sono in grado di int
IoT con NodeMCU e MQTT: 4 passaggi
IoT con NodeMCU e MQTT: [En] Una volta per un'applicazione industriale avevo bisogno di realizzare un PCB con 8 contatti puliti, un po' giocando con MQTT e ho deciso di adattarlo per funzionare utilizzando NodeMCU esp-f v4. Per renderlo un modo semplice per realizzare domotica a basso costo.[Pt-Br] Cert
ESP8266 NODEMCU BLYNK IOT Tutorial - Esp8266 IOT utilizzando Blunk e Arduino IDE - Controllo dei LED su Internet: 6 passaggi
ESP8266 NODEMCU BLYNK IOT Tutorial | Esp8266 IOT utilizzando Blunk e Arduino IDE | Controllo dei LED su Internet: Ciao ragazzi in questo tutorial impareremo come utilizzare IOT con il nostro ESP8266 o Nodemcu. Useremo l'app blynk per questo. Quindi useremo il nostro esp8266/nodemcu per controllare i LED su Internet. Quindi l'app Blynk sarà collegata al nostro esp8266 o Nodemcu
Switch automatico per tastiera e mouse - Switch USB upstream: 5 passaggi
Switch automatico per tastiera e mouse - Switch USB Upstream: In questo progetto assembleremo uno switch automatico per tastiera e mouse che consente una facile condivisione tra due computer. L'idea per questo progetto è nata dalla mia esigenza, in un dato momento, di avere due computer in la mia scrivania di laboratorio. La maggior parte delle volte è il mio D
SWITCH CONTROLLATO DA GOOGLE ASSISTANT USANDO NODEMCU: 9 passaggi
INTERRUTTORE CONTROLLATO DA GOOGLE ASSISTANT USANDO NODEMCU: Non sarebbe bello accendere o spegnere le cose con l'aiuto dell'assistente di Google..!!! Quindi in questo Instructables, mostrerò come controllare qualsiasi apparecchio elettrico con l'aiuto dell'assistente di Google , proprio come Alexa di Amazon. Un sacco di dispositivi commerciali