
Satura rādītājs:
2025 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2025-01-23 14:59


OSOYOO NodeMCU IOT sākuma komplekts
Lūdzu, sekojiet mums Facebook, atrodiet mūsu jauno izlaisto vienumu un dalieties savā idejā un video par to, kā radoši izmantot mūsu produktus. Pie mums jūs varat saņemt naudu atpakaļ vai dotācijas! Facebook:
Youtube:
Šajā nodarbībā mēs savienosim slēdža pogu ar NodeMCU un nosūtīsim slēdža statusu MQTT brokerim. Nospiežot pogu, NodeMCU publicēs pogas statusu “nospiests” MQTT brokerim, un MQTT klients abonēs šos ziņojumus. Atlaižot spiedpogu, tiks nosūtīts paziņojums “nav nospiests”.
1. solis: Sagatavošana

Aparatūra:
NodeMCU plate x 1
Slēdža poga x 1
1K rezistors x 1
Maizes dēlis x 1
Jumper vadi
Programmatūra:
Arduino IDE (versija 1.6.4+)
ESP8266 plates pakotne un seriālā porta draiveris
MQTT klients (MQTTBox šeit)
Arduino bibliotēka: PubSubClient
2. darbība: savienojuma diagramma
Šajā nodarbībā mēs izmantojam D2 (GPIO4), lai kontrolētu slēdzi, lūdzu, iestatiet aparatūru atbilstoši savienojuma diagrammai.
Piezīme: 1k rezistors izmanto kā nolaižamu rezistoru līdz zemei (loģiskā nulles vērtība), novēršot nenoteiktu stāvokli pie ievades.
3. darbība: kods


