ዝርዝር ሁኔታ:

IoT ቀላል ተደርጎ - በርካታ ዳሳሾችን መቆጣጠር 7 ደረጃዎች
IoT ቀላል ተደርጎ - በርካታ ዳሳሾችን መቆጣጠር 7 ደረጃዎች

ቪዲዮ: IoT ቀላል ተደርጎ - በርካታ ዳሳሾችን መቆጣጠር 7 ደረጃዎች

ቪዲዮ: IoT ቀላል ተደርጎ - በርካታ ዳሳሾችን መቆጣጠር 7 ደረጃዎች
ቪዲዮ: God Will Shake All Things | Derek Prince 2024, ህዳር
Anonim
IoT ቀላል ተደርጎ - በርካታ ዳሳሾችን መከታተል
IoT ቀላል ተደርጎ - በርካታ ዳሳሾችን መከታተል
IoT ቀላል ተደርጎ - በርካታ ዳሳሾችን መከታተል
IoT ቀላል ተደርጎ - በርካታ ዳሳሾችን መከታተል

ከጥቂት ሳምንታት በፊት ፣ በ ‹1D› ሽቦ አውቶቡስ ላይ የሚገናኝ ፣ ከኖድኤምሲዩ እና ከብሌንክ ጋር በበይነመረብ ላይ መረጃን በመላክ ፣ DS18B20 ን በመጠቀም ስለ ሙቀት ቁጥጥር ትምህርትን እዚህ አሳትሜአለሁ።

IoT ቀላል ተደርጎ - በማንኛውም ቦታ የሙቀት መጠንን መከታተል

ነገር ግን እኛ በፍለጋ ውስጥ ያመለጠን ፣ ከተመሳሳይ የ 1 ሽቦ አውቶቡስ ጋር ከተገናኙ በርካታ ዳሳሾች ብዙ መረጃዎችን የመሰብሰብ ዕድል ከሚያስገኘው የዚህ ዓይነቱ ዳሳሽ ታላቅ ጥቅሞች አንዱ ነው። እና ፣ እሱን ለመመርመር ጊዜው አሁን ነው።

በመጨረሻው መማሪያ ላይ የተሻሻለውን እናሰፋለን ፣ አሁን ሁለት የ DS18B20 ዳሳሾችን በመቆጣጠር ፣ አንዱን በሴልሲየስ ውስጥ ሌላውን ደግሞ በፋራናይት ውስጥ አዋቅሯል። ከላይ ባለው የማገጃ ሥዕላዊ መግለጫ ላይ እንደሚታየው ውሂቡ ወደ ብሊንክ መተግበሪያ ይላካል።

ደረጃ 1 የቁስ ሂሳብ

  • NodeMCU ESP 12-E (*)
  • 2 X DS18B20 የሙቀት ዳሳሽ
  • ተከላካይ 4.7 ኪ Ohms
  • ዳቦ ዳቦ
  • ሽቦ

(*) ማንኛውም ዓይነት የ ESP መሣሪያ እዚህ ጥቅም ላይ ሊውል ይችላል። በጣም የተለመዱት NodeMCU V2 ወይም V3 ናቸው። ሁለቱም ሁል ጊዜ በጥሩ ሁኔታ ይሰራሉ።

ደረጃ 2 DS18B20 የሙቀት ዳሳሽ

DS18B20 የሙቀት ዳሳሽ
DS18B20 የሙቀት ዳሳሽ

በዚህ መማሪያ ውስጥ የ DS18B20 ዳሳሽ የውሃ መከላከያ ስሪት እንጠቀማለን። በእርጥበት ሁኔታ ውስጥ ለርቀት የሙቀት መጠን በጣም ጠቃሚ ነው ፣ ለምሳሌ በእርጥበት አፈር ላይ። አነፍናፊው ተነጥሎ እስከ 125oC ድረስ ልኬቶችን ሊወስድ ይችላል (Adafrut በኬብል PVC ጃኬቱ ምክንያት ከ 100 o ሴ በላይ እንዲጠቀም አይመክረውም)።

DS18B20 በረጅም ርቀት ላይ እንኳን ለመጠቀም ጥሩ የሚያደርገው ዲጂታል ዳሳሽ ነው! እነዚህ ባለ 1-ሽቦ ዲጂታል የሙቀት ዳሳሾች በትክክል (the 0.5 ° ሴ ከብዙ ክልል በላይ) እና ከቦርዱ ዲጂታል ወደ አናሎግ መቀየሪያ እስከ 12 ቢት ትክክለኛነት ሊሰጡ ይችላሉ። አንድ ዲጂታል ፒን በመጠቀም ከኖድኤምሲዩ ጋር በጥሩ ሁኔታ ይሰራሉ ፣ እና ብዙዎችን እንኳን ወደ ተመሳሳይ ፒን ማገናኘት ይችላሉ ፣ እያንዳንዳቸው እነሱን ለመለየት በፋብሪካው ውስጥ የተቃጠለ ልዩ 64-ቢት መታወቂያ አለው።

