ዝርዝር ሁኔታ:

NodeMCU MQTT Iot ፕሮጀክት - የመቀየሪያ ቁልፍ - 4 ደረጃዎች
NodeMCU MQTT Iot ፕሮጀክት - የመቀየሪያ ቁልፍ - 4 ደረጃዎች

ቪዲዮ: NodeMCU MQTT Iot ፕሮጀክት - የመቀየሪያ ቁልፍ - 4 ደረጃዎች

ቪዲዮ: NodeMCU MQTT Iot ፕሮጀክት - የመቀየሪያ ቁልፍ - 4 ደረጃዎች
ቪዲዮ: How to control you lights using nodemcu and wifi .ኖድደምኩ እና ዋይፋይ በመጠቀም መብራቶችን እንዴት እንደሚቆጣጠሩ 2024, ሀምሌ
Anonim
Image
Image

OSOYOO NodeMCU IOT ማስጀመሪያ መሣሪያ

እባክዎን በፌስቡክ ላይ ይከተሉን ፣ አዲሱን የተለቀቀ ንጥላችንን ያግኙ እና የእኛን ምርቶች እና ፈጠራዎች እንዴት ፈጠራ ላይ እንደሚጠቀሙ ሀሳብዎን እና ቪዲዮዎን ያጋሩ። ገንዘብ መልሰው ወይም ስጦታ ከእኛ ማግኘት ይችላሉ! ፌስቡክ

Youtube:

በዚህ ትምህርት ውስጥ የመቀየሪያ ቁልፍን ከኖድኤምሲዩ ጋር እናገናኘዋለን እና የመቀየሪያውን ሁኔታ ወደ MQTT ደላላ እንልካለን። አዝራሩ ሲጫን ፣ NodeMCU ለ MQTT ደላላ የአዝራር ሁኔታን “ተጭኗል” ያትማል እና የ MQTT ደንበኛው ለእነዚህ መልዕክቶች በደንበኝነት ይመዘገባል። የግፋ አዝራሩ ሲለቀቅ “አልተጫነም” ይላካል።

ደረጃ 1 - ዝግጅት

የግንኙነት ግራፍ
የግንኙነት ግራፍ

ሃርድዌር

NodeMCU ቦርድ x 1

ቀይር አዝራር x 1

1 ኪ resistor x 1

የዳቦ ሰሌዳ x 1

ዝላይ ሽቦዎች

ሶፍትዌር

አርዱዲኖ አይዲኢ (ስሪት 1.6.4+)

ESP8266 የቦርድ ጥቅል እና ተከታታይ ወደብ ነጂ

የ MQTT ደንበኛ (MQTTBox እዚህ)

የአርዱዲኖ ቤተ -መጽሐፍት -PubSubClient

ደረጃ 2 የግንኙነት ግራፍ

በዚህ ትምህርት ውስጥ ፣ ማብሪያ / ማጥፊያውን ለመቆጣጠር D2 (GPIO4) ን እንጠቀማለን ፣ እባክዎን ሃርድዌርን በግንኙነት ግራፉ መሠረት ያዋቅሩት።

ማሳሰቢያ -1 ኪ resistor እንደ መጎተቻ ተቃዋሚ ሆኖ እየተጠቀመ ነው ፣ በእንደዚህ ዓይነት ወረዳ ውስጥ ፣ ማብሪያው ሲዘጋ ፣ የ NodeMCU ግብዓት በአመክንዮ ከፍተኛ ዋጋ ላይ ነው ፣ ግን ማብሪያው ሲከፈት ፣ ወደታች ወደታች መከላከያው የግቤት ቮልቴጅን ይጎትታል። ወደ መሬት (ወደ አመክንዮ ዜሮ እሴት) ፣ በመግቢያው ላይ ያልተገለጸ ሁኔታን በመከልከል።

ደረጃ 3 ኮድ

ኮድ
ኮድ
ኮድ
ኮድ

ከዚህ በታች ያለውን ኮድ ወደ አርዱዲኖ አይዲ ይቅዱ

/ * _ _ _ _ _ _ _ _ _ _ * / _ / / _) / _ / | | | | / _ / / _ / / _) _ / | / *| | _ | | _ | | _ | | | _ | | | _ | | | _ | ((_ | | _ | | | | | | | * / _/ (_/ / _/ / _ | / _/ / _ (_) _)) _/ | _ | _ | _ | * (_/ * ይጠቀሙ NodeMCU የመቀየሪያ አዝራር ሁኔታን በ MQTT ደንበኛ በ WiFi በኩል * የማጠናከሪያ ዩአርኤል * * CopyRight www.osoyoo.com */ #ያካትቱ #ያካትቱ

int BUTTON_PIN = D2; // አዝራር ከ GPIO ፒን D1 ጋር ተገናኝቷል

// እነዚህን ለአውታረ መረብዎ ተስማሚ በሆኑ እሴቶች ያዘምኑ። const char*ssid = "********"; // የ wifi ssidዎን እዚህ አስቀምጡ const char*password = "********"; // የ wifi ይለፍ ቃልዎን እዚህ ያስገቡ። const char* mqtt_server = "broker.mqttdashboard.com"; // const char* mqtt_server = "iot.eclipse.org";

WiFiClient espClient;

የ PubSubClient ደንበኛ (ደንበኛ); ረጅም lastMsg = 0; char msg [50];

ባዶነት setup_wifi () {

መዘግየት (100); // እኛ ከ Wi -Fi አውታረ መረብ ጋር በመገናኘት እንጀምራለን Serial.print ("ወደ መገናኘት"); Serial.println (ssid); WiFi.begin (ssid ፣ የይለፍ ቃል); ሳለ (WiFi.status ()! = WL_CONNECTED) {መዘግየት (500); Serial.print ("."); } randomSeed (ማይክሮስ ()); Serial.println (""); Serial.println ("WiFi ተገናኝቷል"); Serial.println ("IP አድራሻ:"); Serial.println (WiFi.localIP ()); }

ባዶ ጥሪ (ቻር* ርዕስ ፣ ባይት* የክፍያ ጭነት ፣ ያልተፈረመ int ርዝመት)

{} // መልሶ ጥሪን ያጠናቅቁ

ባዶነት እንደገና ማገናኘት () {

((ደንበኛ. ተገናኝቷል ()) {Serial.print ("የ MQTT ግንኙነትን በመሞከር ላይ …")) እስክንገናኝ ድረስ ይገናኙ። // የዘፈቀደ የደንበኛ መታወቂያ String clientId = "ESP8266Client-"; clientId += ሕብረቁምፊ (በዘፈቀደ (0xffff) ፣ HEX); // እርስዎ ለመገናኘት ይሞክሩ // እርስዎ የ MQTT ደላላ የደንበኛ መታወቂያ ፣ የተጠቃሚ ስም እና የይለፍ ቃል ካለው // እባክዎን የሚከተለውን መስመር ወደ (ደንበኛ አገናኝ (clientId ፣ userName ፣ passWord)) ከሆነ (client.connect (clientId.c_str ())) {Serial.println («ተገናኝቷል»); // አንዴ ከ MQTT ደላላ ጋር ከተገናኘ ፣ ማንኛውም ደንበኛ ከሆነ ደንበኝነት ይመዝገቡ። } ሌላ {Serial.print ("አልተሳካም ፣ rc ="); Serial.print (client.state ()); Serial.println ("በ 5 ሰከንዶች ውስጥ እንደገና ይሞክሩ"); // መዘግየትን እንደገና ከመሞከርዎ በፊት 5 ሰከንዶች ይጠብቁ (5000); }}} // መጨረሻ እንደገና ማገናኘት ()

ባዶነት ማዋቀር () {

Serial.begin (115200); setup_wifi (); client.setServer (mqtt_server, 1883); client.setCallback (መልሶ መደወያ); pinMode (BUTTON_PIN ፣ ማስገቢያ); }

ባዶነት loop () {

ከሆነ (! client.connected ()) {ዳግም ማገናኘት (); } client.loop (); ረጅም አሁን = ሚሊስ (); int ሁኔታ; // በየ 2 ሴኮንድ መልዕክት ይላኩ (አሁን - lastMsg> 2000) {lastMsg = now; ሁኔታ = digitalRead (BUTTON_PIN); ሕብረቁምፊ msg = "የአዝራር ሁኔታ:"; ከሆነ (ሁኔታ == ከፍተኛ) {msg = msg+ "ተጭኗል"; የቻር መልእክት [58]; msg.toCharArray (መልእክት ፣ 58); Serial.println (መልዕክት); // የአነፍናፊ መረጃን ወደ MQTT ደላላ ደንበኛ ያትሙ (“OsoyooData” ፣ መልእክት); } ሌላ {msg = msg+ "አትጫን"; የቻር መልእክት [58]; msg.toCharArray (መልእክት ፣ 58); Serial.println (መልዕክት); // የአነፍናፊ መረጃን ወደ MQTT ደላላ ደንበኛ ያትሙ (“OsoyooData” ፣ መልእክት); }}}

የሚከተሉት ክዋኔዎች እንደመሆንዎ መጠን የራስዎን WiFi እና MQTT ቅንብሮችን ለማስማማት ኮዱን ያርትዑ 1) የሆትፖት ውቅር - ከኮድ መስመር በታች ያግኙ ፣ የራስዎን ssid እና የይለፍ ቃል እዚያ ላይ ያድርጉት።

const char* ssid = “your_hotspot_ssid”; const char* password = “your_hotspot_password”;

2) MQTT የአገልጋይ አድራሻ ቅንብር - ከ mqtt_server እሴት በላይ ለማዘጋጀት የራስዎን የ MQTT ደላላ ዩአርኤል ወይም የአይፒ አድራሻ መጠቀም ይችላሉ። እንዲሁም እንደ “broker.mqtt-dashboard.com” ፣ “iot.eclipse.org” ወዘተ ያሉ ፕሮጀክቱን ለመሞከር አንዳንድ ታዋቂ ነፃ የ MQTT አገልጋይን መጠቀም ይችላሉ።

const char* mqtt_server = “broker.mqtt-dashboard.com”;

3) የ MQTT ደንበኛ ቅንብሮች የእርስዎ MQTT ደላላ የደንበኛ መታወቂያ ፣ የተጠቃሚ ስም እና የይለፍ ቃል ማረጋገጫ ከፈለገ መለወጥ ያስፈልግዎታል

ከሆነ (client.connect (clientId.c_str ()))

ወደ

ከሆነ (client.connect (clientId ፣ userName ፣ passWord)) // የእርስዎን clientId/userName/passWord እዚህ ያስቀምጡ

ካልሆነ ፣ ልክ እንደ ነባሪ ያቆዩዋቸው። ከዚያ በኋላ የኮርፖሬሽኑን የቦርድ ዓይነት እና የወደብ አይነት ከዚህ በታች ይምረጡ ፣ ከዚያ ንድፉን ወደ ኖድኤምሲዩ ይስቀሉ።

  • ቦርድ “NodeMCU 0.9 (ESP-12 ሞዱል)”
  • የሲፒዩ ድግግሞሽ - “80 ሜኸ” የፍላሽ መጠን -
  • 4M (3M SPIFFS)”
  • የሰቀላ ፍጥነት ፦”115200 ″
  • ወደብ: ለእርስዎ NodeMCU የራስዎን ተከታታይ ወደብ ይምረጡ

ደረጃ 4: MQTT የደንበኛ ቅንብሮች

MQTT የደንበኛ ቅንብሮች
MQTT የደንበኛ ቅንብሮች
MQTT የደንበኛ ቅንብሮች
MQTT የደንበኛ ቅንብሮች

የ MQTT ደንበኛን እንዴት ማዋቀር እንደሚችሉ ካላወቁ እባክዎን የመጨረሻ ጽሑፋችንን ይጎብኙ

የርዕሶች ቅንብሮች - ለማተም ርዕስ ፦ OsoyooCommand

ለመመዝገብ ርዕስ ፦ OsoyooData

የሩጫ ውጤት

አንዴ ሰቀላ ከተደረገ ፣ የ wifi መገናኛ ነጥብ ስም እና የይለፍ ቃል ቅንብር ደህና ከሆነ እና የ MQTT ደላላ ከተገናኘ ፣ ተከታታይ መቆጣጠሪያውን ይክፈቱ ፣ የሚከተለውን ውጤት ያያሉ - ይህንን ቁልፍ መጫንዎን ይቀጥሉ ፣ ተከታታይ ሞኒተር በየ 2 ሰከንድ “የአዝራር ሁኔታ: ተጭኗል” ያወጣል። አንዴ ይህንን ቁልፍ ከለቀቁ በኋላ ተከታታይ ተቆጣጣሪው በየ 2 ሴኮንድ “የአዝራር ሁኔታ: አልተጫነም” ን ያወጣል።

የሚመከር: