Innehållsförteckning:
2025 Författare: John Day | [email protected]. Senast ändrad: 2025-01-23 15:11
OSOYOO NodeMCU IOT Startpaket
Följ oss på facebook, hitta vårt nya släppta objekt och dela din idé och video om hur du kreativt använder våra produkter. Du kan få pengar tillbaka eller gåva från oss! Facebook:
Youtube:
I den här lektionen kommer vi att ansluta en switch -knapp till NodeMCU och skicka switch -statusen till en MQTT -mäklare. När knappen trycks in kommer NodeMCU att publicera knappstatusen”tryckt” till MQTT -mäklaren och MQTT -klienten kommer att prenumerera på dessa meddelanden. När tryckknappen släpps skickas "ej tryckt".
Steg 1: Förberedelse
Hårdvara:
NodeMCU -kort x 1
Växelknapp x 1
1K motstånd x 1
Brödbräda x 1
Bygelkablar
Programvara:
Arduino IDE (version 1.6.4+)
ESP8266 -kortpaket och seriell portdrivrutin
MQTT Client (MQTTBox här)
Arduino bibliotek: PubSubClient
Steg 2: Anslutningsgraf
I den här lektionen använder vi D2 (GPIO4) för att styra omkopplaren, ställ in hårdvaran enligt anslutningsdiagrammet.
Obs: 1k-motståndet används som ett neddragningsmotstånd. I en sådan krets, när omkopplaren är stängd, har NodeMCU-ingången ett logiskt högt värde, men när omkopplaren är öppen drar neddragningsmotståndet ingångsspänningen ner till marken (logiskt nollvärde), vilket förhindrar ett odefinierat tillstånd vid ingången.
Steg 3: Kod
Kopiera koden nedan till Arduino IDE:
/ * _ _ _ _ _ _ _ _ _ _ * / _ / / _) / _ / | | | | / _ / / _ / / _) _ / | / *| | _ | | _ | | _ | | | _ | | | _ | | | _ | ((_ | | _ | | | | | * / _/ (_/ / _/ / _ | / _/ / _ (_) _) _/ | _ | _ | _ | * (_/ * Använd NodeMCU skickar status för switchknapp till MQTT -klient via WiFi * Handledning URL: * CopyRight www.osoyoo.com */ #include #include
int BUTTON_PIN = D2; // -knappen är ansluten till GPIO -stift D1
// Uppdatera dessa med värden som passar ditt nätverk. const char*ssid = "********"; // lägg din wifi ssid här const char*password = "********"; // lägg ditt wifi -lösenord här. const char* mqtt_server = "broker.mqttdashboard.com"; // const char* mqtt_server = "iot.eclipse.org";
WiFiClient espClient;
PubSubClient -klient (espClient); lång lastMsg = 0; char msg [50];
ogiltig setup_wifi () {
fördröjning (100); // Vi börjar med att ansluta till ett WiFi -nätverk Serial.print ("Ansluter till"); Serial.println (ssid); WiFi.begin (ssid, lösenord); medan (WiFi.status ()! = WL_CONNECTED) {fördröjning (500); Serial.print ("."); } randomSeed (mikro ()); Serial.println (""); Serial.println ("WiFi ansluten"); Serial.println ("IP -adress:"); Serial.println (WiFi.localIP ()); }
ogiltig återuppringning (karaktär* ämne, byte* nyttolast, osignerad intlängd)
{} // avsluta återuppringning
void reconnect () {
// Slinga tills vi återansluts medan (! Client.connected ()) {Serial.print ("Försöker MQTT -anslutning …"); // Skapa ett slumpmässigt klient-ID String clientId = "ESP8266Client-"; clientId += String (random (0xffff), HEX); // Försök att ansluta // om din MQTT -mäklare har clientID, användarnamn och lösenord // vänligen ändra följande rad till if (client.connect (clientId, userName, passWord)) if (client.connect (clientId.c_str ()))) {Serial.println ("ansluten"); // en gång ansluten till MQTT -mäklare, prenumerera kommando om någon client.subscribe ("OsoyooCommand"); } annat {Serial.print ("misslyckades, rc ="); Serial.print (client.state ()); Serial.println ("försök igen om 5 sekunder"); // Vänta 5 sekunder innan försöket försöker igen (5000); }}} // avsluta återanslutning ()
void setup () {
Serial.begin (115200); setup_wifi (); client.setServer (mqtt_server, 1883); client.setCallback (återuppringning); pinMode (BUTTON_PIN, INPUT); }
void loop () {
if (! client.connected ()) {reconnect (); } client.loop (); länge nu = millis (); int status; // skicka meddelande varannan sekund om (nu - lastMsg> 2000) {lastMsg = nu; status = digitalRead (BUTTON_PIN); String msg = "Knappstatus:"; if (status == HIGH) {msg = msg+ "Tryckt"; rödingmeddelande [58]; msg.toCharArray (meddelande, 58); Serial.println (meddelande); // publicera sensordata till MQTT -mäklare client.publish ("OsoyooData", meddelande); } annars {msg = msg+ "Not Press"; rödingmeddelande [58]; msg.toCharArray (meddelande, 58); Serial.println (meddelande); // publicera sensordata till MQTT -mäklare client.publish ("OsoyooData", meddelande); }}}
Redigera koden så att den passar dina egna WiFi- och MQTT -inställningar enligt följande operationer: 1) Hotspot Configration: Hitta nedanför kodrad, sätt in din egen ssid och lösenord där.
const char* ssid = “your_hotspot_ssid”; const char* password = “your_hotspot_password”;
2) MQTT -serveradressinställning: Du kan använda din egen MQTT -mäklares URL eller IP -adress för att ange över mqtt_server -värdet. Du kan också använda någon berömd gratis MQTT-server för att testa projektet som "broker.mqtt-dashboard.com", "iot.eclipse.org" etc.
const char* mqtt_server = “mäklare.mqtt-dashboard.com”;
3) MQTT -klientinställningar Om din MQTT -mäklare kräver klient -ID, användarnamn och lösenordsautentisering måste du ändra
if (client.connect (clientId.c_str ()))
Till
if (client.connect (clientId, userName, passWord)) // lägg ditt clientId/userName/passWord här
Om inte, behåll bara dem som standard. Efter det, välj motsvarande korttyp och porttyp enligt nedan, ladda sedan upp skissen till NodeMCU.
- Kort:”NodeMCU 0.9 (ESP-12-modul)”
- CPU -frekvens:”80 MHz” Flashstorlek:”
- 4M (3M SPIFFS)”
- Uppladdningshastighet:”115200 ″
- Port: Välj din egen serieport för din NodeMCU
Steg 4: MQTT -klientinställningar
Om du inte vet hur du konfigurerar MQTT-klient, besök vår senaste artikel:
Ämnesinställningar: Ämne att publicera: OsoyooCommand
Ämne att prenumerera på: OsoyooData
Körresultat
När uppladdningen är klar, om wifi -hotspots namn och lösenord är ok och MQTT -mäklaren är ansluten, öppnar du Serial Monitor, du kommer att se följande resultat: Fortsätt att trycka på den här knappen, Serial Monitor kommer att mata ut "Knappstatus: tryckt" varannan sekund; när du släpper den här knappen kommer seriell bildskärm att mata ut "knappstatus: inte tryckt" varannan sekund.
Rekommenderad:
IOT Home Automation DIY Project #1: 7 Steg
IOT Home Automation DIY Project # 1: # INLEDNING Hemautomation är automatiseringsprocessen för hushållsapparater som AC, fläkt, kylskåp, lampor och listan fortsätter så att de kan styras med din telefon, dator eller till och med på distans. Detta projekt behandlar esp2866
IoT med NodeMCU och MQTT: 4 steg
IoT med NodeMCU och MQTT: [Sv] En gång för en industriell applikation behövde jag göra ett kretskort med 8 torra kontakter, lite lek med MQTT och bestämde mig för att anpassa det till arbete med NodeMCU esp-f v4. För att göra det till ett enkelt sätt att göra billiga hemautomatisering. [Pt-Br] Cert
IoT School Project Philips Hue: 19 steg
IoT School Project Philips Hue: Det här är en manual som jag var tvungen att skriva för skolan. Det är inte komplett och jag är inte säker på om du ens kan använda det. Min kunskap om API: er är ett minimum. Vi ville göra en interaktiv spegel med lampor på baksidan som reagerade på vädret, ljus från
Totoro Project - IoT & MQTT & ESP01: 7 steg (med bilder)
Totoro Project - IoT & MQTT & ESP01: Totoro Project det är ett trevligt IoT -projekt som du kan kopiera i många andra olika former. Med ESP01 -kortet, med MQTT -protokollet, kan du kommunicera status på knappen till MQTT -mäklaren (i min case AdafruitIO). En användbar guide för MQTT och Ad
ESP8266 NODEMCU BLYNK IOT Handledning - Esp8266 IOT Använda Blunk och Arduino IDE - Kontrollera lysdioder över Internet: 6 steg
ESP8266 NODEMCU BLYNK IOT Handledning | Esp8266 IOT Använda Blunk och Arduino IDE | Kontrollera lysdioder över internet: Hej killar i denna instruktion kommer vi att lära oss hur man använder IOT med vår ESP8266 eller Nodemcu. Vi kommer att använda blynk -appen för det. Så vi kommer att använda vår esp8266/nodemcu för att styra lysdioderna över internet. Så Blynk -appen kommer att anslutas till vår esp8266 eller Nodemcu