አነፍናፊው ከ 3.0 ወደ 5.0V ይሠራል ፣ ይህ ማለት በቀጥታ ከ 3.3V NodeMCU ፒኖች አንዱ ሊሠራ ይችላል ማለት ነው።

አነፍናፊው 3 ሽቦዎች አሉት

  • ጥቁር: GND
  • ቀይ: ቪ.ሲ.ሲ
  • ቢጫ: 1-ሽቦ ውሂብ

እዚህ ፣ ሙሉውን መረጃ DS18B20 የውሂብ ሉህ ማግኘት ይችላሉ

ደረጃ 3: ዳሳሾቹን ከ NodeMCU ጋር በማገናኘት ላይ

ዳሳሾቹን ከ NodeMCU ጋር በማገናኘት ላይ
ዳሳሾቹን ከ NodeMCU ጋር በማገናኘት ላይ
  1. ከላይ ባለው ፎቶ ላይ እንደሚታየው ከእያንዳንዱ ዳሳሽ በትንሽ ዳቦ ሰሌዳ ላይ 3 ገመዶችን ያገናኙ። በላዩ ላይ የአነፍናፊውን ገመድ በተሻለ ለማስተካከል ልዩ ማያያዣዎችን እጠቀም ነበር።
  2. ሁለቱም ዳሳሾች ትይዩ መሆናቸውን ልብ ይበሉ። ከ 2 በላይ ዳሳሾች ካሉዎት እርስዎም እንዲሁ ማድረግ አለብዎት።

    • ቀይ ==> 3.3 ቪ
    • ጥቁር ==> GND
    • ቢጫ ==> D4
  3. በ VCC (3.3V) እና በውሂብ (D4) መካከል 4.7K ohms resistor ይጠቀሙ

ደረጃ 4 - የተመደቡ ቤተ -ፍርግሞችን መጫን

DS18B20 ን በአግባቡ ለመጠቀም ፣ ሁለት ቤተ -መጻሕፍት አስፈላጊ ይሆናሉ-

  1. OneWire
  2. የዳላስ የሙቀት መጠን

በአርዱዲኖ አይዲኢ ቤተመፃህፍት ክምችት ውስጥ ሁለቱንም ቤተ -መጽሐፍት ይጫኑ።

ያስታውሱ የ OneWire ቤተ -መጽሐፍት ከ ESP8266 ጋር ጥቅም ላይ እንዲውል የተቀየረ ልዩ መሆን አለበት ፣ አለበለዚያ በማጠናቀር ጊዜ ስህተት ያገኛሉ። ከላይ ባለው አገናኝ ላይ የመጨረሻውን ስሪት ያገኛሉ።

ደረጃ 5 - አነፍናፊዎችን መሞከር

ዳሳሾችን መሞከር
ዳሳሾችን መሞከር

ዳሳሾችን ለመፈተሽ ከዚህ በታች ያለውን ፋይል ከ GitHub ያውርዱ

NodeMCU_DS18B20_Dual_Se nsor_test.ino

/**************************************************************

*ብዙ የሙቀት ላኪ ሙከራ**2 x OneWire Sensor: DS18B20*ከ NodeMCU D4 (ወይም አርዱinoኖ ፒን 2) ጋር ተገናኝቷል**በማርሴሎ ሮቫይ - 25 ነሐሴ 2017 *************** ************************************************/ #አካት # NodeMCU pin D4 OneWire oneWire (ONE_WIRE_BUS) ላይ #መግለፅ ONE_WIRE_BUS 2 // DS18B20; የዳላስ የሙቀት መጠን DS18B20 (& oneWire); ባዶነት ማዋቀር () {Serial.begin (115200); DS18B20.begin (); Serial.println ("የሁለትዮሽ ዳሳሽ ውሂብን መሞከር"); } ባዶነት loop () {float temp_0; ተንሳፋፊ temp_1; DS18B20.requestTemperatures (); temp_0 = DS18B20.getTempCByIndex (0); // ዳሳሽ 0 በሴልሲየስ temp_1 = DS18B20.getTempFByIndex (1) ውስጥ ቴምፕን ይይዛል። // ዳሳሽ 0 ቴምፕን በ ፋራናይት ሂድ Serial.print (“Temp_0:”) ውስጥ ይይዛል። Serial.print (temp_0); Serial.print ("oC Temp_1:"); Serial.print (temp_1); Serial.println ("oF"); መዘግየት (1000); }