Kopējiet zemāk esošo kodu uz Arduino IDE:
/ * _ _ _ _ _ _ _ _ _ _ * / _ / / _) / _ / | | | | / _ / / _ / / _) _ / | / *| | _ | | _ | | _ | | | _ | | | _ | | | _ | ((_ | | _ | | | | | * / _/ (_/ / _/ / _ | / _/ / _ (_) _) _/ | _ | _ | _ | * (_/ * Izmantojiet NodeMCU nosūta slēdža pogas statusu MQTT klientam, izmantojot WiFi * Apmācības URL: * CopyRight www.osoyoo.com */ #include #include
int BUTTON_PIN = D2; // poga ir pievienota GPIO tapai D1
// Atjauniniet tos ar jūsu tīklam piemērotām vērtībām. const char*ssid = "********"; // ielieciet šeit savu wifi ssid const char*password = "********"; // ievietojiet šeit savu wifi paroli. const char* mqtt_server = "brokeris.mqttdashboard.com"; // const char* mqtt_server = "iot.eclipse.org";
WiFiClient espClient;
PubSubClient klients (espClient); ilgi lastMsg = 0; char msg [50];
void setup_wifi () {
kavēšanās (100); // Sākam ar savienojumu ar WiFi tīklu Serial.print ("Connecting to"); Serial.println (ssid); WiFi.begin (ssid, parole); while (WiFi.status ()! = WL_CONNECTED) {kavēšanās (500); Sērijas nospiedums ("."); } randomSeed (micros ()); Serial.println (""); Serial.println ("savienots WiFi"); Serial.println ("IP adrese:"); Serial.println (WiFi.localIP ()); }
anulēts atzvanīšana (char* tēma, baits* lietderīgā slodze, neparakstīts int garums)
{} // pārtraukt atzvanīšanu
void reconnect () {
// Loop, līdz mēs atkal izveidosim savienojumu, kamēr (! Client.connected ()) {Serial.print ("Mēģina izveidot MQTT savienojumu…"); // Izveidot izlases klienta ID String clientId = "ESP8266Client-"; clientId += String (nejaušs (0xffff), HEX); // mēģiniet izveidot savienojumu // ja jums MQTT brokerim ir klienta ID, lietotājvārds un parole // lūdzu, nomainiet nākamo rindu uz if (client.connect (clientId, userName, passWord)), ja (client.connect (clientId.c_str ())) {Serial.println ("savienots"); // kad esat izveidojis savienojumu ar MQTT brokeri, abonējiet komandu, ja ir kāds client.subscribe ("OsoyooCommand"); } cits {Serial.print ("neizdevās, rc ="); Sērijas nospiedums (client.state ()); Serial.println ("mēģiniet vēlreiz pēc 5 sekundēm"); // Pagaidiet 5 sekundes pirms atkārtotas kavēšanās (5000); }}} // beigt atkārtotu savienojumu ()
void setup () {
Serial.begin (115200); setup_wifi (); client.setServer (mqtt_server, 1883); client.setCallback (atzvanīšana); pinMode (BUTTON_PIN, INPUT); }
void loop () {
ja (! client.connected ()) {reconnect (); } client.loop (); ilgi tagad = milis (); int statuss; // sūtīt ziņojumu ik pēc 2 sekundēm, ja (tagad - lastMsg> 2000) {lastMsg = now; statuss = digitalRead (BUTTON_PIN); String msg = "Pogas statuss:"; if (statuss == AUGSTS) {msg = msg+ "Nospiests"; char ziņa [58]; msg.toCharArray (ziņojums, 58); Serial.println (ziņojums); // publicēt sensoru datus MQTT broker client.publish ("OsoyooData", ziņojums); } else {msg = msg+ "Not Press"; char ziņa [58]; msg.toCharArray (ziņojums, 58); Serial.println (ziņojums); // publicēt sensoru datus MQTT brokeris client.publish ("OsoyooData", ziņojums); }}}
Rediģējiet kodu, lai tas atbilstu jūsu WiFi un MQTT iestatījumiem, veicot šādas darbības: 1) Hotspot konfigurācija: atrodiet zemāk koda rindiņu, ievietojiet tur savu ssid un paroli.
const char* ssid = “your_hotspot_ssid”; const char* parole = “your_hotspot_password”;
2) MQTT servera adreses iestatīšana: lai iestatītu virs mqtt_server vērtības, varat izmantot savu MQTT brokera URL vai IP adresi. Jūs varat arī izmantot kādu slavenu bezmaksas MQTT serveri, lai pārbaudītu projektu, piemēram, “broker.mqtt-dashboard.com”, “iot.eclipse.org” utt.
const char* mqtt_server = “brokeris.mqtt-dashboard.com”;
3) MQTT klienta iestatījumi Ja jūsu MQTT brokerim ir nepieciešama klienta ID, lietotājvārda un paroles autentifikācija, jums tas ir jāmaina
ja (client.connect (clientId.c_str ()))
Uz
if (client.connect (clientId, userName, passWord)) // ielieciet šeit savu clientId/userName/passWord
Ja nē, vienkārši saglabājiet tos kā noklusējuma. Pēc tam izvēlieties atbilstošo plates tipu un porta veidu, kā norādīts zemāk, un pēc tam augšupielādējiet skici NodeMCU.
- Tāfele: “NodeMCU 0.9 (ESP-12 modulis)”
- CPU frekvence: “80MHz” Zibspuldzes izmērs:
- 4 miljoni (3 miljoni SPIFFS)”
- Augšupielādes ātrums: "115200"
- Ports: izvēlieties savu NodeMCU sērijas portu
4. darbība: MQTT klienta iestatījumi


Ja jūs nezināt, kā konfigurēt MQTT klientu, lūdzu, apmeklējiet mūsu pēdējo rakstu:
Tēmu iestatījumi: publicējamā tēma: OsoyooCommand
Abonējamā tēma: OsoyooData
Skriešanas rezultāts
Kad augšupielāde ir pabeigta, ja wifi tīklāja nosaukuma un paroles iestatījums ir pareizs un MQTT brokeris ir pievienots, atveriet sērijas monitoru, un jūs redzēsit šādu rezultātu: Turiet nospiestu šo pogu, sērijas monitors izvadīs “Pogas statuss: Nospiests” ik pēc 2 sekundēm; tiklīdz atlaidiet šo pogu, sērijas monitors ik pēc 2 sekundēm parādīs paziņojumu “Pogas statuss: nav nospiests”.
Ieteicams:
Microsoft Teams izslēgšanas poga: 4 soļi

Microsoft Teams skaņas izslēgšanas poga: izveidojiet viegli sasniedzamu pogu, lai izslēgtu/ieslēgtu skaņu, kamēr atrodaties Microsoft Teams zvanā! Tā kā 2020. gads. Šis projekts izmanto Adafruit Circuit Playground Express (CPX) un lielu spiedpogu, lai izveidotu karsēšanas taustiņu Microsoft Teams, izmantojot karsto taustiņu
5 ASV dolāru mājas automatizācijas poga: 4 soļi

5 ASV dolāru mājas automatizācijas poga: 5 ASV dolāru mājas automatizācijas poga Dažreiz vienkāršākais risinājums ir viena poga. Mēs vēlējāmies vienkāršu veidu, kā aktivizēt “gulētiešanas” rutīnu mūsu mājas automatizācijas centrā (Hubitat Elevation), kas izslēdz lielāko daļu gaismas, nosaka citus noteiktos līmeņos un
Stikla IoT pieskāriena poga: 10 soļi

Stikla IoT pieskāriena poga: man bija veikala ITO stikla gabals, kas atradās ap veikalu, un es domāju par tā lietderīgu izmantošanu. ITO, indija alvas oksīds, stikls parasti atrodams šķidro kristālu displejos, saules baterijās, lidmašīnas kabīnes logos utt
Avārijas poga ar NodeMCU: 7 soļi

Ārkārtas poga ar NodeMCU: Avārijas poga palīdz jums saņemt palīdzību, ja ir kāda ārkārtas situācija, vienkārši nospiediet pogu, un tā automātiski ievieto Facebook vai twitter ziņojumu, ko ievietojat kodā, ja vēlaties, varat pievienot citu pogu medicīnisks nosacījums
IoT poga, kas kontrolē jūsu lietotni: 6 soļi

IoT poga, kas kontrolē jūsu lietotni: Viena no lietām, kas man visvairāk patīk mikrokontrolleros, ir iespēja tos izmantot kā ievades ierīci, piemēram, Arduino Micro var izmantot kā HID (cilvēka saskarnes ierīci), kas nozīmē ar nelielu kodēšanu un zināt, kā jūs varat izveidot savu taustiņu