ዝርዝር ሁኔታ:
- ደረጃ 1 ሃርድዌር ያስፈልጋል
- ደረጃ 2 የሃርድዌር ግንኙነቶች
- ደረጃ 3 - ለተግባር መርሃ ግብር ኮድ
- ደረጃ 4 የሙቀት እና እርጥበት እሴቶችን ለማንበብ ኮድ
- ደረጃ 5 የድር አገልጋዮችን ለማስተናገድ ኮድ
- ደረጃ 6: የነገሮች አቀማመጥ ማዋቀር
- ደረጃ 7 - ወደ ተናገር መረጃን ለመለጠፍ ኮድ
- ደረጃ 8 - አጠቃላይ ኮድ
- ደረጃ 9: ክሬዲቶች
ቪዲዮ: የ THINGSPEAK የሙቀት እና የእብሪት ትግበራ ESP8266 ን በመጠቀም 9 ደረጃዎች
2024 ደራሲ ደራሲ: John Day | [email protected]. ለመጨረሻ ጊዜ የተሻሻለው: 2024-01-30 07:30
ከኤሌክትሮኒክ ዕቃዎቼ ጋር እያወራሁ ፣ በድር ላይ የተመሠረተ የአየር ሁኔታ መተግበሪያን ለመሥራት ይህንን ሀሳብ አገኘሁ። ይህ የድር መተግበሪያ የእውነተኛ ጊዜ የሙቀት መጠን እና የእርጥበት መረጃን ለማግኘት የ SHT31 ዳሳሹን ይጠቀማል። እኛ ፕሮጀክታችንን በ ESP8266 WiFi ሞዱል ላይ አሰማርተናል። በመስመር ላይ ወይም ከመስመር ውጭ! መጨነቅ አያስፈልግዎትም ፣ በመስመር ላይም ሆነ ከመስመር ውጭ የአየር ሁኔታ ዝመናዎችን ከየትኛውም ቦታ እና በማንኛውም ጊዜ ያገኛሉ። ይህ የድር መተግበሪያ ውሂብን ለአካባቢያዊ የድር አገልጋይ እንዲሁም ለደመና ይለጥፋል። ለደመና ክወናዎች ፣ ThingSpeak API ን እየተጠቀምን ነው። SHT31 ውሂቡን ከአነፍናፊው ለማግኘት I2C ን ይጠቀማል።
SHT 31 በ Sensirion የተሰራ የሙቀት እና እርጥበት ዳሳሾች ነው። SHT31 ± 2% አርኤች አካባቢ ከፍተኛ ትክክለኝነትን ይሰጣል። የእርጥበት መጠኑ ከ 0 እስከ 100% እና የሙቀት መጠኑ ከ -40 እስከ 125 ° ሴ ነው። በ 8 ሰከንዶች የአነፍናፊ ምላሽ ጊዜ በጣም የበለጠ አስተማማኝ እና ፈጣን ነው። የእሱ ተግባራዊነት የተሻሻለ የምልክት ማቀነባበር እና I2C ተኳሃኝነትን ያካትታል። እሱ ኃይል ቆጣቢ የሚያደርግ የተለያዩ የአሠራር ሁነታዎች አሉት።
በዚህ መማሪያ ውስጥ SHT 31 ን ከአዳፍ ፍሬ ሁዛ ቦርድ ጋር አገናኝተናል። የሙቀት እና እርጥበት እሴቶችን ለማንበብ እኛ ESP8266 I2C ጋሻ ተጠቅመናል። ይህ አስማሚ ሁሉንም ፒኖች ለተጠቃሚው ተደራሽ ያደርገዋል እና ለተጠቃሚ ምቹ I2C አካባቢን ይሰጣል።
ደረጃ 1 ሃርድዌር ያስፈልጋል
ይህንን ተግባር ለማጠናቀቅ የሚያገለግል ሃርድዌር
- SHT 31
- አዳፍሩት ሁዛ ESP8266
- ESP8266 I2C አስማሚ
- I2C ገመድ
ደረጃ 2 የሃርድዌር ግንኙነቶች
ይህ ደረጃ የሃርድዌር ማያያዣ መመሪያን ያጠቃልላል። ይህ ክፍል በመሠረቱ በአነፍናፊው እና በ ESP8266 መካከል የሚፈለጉትን የሽቦ ግንኙነቶች ያብራራል። ግንኙነቶቹ እንደሚከተለው ናቸው።
- SHT31 ከ I2C በላይ ይሠራል። ከላይ ያለው ምስል በ ESP8266 እና SHT31 ሞዱል መካከል ያለውን ግንኙነት ያሳያል። እኛ ለእሱ I2C ገመድ እንጠቀማለን ፣ ወይም 4 F እስከ F jumper ሽቦዎችን መጠቀም እንችላለን።
- አንድ ሽቦ ለቪሲሲ ፣ ሁለተኛው ሽቦ ለ GND እና ሌሎች ሁለት ለ SDA እና ለ SCL ጥቅም ላይ ይውላል
- በ ES28266 ቦርድ I2C አስማሚ ፒን 2 እና ፒን 14 መሠረት እንደ SDA እና SCL በቅደም ተከተል ያገለግላሉ
ደረጃ 3 - ለተግባር መርሃ ግብር ኮድ
በዚህ መማሪያ ውስጥ ሶስት ቀዶ ጥገናዎችን እያደረግን ነው
- I2C ፕሮቶኮልን በመጠቀም ከ SHT11 ውሂቡን ያንብቡ
- የድር አገልጋዩን ያስተናግዱ እና አነፍናፊውን ለድረ -ገጹ ያንብቡ
- የአነፍናፊ ንባቦችን ወደ ThingSpeak ኤፒአይ ይለጥፉ
ይህንን ለማሳካት TaskScheduler ቤተ -መጽሐፍትን እየተጠቀምን ነው። እኛ ሦስት የተለያዩ የቁጥጥር ሥራዎችን የሚያመለክቱ ሦስት የተለያዩ ሥራዎችን መርሐግብር አውጥተናል። ይህ እንደሚከተለው ይከናወናል
- ተግባር 1 የ 10 ሴኮንድ ጊዜ እስኪያልቅ ድረስ ይህ ተግባር ለ 1 ሴኮንድ የሚሄድ የአነፍናፊ እሴት ለማንበብ ነው።
- ተግባር 1 ጊዜው ሲያልቅ ተግባር 2 ነቅቷል እና ተግባር 1 ተሰናክሏል።
-
በዚህ ጥሪ መልሶ ማግኛ ውስጥ ከኤፒ ጋር እንገናኛለን ፣ በ STA እና AP መካከል ያለውን መቀያየር ለመንከባከብ ሁለት ቡሊያን ተለዋዋጮች ይወሰዳሉ
- በተግባር 2 የድር አገልጋይ በ 192.168.1.4 እያስተናገድን ነው። የጊዜ ገደቡ እስኪደርስ ድረስ ይህ ተግባር በየ 5 ሰከንድ ይሠራል
- ተግባር 2 የጊዜ ማብቂያ ላይ ሲደርስ ተግባር 3 ነቅቷል እና ተግባር 2 ተሰናክሏል።
- በዚህ አመላካች ውስጥ ከ STA (አካባቢያዊ አይፒ) ጋር እንገናኛለን ተግባር 3 ውስጥ ዳሳሹን ንባብ ወደ ደመና ThingSpeak ኤፒአይ እንለጥፋለን
- ተግባር 3 ጊዜውን እስኪያልቅ ድረስ በየአምስት ሰከንዶች ማለትም 50 ሰከንድ ይሠራል
- ተግባር 3 ጊዜው ሲያልቅ ተግባር 1 እንደገና ነቅቷል እና ተግባር 3 ተሰናክሏል።
- መልሶ ጥሪ ካልተጠራ ወይም መሣሪያው ስራ ፈት በሚሆንበት ጊዜ ወደ ብርሃን እንቅልፍ በመሄድ ኃይልን ይቆጥባል።
ባዶ ተግባርI2CCallback ();
ባዶ ተግባር I2CDisable (); ባዶ ተግባርAPCallback (); ባዶ ተግባርAPDisable (); ባዶ ተግባር WiFiCallback (); ባዶ ተግባር WiFiDisable (); // ተግባራት ለ i2c ፣ የድር አገልጋይን ማስተናገድ እና በነገሮች ላይ መለጠፍ ተግባር tI2C (1 * TASK_SECOND ፣ TASK_FOREVER ፣ & taskI2CCallback ፣ & ts ፣ ሐሰት ፣ NULL ፣ እና taskI2CDisable); ተግባር tI2C (1 * TASK_SECOND ፣ TASK_FOREVER ፣ & taskI2CCallback ፣ & ts ፣ ሐሰት ፣ NULL ፣ እና taskI2CDisable); ተግባር tAP (5*TASK_SECOND ፣ TASK_FOREVER ፣ እና ተግባርAPCallback ፣ & ts ፣ ሐሰት ፣ NULL ፣ እና ተግባር APDisable); ተግባር tWiFi (5* TASK_SECOND ፣ TASK_FOREVER ፣ & taskWiFiCallback ፣ & ts ፣ ሐሰት ፣ NULL እና taskWiFiDisable) ፤ ለተግባሮች/ጊዜ ማብቂያ tI2C.setTimeout (10 * TASK_SECOND); tAP.setTimeout (50 * TASK_SECOND); tWiFi.setTimeout (50 * TASK_SECOND); // I2C ተግባርን ያንቁ tI2C.enable ();
ደረጃ 4 የሙቀት እና እርጥበት እሴቶችን ለማንበብ ኮድ
የሙቀት እና እርጥበት እሴቶችን ለማንበብ የ Wire.h ቤተ -መጽሐፍትን እየተጠቀምን ነው። ይህ ቤተ -መጽሐፍት በአነፍናፊው እና በዋናው መሣሪያ መካከል የ i2c ግንኙነትን ያመቻቻል። 0x44 ለ SHT31 የ I2C አድራሻ ነው።
SHT31 በተለየ የአሠራር ሁኔታ ውስጥ ይሠራል። ለዚያ የውሂብ ሉህ ማመልከት ይችላሉ። ለአንድ ጥይት ቀዶ ጥገና በቅደም ተከተል 0x2C እና 0x06 ን እንደ MSB እና LSB እየተጠቀምን ነው።
// I2C የተግባር ጥሪ ጥሪ ባዶ ተግባርI2CCallback () {Serial.println (“taskI2CStarted”); ያልተፈረመ int ሥር [6]; // ከ 0x44 ማስተላለፍ ይጀምሩ ፣ Wire.begin ማስተላለፊያ (Addr); // ለአንድ ተኩስ ማስተላለፍ በከፍተኛ ተደጋጋሚነት 0x2C (MSB) እና 0x06 (LSB) Wire.write (0x2C) እንጠቀማለን። Wire.write (0x06); // ማብቂያ ማስተላለፍ Wire.endTransmission (); // የጥያቄ ባይት ከ 0x44 Wire.begin ማስተላለፊያ (አድሪ); Wire.endTransmission (); Wire.requestFrom (Addr, 6); ከሆነ (Wire.available () == 6) {// data [0] እና ውሂብ [1] 16 ቢት የሙቀት መጠን ይ containsል። ሥር [0] = Wire.read (); ሥር [1] = Wire.read (); // ውሂብ [2] 8 ቢት የ CRC ሥር [2] = Wire.read (); // ውሂብ [3] እና ውሂብ [4] 16 ቢት እርጥበት ሥር [3] = Wire.read (); ሥር [4] = Wire.read (); // ውሂብ [5] 8 ቢት የ CRC ሥር [5] = Wire.read (); } int temp = (ሥር [0] * 256) + ሥር [1]; // MSB ን በ 8 ቢት ይቀይሩ LSB ተንሳፋፊ cTemp = -45.0 + (175.0 * temp /65535.0); ተንሳፋፊ fTemp = (cTemp * 1.8) + 32.0; // MSB ን በ 8 ቢት ይለውጡ LSB ን በእሱ ሙሉ ጥራት እና * 100 መቶ በመቶ ተንሳፋፊ እርጥበት = (100.0 * ((ሥር [3] * 256.0) + ስር [4])) /65535.0; tempC = cTemp; tempF = fTemp; እርጥበት = እርጥበት; Serial.print ("የሙቀት መጠን በ C: / t"); Serial.println (ሕብረቁምፊ (cTemp, 1)); Serial.print ("ሙቀት በ F: / t"); Serial.println (ሕብረቁምፊ (fTemp, 1)); Serial.print ("እርጥበት ፦ / t"); Serial.println (ሕብረቁምፊ (እርጥበት ፣ 1)); }
ደረጃ 5 የድር አገልጋዮችን ለማስተናገድ ኮድ
በማይንቀሳቀስ አይፒ ላይ የድር አገልጋይን ከመሣሪያችን አስተናግደናል።
ESP8266WebServer ቤተ -መጽሐፍት የድር አገልጋዩን ለማስተናገድ ያገለግላል
- የእኛን የማይንቀሳቀስ አይፒ ለመፍጠር በመጀመሪያ የአይፒ አድራሻ ፣ የጌትዌይ እና ንዑስ አውታረ መረብ ጭንብል ማወጅ አለብን
- አሁን ለእርስዎ የመዳረሻ ነጥብ ssid እና የይለፍ ቃል ያውጁ። ከማንኛውም STA መሣሪያ ወደ የመዳረሻ ነጥብ ያገናኙ
- ለበይነመረብ ግንኙነት ፕሮቶኮል ነባሪ ወደብ በሆነው ወደብ 80 ላይ አገልጋዩን ያስተናግዳል ፣ የሃይፐርቴክስ ማስተላለፍ ፕሮቶኮል (ኤችቲቲፒ) በድር አሳሽዎ ውስጥ ወደ መግቢያ ድረ -ገጽ 192.168.1.4 ያስገቡ እና 192.168.1.4/ ለሴንሰር ንባብ ድረ -ገጽ እሴት
// የማይንቀሳቀስ አይፒ ለኤፒአይ አድራሻ አድራሻ ap_local_IP (192 ፣ 168 ፣ 1 ፣ 4) ፤ IPAddress ap_gateway (192 ፣ 168 ፣ 1 ፣ 254) ፤ IPAddress ap_subnet (255, 255, 255, 0); // ssid እና AP በ STA ሞድ const char WiFissid ውስጥ ለአካባቢያዊ WiFi = "*********"; const char WiFipass = "*********"; // ssid እና ለ AP const char APssid = "********"; const char APpass = "********"; ESP8266WebServer አገልጋይ (80); ባዶነት ማዋቀር {server.on ("/", onHandleDataRoot); server.on ("/እሴት" ፣ onHandleDataFeed); server.onNotFound (onHandleNotFound);} ባዶ ተግባርAPCallback () {Serial.println ("taskAP ተጀምሯል"); server.handleClient (); } በ HandandDataRoot () ላይ ባዶነት {server.send (200 ፣ “ጽሑፍ/html” ፣ PAGE1); } በ HandandDataFeed () {server.send (200 ፣ “ጽሑፍ/html” ፣ PAGE2) ላይ ባዶነት; } ባዶ ላይ በ ‹HandleNotFound () {ሕብረቁምፊ መልእክት = ‹ፋይል አልተገኘም / n / n› ፤ መልዕክት += "URI:"; መልዕክት += server.uri (); መልዕክት += "\ n ዘዴ:"; መልዕክት += (server.method () == HTTP_GET)? "GET": "POST"; መልዕክት += "\ n ክርክሮች:"; መልዕክት += server.args (); መልዕክት += "\ n"; server.send (404 ፣ “ጽሑፍ/ተራ” ፣ መልእክት); } ባዶነት ዳግም ግንኙነት APWiFi () {WiFi.mode (WIFI_AP_STA); መዘግየት (100); WiFi. ግንኙነት ያቋርጡ (); ቡሊያን ሁኔታ = WiFi.softAPConfig (ap_local_IP ፣ ap_gateway ፣ ap_subnet); ከሆነ (ሁኔታ == እውነት) {Serial.print (“soft-AP…”); ቡሊያን ap = WiFi.softAP (APssid ፣ APpass); ከሆነ (ap == እውነት) {Serial.print ("ከ / t" ጋር ተገናኝቷል); // IPAddress myIP = WiFi.softAPIP (); Serial.println (WiFi.softAPIP ()); } server.begin ();
}
ደረጃ 6: የነገሮች አቀማመጥ ማዋቀር
ThingSpeak የ IoT መድረክ ነው። ThingSpeak በደመና ውስጥ የአነፍናፊ መረጃን ለመሰብሰብ እና ለማከማቸት የሚያስችል ነፃ የድር አገልግሎት ነው።
በዚህ ደረጃ ፣ የንግግር ተናጋሪ መለያዎን ለማዋቀር አጭር አሰራር እሰጥዎታለሁ
- በ ThingSpeak ውስጥ ለአዲስ የተጠቃሚ መለያ ይመዝገቡ
- ሰርጦችን ፣ የእኔን ሰርጦች ፣ እና ከዚያ አዲስ ሰርጥን በመምረጥ አዲስ ሰርጥ ይፍጠሩ
- መስኮችዎን ያርትዑ
- እነዚህ መስኮች የእርስዎን ዳሳሽ ውሂብ ይዘዋል
- የጽሑፍ ኤፒአይ ቁልፍን እና የሰርጥ መታወቂያውን ልብ ይበሉ
- በእርስዎ አርዱinoኖ ንድፍ ላይ የ ThingSpeak ቤተ -መጽሐፍትን ለአርዱዲኖ መጠቀም ይችላሉ ወይም ውሂቡን በቀጥታ ወደ ThingSpeak ኤፒአይ መለጠፍ ይችላሉ
- ቀጣዩ ደረጃ ይዘቱን ወደ Thing Speak ኤፒአይ ስለ መለጠፍ ያብራራል
ደረጃ 7 - ወደ ተናገር መረጃን ለመለጠፍ ኮድ
እዚህ የአነፍናፊ ንባቦችን ወደ Thing Speak እንለጥፋለን። ይህንን ተግባር ለማጠናቀቅ የሚከተሉት እርምጃዎች ያስፈልጋሉ-
- በንግግር ውስጥ መለያዎን ይፍጠሩ የአነፍናፊ ውሂብዎን ለማከማቸት ሰርጦችን እና መስኮችን ይፍጠሩ
- እኛ የ ESP ን ወደ ነገር መናገር እና መለጠፍ እንችላለን እና በተቃራኒው የ GET እና POST ጥያቄዎችን ወደ api በመጠቀም።
- እንደሚከተለው ለ ThingSpeak ውሂባችንን መለጠፍ እንችላለን
መታወቂያ ተግባር WiFiFiCallback () {WiFiClient wifiClient; ከሆነ (wifiClient.connect (hostId, 80)) {String postStr = apiKey; postStr += "& field1 ="; postStr += ሕብረቁምፊ (እርጥብ); postStr += "& field2 ="; postStr += ሕብረቁምፊ (tempC); postStr += "& field3 ="; postStr += ሕብረቁምፊ (tempF); postStr += "\ r / n / r / n"; wifiClient.print ("POST /update HTTP /1.1 / n"); wifiClient.print ("አስተናጋጅ: api.thingspeak.com / n"); wifiClient.print ("ግንኙነት ፦ ዝጋ / n"); wifiClient.print ("X-THINGSPEAKAPIKEY:"+apiKey+"\ n"); wifiClient.print ("የይዘት-አይነት: ትግበራ/x-www-form-urlencoded / n"); wifiClient.print ("የይዘት-ርዝመት:"); wifiClient.print (postStr.length ()); wifiClient.print ("\ n / n"); wifiClient.print (postStr); } wifiClient.stop (); }
ደረጃ 8 - አጠቃላይ ኮድ
ጠቅላላው ኮድ በእኔ GitHub ማከማቻ ውስጥ ይገኛል
ደረጃ 9: ክሬዲቶች
- አርዱዲኖ ጄሰን
- ESP826 ድር አገልጋይ
- የተግባር መርሐግብር
- SHT 31
- I2C ቅኝት
- HIH6130 አስተማሪ ትምህርቶች
- ሽቦ
- NCD.io
የሚመከር:
XinaBox ን እና የሙቀት መቆጣጠሪያን በመጠቀም የሙቀት መጠን መለካት 8 ደረጃዎች
XinaBox እና Thermistor ን በመጠቀም የሙቀት መጠን መለካት - ከአናሎግ ግብዓት xChip ከ XinaBox እና የሙቀት መቆጣጠሪያ ምርመራን በመጠቀም የፈሳሹን የሙቀት መጠን ይለኩ
LM35 የሙቀት ዳሳሽ በመጠቀም ከአርዱዲኖ ኡኖ ጋር ንባብ የሙቀት መጠን - 4 ደረጃዎች
LM35 ን የሙቀት መጠን ዳሳሽ በመጠቀም ከአርዱዲኖ ኡኖ ጋር - ንባብ በዚህ አስተማሪዎች ውስጥ LM35 ን ከአርዱዲኖ ጋር እንዴት መጠቀም እንደሚቻል እንማራለን። Lm35 የሙቀት መጠን እሴቶችን ከ -55 ° ሴ እስከ 150 ° ሴ ማንበብ የሚችል የሙቀት ዳሳሽ ነው። ከአየሩ ሙቀት ጋር ተመጣጣኝ የአናሎግ ቮልቴጅን የሚያቀርብ ባለ 3-ተርሚናል መሣሪያ ነው። ከፍተኛ
MIT APP ን እና Google Fusion ሠንጠረዥን በመጠቀም ለትንሽ ንግድ የ Android ትግበራ ማድረግ - 7 ደረጃዎች
የ MIT APP ን እና የ Google Fusion ጠረጴዛን በመጠቀም ለትንሽ ንግድ የ Android መተግበሪያን ማድረግ - በ google ጨዋታ መደብር ውስጥ ሊገኝ የሚችል የራስዎን መተግበሪያ ለመሥራት መቼም ፈልገው ያውቃሉ !!! ንግድ ካሎት ታዲያ ይህ መማሪያ ሕይወትዎን ይለውጣል። ይህንን በጥንቃቄ ካነበቡ በኋላ የራስዎን ትግበራ መሥራት ይችላሉ። በፎ
ESP8266 NodeMCU የመድረሻ ነጥብ (ኤፒ) ለድር አገልጋይ በ DT11 የሙቀት ዳሳሽ እና በአሳሹ ውስጥ የሙቀት መጠን እና እርጥበት ማተም 5 ደረጃዎች
ESP8266 NodeMCU የመድረሻ ነጥብ (ኤፒ) ለድር አገልጋይ በ DT11 የሙቀት ዳሳሽ እና የማተሚያ ሙቀት እና እርጥበት በአሳሽ ውስጥ - ሠላም ወንዶች በአብዛኛዎቹ ፕሮጄክቶች ውስጥ ESP8266 ን እንጠቀማለን እና በአብዛኛዎቹ ፕሮጄክቶች ውስጥ ESP8266 ን እንደ ድር አገልጋይ እንጠቀማለን ፣ ስለዚህ መረጃ በ በ ESP8266 የተስተናገደውን ዌብሳይቨርን በመድረስ በ wifi ላይ ያለ ማንኛውም መሣሪያ ግን ብቸኛው ችግር ለሥራ የሚሰራ ራውተር ያስፈልገናል
TicTacToe ሃርድዌር ትግበራ RaspberryPi ን በመጠቀም - 4 ደረጃዎች
TicTacToe ሃርድዌር አተገባበር RaspberryPi ን በመጠቀም - ይህ ፕሮጀክት ሁለት የተለያዩ ባለቀለም ኤልኢዲዎችን በመጠቀም ራስተርቤሪ ፒን በመጠቀም ሁለቱን ተጫዋቾች የሚያመለክቱ በይነተገናኝ የ TicTacToe ሞዴልን ለመገንባት ያለመ ነው። እዚህ ያለው ሀሳብ ይህንን በአገናኝ መንገዱ በትልቁ መጠን ለመተግበር ነበር - 3x3 ከፊል ግሎብ ፍርግርግ (ሊ