ከላይ ያለውን ኮድ በመመልከት ፣ በጣም አስፈላጊዎቹ መስመሮች የሚከተሉት መሆናቸውን ልብ ማለት አለብን-

temp_0 = DS18B20.getTempCByIndex (0); // ዳሳሽ 0 በሴልሲየስ ውስጥ ቴምፕን ይይዛል

temp_1 = DS18B20.getTempFByIndex (1); // ዳሳሽ 0 ፋራናይት ውስጥ ቴምፕን ይይዛል

የመጀመሪያው በሴልሲየስ ውስጥ ከሴንሰር [0] (“ጠቋሚ (0)”) ይመልከቱ (የኮዱን ክፍል ይመልከቱ - “getTempC”። ሁለተኛው መስመር ከሴንሰር [1] ጋር ይዛመዳል እና ውሂብ ይመልሳል። በፋራናይት ውስጥ። ለእያንዳንዳቸው የተለየ “መረጃ ጠቋሚ” ስላሎት እዚህ “n” ዳሳሾች ሊኖሩዎት ይችላሉ።

አሁን በ NodeMCU ውስጥ ኮዱን ይስቀሉ እና ተከታታይ ሞኒተርን በመጠቀም የሙቀት መጠኑን ይቆጣጠሩ።

ከላይ ያለው ፎቶ የሚጠበቀው ውጤት ያሳያል። እያንዳንዱን ዳሳሾች በእጅዎ ይያዙ ፣ የሙቀት መጠኑ ሲጨምር ማየት አለብዎት።

ደረጃ 6: ብሊንክን መጠቀም

ብሊንክን በመጠቀም
ብሊንክን በመጠቀም
ብሊንክን በመጠቀም
ብሊንክን በመጠቀም

አንዴ የሙቀት መረጃን መያዝ ከጀመሩ ከየትኛውም ቦታ እሱን ለማየት ጊዜው አሁን ነው። ብሊንክን በመጠቀም ይህንን እናደርጋለን። ስለዚህ ፣ ሁሉም የተያዙ መረጃዎች በተንቀሳቃሽ መሣሪያዎ ላይ በእውነተኛ ጊዜ ይታያሉ እና እኛ ደግሞ ለዚያ ታሪካዊ ማከማቻ እንገነባለን።

የሚከተሉትን ደረጃዎች ይከተሉ

  1. አዲስ ፕሮጀክት ይፍጠሩ።
  2. ስም ይስጡት (በእኔ ሁኔታ “ባለሁለት የሙቀት መቆጣጠሪያ”)
  3. አዲስ መሣሪያን ይምረጡ - ESP8266 (WiFi) እንደ “የእኔ መሣሪያዎች”
  4. በኮድ ውስጥ ጥቅም ላይ እንዲውል AUTH TOKEN ን ይቅዱ (ወደ ኢሜልዎ መላክ ይችላሉ)።
  5. ሁለት “መለኪያ” ንዑስ ፕሮግራሞችን ያካትታል ፣ የሚከተሉትን ይገልጻል

    • ከእያንዳንዱ ዳሳሽ ጋር ጥቅም ላይ የሚውል ምናባዊ ፒን - V10 (ዳሳሽ [0]) እና V11 (ዳሳሽ [1])
    • የሙቀት መጠኑ ክልል -5 እስከ 100 oC ለሴንሰር [0]
    • የሙቀት መጠኑ ከ 25 እስከ 212 oC ለሴንሰር [1]
    • መረጃን ለማንበብ ድግግሞሽ - 1 ሰከንድ
  6. V10 ን እና V11 ን እንደ ምናባዊ ፒኖች የሚገልጽ “የታሪክ ግራፍ” መግብርን ያካትታል
  7. “አጫውት” ን ይጫኑ (በስተቀኝ ጥግ ላይ ያለው ትሪያንግል)

በእርግጥ ፣ የብላይንክ መተግበሪያ ኖድኤምሲዩ ከመስመር ውጭ መሆኑን ይደውልልዎታል። በእርስዎ አርዱዲኖ አይዲኢ ላይ ሙሉውን ኮድ ለመስቀል ጊዜው አሁን ነው። እዚህ ሊያገኙት ይችላሉ-

NodeMCU_Dual_Sensor_Blynk_Ext.ino

በእራስዎ ምስክርነቶች “ዱሚ ውሂብ” ይለውጡ።

/ * ብሌንክ ምስክርነቶች */

char auth = "እዚህ ያለዎት የደካሞች ኮድ"; / * የ WiFi ምስክርነቶች */ char ssid = "የእርስዎ SSID"; ቻር ማለፊያ = "የእርስዎ የይለፍ ቃል";

እና ያ ብቻ ነው!

ሙሉውን ኮድ ያድምጡ። እሱ በብሌንክ መለኪያዎች እና በተወሰኑ ተግባራት የገባንበት የቀድሞው ኮድ ነው። የኮዱን 2 የመጨረሻ መስመሮች ልብ ይበሉ። እነዚያ እዚህ በጣም አስፈላጊ ናቸው። መረጃን የሚሰበስቡ ተጨማሪ ዳሳሾች ካሉዎት ፣ እንደ እነዚያ (አግባብነት ባለው አዲስ ምናባዊ ካስማዎች ከተገለጹ) ጋር ተመጣጣኝ የሆኑ አዲስ መስመሮች ሊኖሯቸው ይገባል።

/**************************************************************

* የአይቲ ብዙ የሙቀት መቆጣጠሪያ ከቢሊንክ ጋር * ብሊንክ ቤተመፃሕፍት በ MIT ፈቃድ ስር ፈቃድ ተሰጥቶታል * ይህ ምሳሌ ኮድ በሕዝብ ጎራ ውስጥ ነው። **ብዙ የ OneWire ዳሳሽ DS18B20*በማርሴሎ ሮቫይ - 25 ነሐሴ 2017 የተገነባ ********************************* ***** ህትመቶችን ያሰናክሉ እና ቦታን / * ብሊንክ ምስክርነቶችን * / ቻር auth = "እዚህ ላይ የአንተ ደካሞች ኮድ"; / * የ WiFi ምስክርነቶች */ char ssid = "የእርስዎ SSID"; ቻር ማለፊያ = "የእርስዎ የይለፍ ቃል"; / * ሰዓት ቆጣሪ */ #SimpleTimer ሰዓት ቆጣሪን ያካትቱ ፤ / * DS18B20 የሙቀት ዳሳሽ */ # # #ጨምሮ #መግለፅ ONE_WIRE_BUS 2 // DS18B20 በአርዱዲኖ ፒን 2 ላይ በአካላዊ ሰሌዳ ላይ One4ire oneWire (ONE_WIRE_BUS) ላይ ከ D4 ጋር ይዛመዳል ፤ የዳላስ ሙቀት DS18B20 (& oneWire); int temp_0; int temp_1; ባዶነት ማዋቀር () {Serial.begin (115200); ብሊንክ.ጀጊን (auth ፣ ssid ፣ pass); DS18B20.begin (); timer.setInterval (1000L ፣ getSendData); Serial.println (""); Serial.println ("የሁለትዮሽ ዳሳሽ ውሂብን መሞከር"); } ባዶነት loop () {timer.run (); // ያስጀምራል SimpleTimer Blynk.run (); } /************************************************ ****የአነፍናፊ ውሂብን ወደ ብሊንክ ይላኩ ***************************************** *********/ ባዶነት getSendData () {DS18B20.requestTemperatures (); temp_0 = DS18B20.getTempCByIndex (0); // ዳሳሽ 0 በሴልሲየስ temp_1 = DS18B20.getTempFByIndex (1) ውስጥ ቴምፕን ይይዛል። // ዳሳሽ 0 ቴምፕን በ ፋራናይት ሂድ Serial.print (“Temp_0:”) ውስጥ ይይዛል። Serial.print (temp_0); Serial.print ("oC Temp_1:"); Serial.print (temp_1); Serial.println ("oF"); ብሊንክክ. ቨርቹዋል ፃፍ (10 ፣ temp_0); // ምናባዊ ፒን V10 Blynk.virtualWrite (11 ፣ temp_1); // ምናባዊ ፒን V11}

ኮዱ አንዴ ከተሰቀለ እና ከሠራ በኋላ የብላይንክ መተግበሪያውን ይፈትሹ። ከኔ iPhone ከላይ ባለው የህትመት ማያ ገጽ ላይ እንደሚታየው አሁን እንዲሁ እየሄደ መሆን አለበት።

ደረጃ 7 መደምደሚያ

መደምደሚያ
መደምደሚያ

እንደተለመደው ፣ ይህ ፕሮጀክት አስደሳች በሆነው በኤሌክትሮኒክስ ፣ በሮቦት እና በአይኦቲ ዓለም ውስጥ ሌሎች መንገዳቸውን እንዲያገኙ ይረዳቸዋል ብዬ ተስፋ አደርጋለሁ!

ለተዘመኑ ፋይሎች እባክዎን GitHub ን ይጎብኙ - NodeMCU Dual Temp Monitor

ለተጨማሪ ፕሮጄክቶች እባክዎን የእኔን ብሎግ ይጎብኙ - MJRoBot.org

ሳሉዶስ ከደቡብ ዓለም!

በሚቀጥለው አስተማሪዬ እንገናኝ!

አመሰግናለሁ, ማርሴሎ

የሚመከር: