Obsah:
Video: Projekt NodeMCU MQTT Iot - prepínač: 4 kroky
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:58
Štartovacia sada OSOYOO NodeMCU IOT
Sledujte nás na Facebooku, nájdite náš nový uvoľnený produkt a podeľte sa o svoj nápad a video o tom, ako kreatívne používať naše produkty. Môžete od nás získať peniaze späť alebo darček! Facebook:
Youtube:
V tejto lekcii pripojíme prepínacie tlačidlo k NodeMCU a pošleme stav prepínača brokerovi MQTT. Po stlačení tlačidla NodeMCU zverejní stav tlačidla „stlačené“maklérovi MQTT a klient MQTT sa prihlási na odber týchto správ. Po uvoľnení tlačidla sa odošle „nestlačené“.
Krok 1: Príprava
Hardvér:
Doska NodeMCU x 1
Prepínač x 1
1K odpor x 1
Breadboard x 1
Prepojovacie vodiče
Softvér:
Arduino IDE (verzia 1.6.4+)
Balíček dosky ESP8266 a ovládač sériového portu
Klient MQTT (MQTTBox tu)
Knižnica Arduino: PubSubClient
Krok 2: Graf pripojenia
V tejto lekcii používame na ovládanie prepínača D2 (GPIO4), hardvér nastavte podľa grafu pripojenia.
Poznámka: 1k odpor sa používa ako rezistor nadol, V takom obvode, keď je spínač zatvorený, je vstup NodeMCU na logicky vysokej hodnote, ale keď je spínač otvorený, sťahovací odpor ťahá vstupné napätie až na zem (logická nulová hodnota), čím sa zabráni nedefinovanému stavu na vstupe.
Krok 3: Kód
Skopírujte nasledujúci kód do Arduino IDE:
/ * _ _ _ _ _ _ _ _ _ _ * / _ / / _) / _ / | | | | / _ / / _ / / _) _ / | / *| | _ | | _ | | _ | | | _ | | | _ | | | _ | (((_ | | _ | | | | | * / _/ (_/ / _/ / _ | / _/ / _ (_) _) _/ | _ | _ | _ | * (_/ * Použite Stav prepínača NodeMCU odoslať klientovi MQTT cez WiFi * URL tutoriálu: * CopyRight www.osoyoo.com */ #include #include
int BUTTON_PIN = D2; // Tlačidlo // je pripojené k pinu GPIO D1
// Aktualizujte ich hodnotami vhodnými pre vašu sieť. const char*ssid = "********"; // dajte sem svoju wifi ssid const char*heslo = "********"; // sem zadajte svoje wifi heslo. const char* mqtt_server = "broker.mqttdashboard.com"; // const char* mqtt_server = "iot.eclipse.org";
WiFiClient espClient;
Klient PubSubClient (espClient); dlhá posledná správa = 0; char msg [50];
neplatné setup_wifi () {
oneskorenie (100); // Začneme pripojením k WiFi sieti Serial.print („Pripojenie k“); Serial.println (ssid); WiFi.begin (ssid, heslo); while (WiFi.status ()! = WL_CONNECTED) {oneskorenie (500); Serial.print ("."); } randomSeed (micros ()); Serial.println (""); Serial.println ("WiFi pripojené"); Serial.println ("IP adresa:"); Serial.println (WiFi.localIP ()); }
neplatné spätné volanie (znak* téma, bajt* užitočné zaťaženie, dĺžka bez znamienka)
{} // ukončenie spätného volania
zrušiť opätovné pripojenie () {
// Slučka, kým sa znova nepripojíme, kým (! Client.connected ()) {Serial.print ("Pokus o pripojenie MQTT …"); // Vytvorenie reťazca náhodného ID klienta clientId = "ESP8266Client-"; clientId += String (náhodný (0xffff), HEX); // Pokus o pripojenie // ak váš broker MQTT má ID klienta, používateľské meno a heslo // zmeňte nasledujúci riadok na if (client.connect (clientId, userName, passWord)) if (client.connect (clientId.c_str ())) {Serial.println ("pripojený"); // po pripojení k maklérovi MQTT zadajte príkaz subscribe, ak nejaký klient.subscribe ("OsoyooCommand"); } else {Serial.print ("zlyhalo, rc ="); Serial.print (client.state ()); Serial.println („skúste to znova o 5 sekúnd“); // Pred oneskorením opakovania počkajte 5 sekúnd (5 000); }}} // koniec znova pripojiť ()
neplatné nastavenie () {
Serial.begin (115200); setup_wifi (); client.setServer (mqtt_server, 1883); client.setCallback (spätné volanie); pinMode (BUTTON_PIN, INPUT); }
prázdna slučka () {
if (! client.connected ()) {reconnect (); } client.loop (); teraz dlho = millis (); int stav; // odosielanie správ každé 2 sekundy, ak (teraz - lastMsg> 2000) {lastMsg = now; status = digitalRead (BUTTON_PIN); String msg = "Stav tlačidla:"; if (status == HIGH) {msg = msg+ "Pressed"; char správa [58]; msg.toCharArray (správa, 58); Serial.println (správa); // zverejnenie údajov senzora klientovi brokera MQTT.publish ("OsoyooData", správa); } else {msg = msg+ "Not Press"; char správa [58]; msg.toCharArray (správa, 58); Serial.println (správa); // zverejnenie údajov senzora klientovi brokera MQTT.publish ("OsoyooData", správa); }}}
Upravte kód tak, aby zodpovedal vašim vlastným nastaveniam WiFi a MQTT, nasledovne: 1) Konfigurácia hotspotu: V nižšie uvedenom riadku kódu zadajte svoj vlastný ssid a heslo.
const char* ssid = „your_hotspot_ssid“; const char* heslo = „your_hotspot_password“;
2) Nastavenie adresy servera MQTT: Na nastavenie hodnoty mqtt_server môžete použiť svoju vlastnú URL alebo IP adresu makléra MQTT. Na testovanie projektu môžete použiť aj slávny bezplatný server MQTT, ako napríklad „broker.mqtt-dashboard.com“, „iot.eclipse.org“atď.
const char* mqtt_server = „broker.mqtt-dashboard.com“;
3) Nastavenia klienta MQTT Ak váš broker MQTT vyžaduje autentifikáciu klienta, používateľského mena a hesla, musíte zmeniť
if (client.connect (clientId.c_str ()))
Komu
if (client.connect (clientId, userName, passWord)) // sem vložte svoje clientId/userName/passWord
Ak nie, ponechajte ich ako predvolené. Potom urobte zodpovedajúci typ dosky a typ portu, ako je uvedené nižšie, a potom nahrajte skicu na NodeMCU.
- Doska: "NodeMCU 0,9 (modul ESP-12)"
- Frekvencia CPU: „80 MHz“Veľkosť blesku: „
- 4 milióny (3 milióny rázov) “
- Rýchlosť nahrávania: "115200"
- Port: Vyberte si vlastný sériový port pre svoj NodeMCU
Krok 4: Nastavenia klienta MQTT
Ak neviete, ako nakonfigurovať klienta MQTT, navštívte náš posledný článok:
Nastavenia tém: Téma na zverejnenie: OsoyooCommand
Téma na predplatné: OsoyooData
Výsledok behu
Akonáhle je nahrávanie dokončené, ak je názov a heslo hotspotu wifi v poriadku a je pripojený broker MQTT, otvorte sériový monitor, zobrazí sa nasledujúci výsledok: Podržte toto tlačidlo stlačené, sériový monitor zobrazí „Stav tlačidla: stlačené“každé 2 sekundy; akonáhle uvoľníte toto tlačidlo, sériový monitor bude vydávať „Stav tlačidla: Nestlačené“každé 2 sekundy.
Odporúča:
IoT s NodeMCU a MQTT: 4 kroky
IoT s NodeMCU a MQTT: [En] Kedysi som v priemyselnej aplikácii potreboval vyrobiť PCB s 8 suchými kontaktmi, trochu sa pohrať s MQTT a rozhodol som sa ho prispôsobiť tak, aby fungoval pomocou NodeMCU esp-f v4. Aby to bol jednoduchý spôsob, ako vyrobiť lacnú domácu automatizáciu. [Pt-Br] Cert
Projekt Totoro - IoT a MQTT a ESP01: 7 krokov (s obrázkami)
Projekt Totoro - IoT & MQTT & ESP01: Projekt Totoro je to pekný projekt IoT, ktorý môžete kopírovať v mnohých ďalších rôznych formách. Pomocou dosky ESP01 s protokolom MQTT môžete oznámiť stav tlačidla maklérovi MQTT (v mojom Case AdafruitIO). Užitočný sprievodca pre MQTT a Ad
Sieťové hodiny ESP8266 bez akéhokoľvek RTC - Hodiny Nodemcu NTP Žiadne RTC - PROJEKT INTERNETOVÝCH HODÍN: 4 kroky
Sieťové hodiny ESP8266 bez akéhokoľvek RTC | Hodiny Nodemcu NTP Žiadne RTC | PROJEKT INTERNETOVÝCH HODÍN: V rámci projektu sa bude realizovať projekt hodín bez RTC, bude to trvať nejaký čas z internetu pomocou wifi a zobrazí sa to na displeji st7735
NodeMCU - MQTT Základný príklad: 4 kroky
NodeMCU - MQTT Základný príklad: Táto lekcia ukáže základné použitie protokolu MQTT na doske NodeMCU. Tu použijeme MQTTBox ako klienta MQTT a NodeMCU použijeme na dokončenie nasledujúcich operácií: Publikovanie „ahoj sveta“k téme „ outTopic “každé dve sekundy. Subscr
USB napaľovačka! Tento projekt môže spaľovať plasty / drevo / papier (zábavný projekt musí byť aj veľmi jemné drevo): 3 kroky
USB napaľovačka! Tento projekt môže spaľovať plasty / drevo / papier (zábavný projekt musí byť aj veľmi jemné drevo): NEROBTE TO S POUŽÍVANÍM USB !!!! Zo všetkých komentárov som zistil, že môže poškodiť váš počítač. môj počítač je v poriadku Použite nabíjačku telefónu 5 V 600mA. Použil som to a funguje to dobre a nič sa nemôže poškodiť, ak na vypnutie napájania použijete bezpečnostnú zástrčku