Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:42
OSOYOO NodeMCU IOT Aloituspakkaus
Seuraa meitä Facebookissa, löydä uusi julkaistu tuotteemme ja jaa ideasi ja video tuotteidemme luovasta käytöstä. Meiltä saat rahat takaisin tai lahjoituksia! Facebook:
Youtube:
Tässä oppitunnissa liitämme kytkinpainikkeen NodeMCU: hon ja lähetämme kytkimen tilan MQTT -välittäjälle. Kun painiketta painetaan, NodeMCU julkaisee painikkeen tilan "painettuna" MQTT -välittäjälle ja MQTT -asiakas tilaa nämä viestit. Kun painike vapautetaan, “ei painettu” lähetetään.
Vaihe 1: Valmistelu
Laitteisto:
NodeMCU -levy x 1
Kytkinpainike x 1
1K vastus x 1
Leipälauta x 1
Hyppyjohdot
Ohjelmisto:
Arduino IDE (versio 1.6.4+)
ESP8266 -korttipaketti ja sarjaportin ohjain
MQTT -asiakas (MQTTBox täällä)
Arduino -kirjasto: PubSubClient
Vaihe 2: Yhteyskaavio
Tässä oppitunnissa käytämme D2: ta (GPIO4) kytkimen ohjaamiseen, asenna laitteisto kytkentäkaavion mukaan.
Huomautus: 1k-vastusta käytetään alasvetovastana, Tällaisessa piirissä, kun kytkin on suljettu, NodeMCU-tulo on loogisessa korkeassa arvossa, mutta kun kytkin on auki, alasvetovastus vetää syöttöjännitettä alas (looginen nolla -arvo), mikä estää määrittelemättömän tilan tulossa.
Vaihe 3: Koodi
Kopioi alla oleva koodi Arduino IDE: hen:
/ * _ _ _ _ _ _ _ _ _ _ * / _ / / _) / _ / | | | | / _ / / _ / / _) _ / | / *| | _ | | _ | | _ | | | _ | | | _ | | | _ | ((_ | | _ | | | | | * / _/ (_/ / _/ / _ | / _/ / _ (_) _) _/ | _ | _ | _ | * (_/ * Käytä NodeMCU lähettää kytkimen painikkeen tilan MQTT -asiakkaalle WiFi -yhteyden kautta * Opetusohjelman URL -osoite: * CopyRight www.osoyoo.com */ #include #include
int BUTTON_PIN = D2; // -painike on kytketty GPIO -nastaan D1
// Päivitä nämä verkkoosi sopivilla arvoilla. const char*ssid = "********"; // laita wifi ssid tänne const char*password = "********"; // laita wifi -salasanasi tähän. const char* mqtt_server = "välittäjä.mqttdashboard.com"; // const char* mqtt_server = "iot.eclipse.org";
WiFiClient espClient;
PubSubClient -asiakas (espClient); pitkä lastMsg = 0; char msg [50];
void setup_wifi () {
viive (100); // Aloitamme yhdistämällä WiFi -verkkoon Serial.print ("Connecting to"); Sarja.println (ssid); WiFi.begin (ssid, salasana); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ("."); } satunnaisiemen (micros ()); Serial.println (""); Serial.println ("WiFi -yhteys"); Serial.println ("IP -osoite:"); Serial.println (WiFi.localIP ()); }
mitätön takaisinsoitto (char* aihe, tavu* hyötykuorma, allekirjoittamaton int pituus)
{} // lopeta soittopyyntö
void reconnect () {
// Kierrä, kunnes muodostamme yhteyden uudelleen (! Client.connected ()) {Serial.print ("Yritetään MQTT -yhteyttä…"); // Luo satunnainen asiakastunnus String clientId = "ESP8266Client-"; clientId += Merkkijono (satunnainen (0xffff), HEX); // Yritä muodostaa yhteys // jos MQTT -välittäjälläsi on asiakkaan tunnus, käyttäjätunnus ja salasana // muuta seuraava rivi tilaksi if (client.connect (clientId, userName, passWord)) if (client.connect (clientId.c_str ())) {Serial.println ("kytketty"); // kun olet muodostanut yhteyden MQTT -välittäjään, tilaa komento, jos jokin asiakas.subscribe ("OsoyooCommand"); } else {Serial.print ("epäonnistui, rc ="); Serial.print (client.state ()); Serial.println ("yritä uudelleen 5 sekunnin kuluttua"); // Odota 5 sekuntia ennen viiveen uudelleen yrittämistä (5000); }}} // lopeta uudelleen yhdistäminen ()
void setup () {
Sarja.alku (115200); setup_wifi (); client.setServer (mqtt_server, 1883); client.setCallback (takaisinsoitto); pinMode (BUTTON_PIN, INPUT); }
void loop () {
if (! client.connected ()) {reconnect (); } client.loop (); pitkä nyt = millis (); int -tila; // lähetä viesti 2 sekunnin välein, jos (nyt - lastMsg> 2000) {lastMsg = now; tila = digitalRead (BUTTON_PIN); String msg = "Painikkeen tila:"; if (tila == KORKEA) {msg = msg+ "Painettu"; char -viesti [58]; msg.toCharArray (viesti, 58); Serial.println (viesti); // julkaista anturitiedot MQTT -välittäjälle client.publish ("OsoyooData", viesti); } else {msg = msg+ "Ei paina"; char -viesti [58]; msg.toCharArray (viesti, 58); Serial.println (viesti); // julkaista anturitiedot MQTT -välittäjälle client.publish ("OsoyooData", viesti); }}}
Muokkaa koodia vastaamaan omia WiFi- ja MQTT -asetuksiasi seuraavasti: 1) Hotspot -määritys: Etsi koodirivin alapuolelta, kirjoita oma SSID ja salasana.
const char* ssid =”oma_pisteen_tunnus”; const char* salasana = “oma_pisteen_salasana”;
2) MQTT -palvelimen osoiteasetus: Voit käyttää omaa MQTT -välittäjän URL -osoitetta tai IP -osoitetta asettaaksesi mqtt_server -arvon yläpuolelle. Voit myös käyttää jotakin kuuluisaa ilmaista MQTT-palvelinta projektin testaamiseen, kuten "broker.mqtt-dashboard.com", "iot.eclipse.org" jne.
const char* mqtt_server =”välittäjä.mqtt-dashboard.com”;
3) MQTT -asiakasasetukset Jos MQTT -välittäjäsi vaatii asiakastunnuksen, käyttäjätunnuksen ja salasanan todennuksen, sinun on muutettava
jos (client.connect (clientId.c_str ()))
Vastaanottaja
if (client.connect (clientId, userName, passWord)) // laita clientId/userName/passWord tähän
Jos näin ei ole, pidä ne oletusarvoisina. Valitse sen jälkeen vastaava korttityyppi ja porttityyppi alla kuvatulla tavalla ja lataa luonnos NodeMCU: hon.
- Taulu:”NodeMCU 0.9 (ESP-12-moduuli)”
- Suorittimen taajuus:”80 MHz” Salaman koko:”
- 4M (3M SPIFFS)”
- Latausnopeus: "115200"
- Portti: Valitse oma sarjaporttisi NodeMCU: lle
Vaihe 4: MQTT -asiakasasetukset
Jos et tiedä kuinka määrittää MQTT-asiakas, käy viimeisessä artikkelissamme:
Aiheasetukset: Julkaistava aihe: OsoyooCommand
Tilattava aihe: OsoyooData
Juokseva tulos
Kun lataus on suoritettu, jos wifi -yhteyspisteen nimi ja salasana -asetus on kunnossa ja MQTT -välittäjä on kytketty, avaa sarjamonitori, näet seuraavan tuloksen: Pidä tätä painiketta painettuna, sarjamonitori näyttää “Painikkeen tila: painettu” joka toinen sekunti; kun vapautat tämän painikkeen, sarjamonitori lähettää "Painikkeen tila: Ei painettu" -painiketta 2 sekunnin välein.
Suositeltava:
NodeMCU ESP8266 - MQTT - Ubidots: 5 vaihetta
NodeMCU ESP8266 - MQTT - Ubidots: MQTT on OASIS -standardiviestintäprotokolla esineiden internetille (IoT). Se on suunniteltu erittäin kevyeksi julkaisu-/tilausviestinsiirtoksi, joka on ihanteellinen etälaitteiden yhdistämiseen, joilla on pieni koodijalanjälki ja minimaalinen verkko
IoT NodeMCU: n ja MQTT: n kanssa: 4 vaihetta
IoT NodeMCU: n ja MQTT: n kanssa: [fi] Kerran teollisessa sovelluksessa tarvitsin PCB: n, jossa oli 8 kuivaa kosketinta, vähän leikkiä MQTT: llä ja päätin mukauttaa sen toimimaan NodeMCU esp-f v4: n avulla. Jotta se olisi yksinkertainen tapa tehdä edullisia kodin automaatioita. [Pt-Br] Cert
ESP8266 Verkkokello ilman RTC: tä - Nodemcu NTP -kello Ei RTC - INTERNET CLOCK PROJECT: 4 vaihetta
ESP8266 Verkkokello ilman RTC: tä | Nodemcu NTP -kello Ei RTC | INTERNET CLOCK PROJECT: Projektissa tehdään kelloprojekti ilman RTC: tä, se vie aikaa Internetistä wifi -yhteyden avulla ja näyttää sen st7735 -näytöllä
ESP8266 NODEMCU BLYNK IOT -opetusohjelma - Esp8266 IOT Blunkin ja Arduino IDE: n avulla - LEDien ohjaus Internetin kautta: 6 vaihetta
ESP8266 NODEMCU BLYNK IOT -opetusohjelma | Esp8266 IOT Blunkin ja Arduino IDE: n avulla | LEDien ohjaus Internetin kautta: Hei kaverit, tässä oppaassa opimme käyttämään IOT: tä ESP8266: n tai Nodemcun kanssa. Käytämme siihen blynk -sovellusta.Siksi käytämme esp8266/nodemcu -ohjelmaa LED -valojen ohjaamiseen Internetin kautta. Joten Blynk -sovellus yhdistetään esp8266- tai Nodemcu -laitteeseemme
ESPHA - IOT PROJECT: 4 vaihetta (kuvilla)
ESPHA - IOT PROJECT: Tässä projektin nimessä " ESPHA " käyttämällä Arduinoa, esp8266: ta ja verkkosivustoa (jonka olen luonut itse), muutamia elektronisia antureiden tietoja ja gadgeteja ohjataan ja käsitellään. Tässä olen näyttänyt " RGB LED " jossa ohjaat LED -tilaa (1