ዝርዝር ሁኔታ:

የቤት አውታረ መረብ የሙቀት ዳሳሽ 7 ደረጃዎች
የቤት አውታረ መረብ የሙቀት ዳሳሽ 7 ደረጃዎች

ቪዲዮ: የቤት አውታረ መረብ የሙቀት ዳሳሽ 7 ደረጃዎች

ቪዲዮ: የቤት አውታረ መረብ የሙቀት ዳሳሽ 7 ደረጃዎች
ቪዲዮ: Ethiopia:/በ50 ሺብር የሚሰራ በጣም አትራፊ ስራ!! 2024, ህዳር
Anonim
የቤት አውታረ መረብ የሙቀት ዳሳሽ
የቤት አውታረ መረብ የሙቀት ዳሳሽ

ይህንን ፕሮጀክት ለመሥራት ማወቅ ያለብዎት-

ማወቅ ያለብዎት- አንዳንድ የኤሌክትሮኒክስ ችሎታዎች (ብየዳ)

- ሊኑክስ

- አርዱዲኖ አይዲኢ

(በ IDE ውስጥ ተጨማሪ ሰሌዳዎችን ማዘመን ያስፈልግዎታል

- በአርዱዲኖ አይዲኢ በኩል የ ESP ቦርድ ማዘመን/ማዘጋጀት።

(በድር ላይ አንዳንድ ጥሩ ትምህርቶች አሉ)

ይህ አርዱዲኖ ኡኖን በመጠቀም ወይም ኤፍቲዲአይ (ዩኤስቢ ወደ ተከታታይ አስማሚ) በመጠቀም ሊከናወን ይችላል።

በፒሲዬ ላይ ምንም ተከታታይ ወደብ ስለሌለኝ ወይም ኤፍቲዲአይ ስላልነበረኝ ዩኖዬን ተጠቀምኩ

ደረጃ 1 - ወደ ግብይት ይሂዱ

ለመግዛት ወጣሁ
ለመግዛት ወጣሁ

ይህ እንዲከሰት ምን ያስፈልግዎታል?

ለዲጂታል ሙቀት እና እርጥበት ዳሳሽ

- ወይ የዳቦ ሰሌዳ ወይም አማራጭ እንደ ፕሮቶታይፕ ፒሲቢ ፣ ሻጭ ፣ ብየዳ ብረት…

- አንዳንድ ሽቦ

- ሁለት መዝለያዎች

- 10 ኪ Ohm resistor

- ESP12F (ሌሎች ሞዴሎች እንዲሁ ሊሠሩ ይችላሉ…)

- DHT22 (ከ DHT11 ትንሽ በጣም ውድ ግን የበለጠ ትክክለኛ)

- 3 AA ዳግም ሊሞሉ የሚችሉ ባትሪዎች እና የባትሪ መያዣ

- ፕሮጀክትዎን ለማስገባት ትንሽ የፕላስቲክ ሳጥን

- በኋላ ደረጃ በባትሪ ማሸጊያው እና በ ESP መካከል በሁለት 10uF capacitors ኤች ቲ 7733 ለማከል አቅጃለሁ።

የግቤት ቮልቴጅን (ቪሲሲ) ወደ ሚመከረው 3.3 ቪ ለማረጋጋት ግን ኢ.ሲ.ፒ.ን ከመጠን በላይ ጫና ለመከላከል።

ለኔትወርክ ክፍል -

- የቤትዎ WiFi አውታረ መረብ

ለአገልጋዩ ክፍል -

- ማንኛውም በሊኑክስ ላይ የተመሠረተ ስርዓት (ሁል ጊዜ በርቷል!)

እኔ Raspberry Pi ን እጠቀም ነበር (እኔ ደግሞ ለውጭ አይፒ ካሜራዎቼ እንደ አገልጋይ እጠቀማለሁ።)

- gcc ኮምፕሌተር የአገልጋይዎን ኮድ ለማጠናቀር

- rrdtool ጥቅል ውሂቡን ለማከማቸት እና ግራፎችን ለማመንጨት

- apache (ወይም ሌላ የድር አገልጋይ)

በላዩ ላይ አርዱዲኖ አይዲኢ ያለው የእርስዎ ተወዳጅ ፒሲ ወይም ላፕቶፕ።

ደረጃ 2 - ማዋቀር እና ዳራ

ማዋቀር እና ዳራ
ማዋቀር እና ዳራ

በዚህ የ WiFi ስሪት ውስጥ ተገናኝቷል - IOT ለማለት አይደለም - የሙቀት እና እርጥበት ዳሳሽ ESP12F ን ፣ DHT22 ን እና 3 AA ባትሪ መያዣን እንደገና በሚሞሉ ባትሪዎች ተጠቅሜአለሁ።

በየ 20 ደቂቃው ESP ከ DHT22 መለኪያ ይወስዳል እና በቤቴ WiFi አውታረ መረብ ላይ በ UDP ላይ ወደ አገልጋይ (Raspberry Pi) ይልካል። መለኪያዎች ከተላኩ በኋላ ፣ ESP ወደ ጥልቅ እንቅልፍ ይሄዳል። ይህ ማለት የሞጁሉ የእውነተኛ ሰዓት ሰዓት ብቻ ኃይል ሆኖ ይቆያል ፣ ይህም የማይታመን የኃይል ቁጠባን ያስከትላል። ለ 5 ሰከንዶች ያህል ፣ ሞጁሉ 100mA ያህል ይፈልጋል ፣ ከዚያ በ 20 ደቂቃዎች ውስጥ ጥልቅ እንቅልፍ 150uA ብቻ ነው።

በማንኛውም ጊዜ የበራ የእኔ Raspberry Pi ስላለኝ እና በዚህ መንገድ የአገልጋዩን ክፍል በመፃፍም ደስታ ስለነበረኝ ማንኛውንም በይነመረብ ላይ የተመሠረተ አገልግሎት መጠቀም አልፈልግም ነበር።

በአገልጋዩ ላይ (Raspbian ን የሚያሄድ Raspberry Pi) እሴቶቹን ወደ ቀላል አርአርዲ የሚያከማች ቀለል ያለ የ UDP አድማጭ (አገልጋይ) ጽፌያለሁ። (Robi Robin Database RRDtool ን በጦቢያ ኦቲከር በመጠቀም)።

የ RRDtool ጠቀሜታ የውሂብ ጎታዎን አንዴ መፍጠር እና መጠኑ ተመሳሳይ ሆኖ መቆየቱ ነው። እንደዚያ ሆኖ በጀርባ ውስጥ የሚሰራ የውሂብ ጎታ አገልጋይ (እንደ mySQLd) አያስፈልግዎትም። RRDtool የውሂብ ጎታውን ለመፍጠር እና ግራፎችን ለማመንጨት መሳሪያዎችን ይሰጥዎታል።

አገልጋዬ ግራፎቹን በየወቅቱ ይፈጥራል እና ሁሉንም ነገር በጣም ቀላል በሆነ http ገጽ ውስጥ ያሳያል። Raspberry Pi ላይ ከ Apache2 ድር አገልጋይ ጋር በማገናኘት ንባቤዎቼን በቀላል አሳሽ ማማከር እችላለሁ!

በመጨረሻም ፣ እኔ FTDI (ዩኤስቢ ወደ ተከታታይ) አልነበረኝም ፣ ስለዚህ የእኔን አርዱዲኖ UNO ተጠቀምኩ። TX ን እና RX's ን እና GND ን ESP እና UNO ን ማገናኘት ያስፈልግዎታል። (አውቃለሁ ፣ በደመ ነፍስዎ RX ን እና TX ን እንዲያልፉ ሊነግርዎት ይችላል… ሞክሯል ፣ አይሰራም።)

እኔ ደረጃ ልወጣ አላደረግኩም (UNO: High = 5V ግን ESP በመሠረቱ የ 3.3V መሣሪያ ነው… 5 ወይም 3.3V ለመሆን እንኳን የእርስዎን ከፍተኛ ደረጃ መምረጥ የሚችሉበት አንዳንድ ጥሩ FTDI በገበያ ላይ አሉ።

የእኔ ወረዳ በ 3 AA በሚሞሉ ባትሪዎች የተጎላበተ ነው - ስለዚህ በእውነቱ 3 X 1.2V። በኋለኛው ደረጃ እኔ ለባትሪ ፓኬጅ እና ለወረዳው መካከል HT7333 ን ለማስቀመጥ አስባለሁ ፣ አዲስ የተሞሉ ባትሪዎች ከ 1.2 ቮ በላይ ሊኖራቸው ይችላል እና ኢኤስፒ በደቂቃ ኃይል ሊኖረው ይገባል። 3V እና ከፍተኛ። 3.6 ቪ. እንዲሁም ከወሰንኩ - በደካማ ጊዜ - የአልካላይን ባትሪዎች (3 X 1.5V = 4.5V) ውስጥ ለማስገባት የእኔ ESP አይጠበቅም!

እኔ ደግሞ 10 ሴ.ሜ x 10 ሴ.ሜ የፀሐይ ፓነልን ለመጠቀም አስቤ ነበር ፣ ግን ለችግሩ ዋጋ የለውም። በሰዓት 3 ልኬቶችን በማድረግ (በመሠረቱ 3x 5 ሰከንዶች @ 100mA ከፍተኛ እና ቀሪው ጊዜ @ 100uA) ፣ በተመሳሳይ የኃይል መሙያ ባትሪዎች ላይ ወረዳዬን ለ 1 ዓመት ኃይል እንደምሰጥ ተስፋ አደርጋለሁ።

ደረጃ 3 - Arduino - ESP12 ክፍል

አርዱዲኖ - ESP12 ክፍል
አርዱዲኖ - ESP12 ክፍል
አርዱዲኖ - ESP12 ክፍል
አርዱዲኖ - ESP12 ክፍል

ይህንን ፕሮጀክት በተለያዩ ደረጃዎች አድርጌአለሁ።

ESP12 (aka. ESP8266) ን ወደ አርዱዲኖ አይዲኢ ለማስመጣት የሚያግዙዎት ብዙ አገናኞች አሉ። (ይህ በእንዲህ እንዳለ ሊፈታ ይችል በነበረው ሳንካ ምክንያት ከቅርብ ጊዜ ይልቅ ሥሪት 2.3.0 ን መጠቀም ነበረብኝ…)

እኔ በአርዱዲኖ UNO (በፒሲዬ መካከል በዩኤስቢ በኩል ወደ ሲሪያል ብቻ እንደ ድልድይ ሆኖ) ወደ ESP ተከታታይ በይነገጽ (ESP) በማያያዝ ጀመርኩ። ይህንን የሚያብራሩ የተለያዩ አስተማሪዎች አሉ።

በተጠናቀቀው ፕሮጀክት ውስጥ እኔ መላ መፈለግ ካስፈለገኝ ከሴሪያል ጋር ለመገናኘት ሽቦዎቹን ትቼዋለሁ

ከዚያ የእርስዎን ESP12 በሚከተለው መንገድ መገናኘት ያስፈልግዎታል

ESP ፒኖች…

GND UNO GND

RX UNO RX

TX UNO TX

ኤን ቪሲሲ

GPIO15 GND

መጀመሪያ ላይ የእኔን ESP ከ 3.3V በዩኤን ላይ ለማውጣት ሞክሬ ነበር ነገር ግን እኔ በፍጥነት ESP ን በቤንች የኃይል አቅርቦት ለማንቀሳቀስ ተንቀሳቀስኩ ፣ ግን እርስዎም የባትሪዎን ጥቅል መጠቀም ይችላሉ።

GPIO0 ESP ን ብልጭ ድርግም (= ፕሮግራም) ለማንቃት ይህንን ከጂምፐር ጋር ከጂኤንዲ ጋር አገናኘሁት።

የመጀመሪያ ሙከራ -መዝለሉን ክፍት ይተው እና በአርዱዲኖ አይዲኢ ውስጥ ተከታታይ ክትትል ይጀምሩ (በ 115200 ባውድ!)።

በ ESP የኃይል ዑደት ፣ አንዳንድ የቆሻሻ ገጸ -ባህሪያትን እና ከዚያ የሚከተለውን መልእክት ማየት አለብዎት

Ai- Thinker Technology Co. Ltd. ዝግጁ ነው

በዚህ ሁናቴ ፣ ኢ.ኤስ.ፒ. እንደ አሮጌ ፋሽን ሞደም ትንሽ ይሠራል። የ AT ትዕዛዞችን መጠቀም ያስፈልግዎታል።

የሚከተሉትን ትዕዛዞች ይሞክሩ

AT+RST

እና የሚከተሉት ሁለት ትዕዛዞች

AT+CWMODE = 3

እሺ

AT+CWLAP

ይህ በአካባቢው ያሉትን ሁሉንም የ WiFi አውታረ መረቦች ዝርዝር ሊሰጥዎት ይገባል።

ይህ እየሰራ ከሆነ ለሚቀጥለው ደረጃ ዝግጁ ነዎት።

ደረጃ 4 ESP ን እንደ የአውታረ መረብ ጊዜ ፕሮቶኮል (NTP) ደንበኛ መሞከር።

ESP ን እንደ የአውታረ መረብ ጊዜ ፕሮቶኮል (NTP) ደንበኛ መሞከር።
ESP ን እንደ የአውታረ መረብ ጊዜ ፕሮቶኮል (NTP) ደንበኛ መሞከር።
ESP ን እንደ የአውታረ መረብ ጊዜ ፕሮቶኮል (NTP) ደንበኛ መሞከር።
ESP ን እንደ የአውታረ መረብ ጊዜ ፕሮቶኮል (NTP) ደንበኛ መሞከር።

በ Arduino IDE ውስጥ ፣ በፋይል ፣ ምሳሌዎች ፣ ESP8266WiFi ስር ፣ NTPClient ን ይጫኑ።

እንዲሠራ አነስተኛ ማስተካከያዎች ያስፈልጋሉ ፤ የ WiFi አውታረ መረብዎን SSID እና የይለፍ ቃልዎን ማስገባት ያስፈልግዎታል።

አሁን GPIO0 ን ወደ GND በማሳጠር መዝለሉን ያስቀምጡ።

ESP ን የኃይል ዑደት ያድርጉ እና ንድፉን ወደ ESP ይስቀሉ።

ከተጠናቀረ በኋላ ወደ ኢኤስፒ መስቀሉ መጀመር አለበት። በ ESP ላይ ያለው ሰማያዊ LED ኮዱ እየወረደ ስለሆነ በፍጥነት ብልጭ ድርግም ይላል።

አይዲኢውን እንደገና በማስጀመር ፣ መጫኑ ከመሠራቱ በፊት ESP ን እንደገና በማስጀመር ትንሽ መጫወት እንዳለብኝ አስተዋልኩ።

ንድፉን ማጠናቀር/መስቀል ከመጀመርዎ በፊት ተከታታይ ኮንሶሉን (= ተከታታይ ማሳያ) መዝጋትዎን ያረጋግጡ ምክንያቱም ይህ ሰቀላውን እንዳያደርጉ ይከለክላል።

አንዴ ሰቀላው ከተሳካ ፣ ESP ን ከበይነመረቡ ውጤታማ ጊዜ ሲያገኝ ለማየት ተከታታይ ማሳያውን እንደገና መክፈት ይችላሉ።

በጣም ጥሩ ፣ የእርስዎን ESP ፕሮግራም አውጥተዋል ፣ ከእርስዎ WiFi ጋር ተገናኝተው ጊዜውን ከበይነመረቡ አግኝተዋል።

ቀጣዩ ደረጃ እኛ DHT22 ን እንፈትሻለን።

ደረጃ 5 የ DHT22 ዳሳሹን መሞከር

የ DHT22 ዳሳሹን መሞከር
የ DHT22 ዳሳሹን መሞከር

አሁን አንዳንድ ተጨማሪ ሽቦዎች ያስፈልጋሉ።

የ DHT ፒኖች… የአነፍናፊውን ፒን 1 (በግራ በኩል) ከ VCC (3.3V) ጋር ያገናኙ

ፒን 2 ESP GPIO5 (DHTPIN ን በስዕሉ ውስጥ) ያገናኙ

የአነፍናፊውን ፒን 4 (በቀኝ በኩል) ከ GROUND ጋር ያገናኙ

የ 10 ኪ resistor ን ከፒን 2 (መረጃ) ወደ አነፍናፊ 1 (ኃይል) ያገናኙ።

ከኤን.ቲ.ፒ ፈተና ጋር ተመሳሳይ ፣ የ DHTtester ንድፉን ይፈልጉ እና በሚከተለው መንገድ ያስተካክሉት

#ጥራት DHTPIN 5 // እኛ ከአነፍናፊው ጋር ለመገናኘት GPIO5 ን መርጠናል#DHTTYPE DHT22 // ን እንገልፃለን ምክንያቱም እኛ DHT22 ን እየተጠቀምን ነው ነገር ግን ይህ ኮድ/ቤተ -መጽሐፍት እንዲሁ ለ DHT11 ተስማሚ ነው

እንደገና ፣ ተከታታይ መከታተያውን ይዝጉ ፣ የኢኤስፒውን የኃይል ዑደት እና ESP ን ያጠናቅቁ እና ያብሩ።

ሁሉም ነገር ደህና ከሆነ መለኪያዎች በተከታታይ ማሳያ ውስጥ ሲታዩ ማየት አለብዎት።

ከአነፍናፊው ጋር ትንሽ መጫወት ይችላሉ። በእሱ ላይ ከተነፈሱ ፣ እርጥበት ወደ ላይ ሲወጣ ያያሉ።

(የ LED ያልሆነ) የጠረጴዛ መብራት ካለዎት ትንሽ ለማሞቅ በአነፍናፊው ላይ ማብራት ይችላሉ።

በጣም ጥሩ! አነፍናፊው ሁለት ትላልቅ ክፍሎች አሁን እየሠሩ ናቸው።

በሚቀጥለው ደረጃ በመጨረሻው ኮድ ላይ አስተያየት እሰጣለሁ።

ደረጃ 6: አንድ ላይ ማዋሃድ…

አንድ ላይ ማዋሃድ…
አንድ ላይ ማዋሃድ…

እንደገና አንዳንድ ተጨማሪ ሽቦዎች… ይህ DeepSleep ን የሚቻል ለማድረግ ነው።

ያስታውሱ ፣ DeepSleep ለ IoT መሣሪያዎች የማይታመን ተግባር ነው።

ሆኖም ዳሳሽዎ ለ DeepSleep ጠንከር ያለ ከሆነ ፣ ESP ን እንደገና ማዘጋጀት አስቸጋሪ ሊሆን ይችላል ስለዚህ እኛ ሌላ የመዝለል ግንኙነት እናደርጋለን

GPIO16-RST።

አዎ እሱ GPIO16 መሆን አለበት ፣ ምክንያቱም ከ DeepSleep በኋላ የእውነተኛ ሰዓት ሰዓት ሲጠፋ መሣሪያውን ለመቀስቀስ የሚቸገር GPIO ነው!

በሚሞክሩበት ጊዜ የ 15 ሰከንዶች DeepSleep ለማድረግ መወሰን ይችላሉ።

በማረም ላይ ሳለሁ ፕሮግራሜን ብልጭ አድርጌ ለመዝለል መዝለያውን ወደ GPIO0 አዛውራለሁ።

ማውረዱ ሲጠናቀቅ ፣ DeepSleep እንዲሠራ መዝለያውን ወደ GPIO16 እወስዳለሁ።

የ ESP ኮድ TnHclient.c ይባላል

የእርስዎን SSID ፣ የይለፍ ቃል እና የአገልጋይዎን አይፒ አድራሻ መለወጥ አለብዎት።

የእርስዎን ችግር ለመፍታት ወይም ለመሞከር ሊጠቀሙባቸው የሚችሉ ተጨማሪ የኮድ መስመሮች አሉ።

ደረጃ 7 የነገሮች የአገልጋይ ጎን።

የነገሮች የአገልጋይ ጎን።
የነገሮች የአገልጋይ ጎን።
የነገሮች የአገልጋይ ጎን።
የነገሮች የአገልጋይ ጎን።

ዩዲፒ የማይታመን እና TCP ነው የሚለው የተለመደ አለመግባባት ነው…

ያ መዶሻ ከመጠምዘዣ የበለጠ ጠቃሚ ነው ማለቱ እንዲሁ ሞኝነት ነው። እነሱ በቀላሉ የተለያዩ በጣም ጠቃሚ መሣሪያዎች ናቸው እና ሁለቱም አጠቃቀማቸው አላቸው።

በነገራችን ላይ ያለ UDP በይነመረቡ አይሰራም… ዲ ኤን ኤስ በ UDP ላይ የተመሠረተ ነው።

ስለዚህ ፣ UDP ን መርጫለሁ ምክንያቱም በጣም ቀላል ፣ ቀላል እና ፈጣን ነው።

የእኔ WiFi በጣም አስተማማኝ ነው ብዬ የማስበው አዝማሚያ ስላለው ደንበኛው እውቅናው ‹እሺ!› ቢበዛ 3 የ UDP ጥቅሎችን ይልካል። አልተቀበለም።

ለ TnHserver የ C- ኮድ በ TnHServer.c ፋይል ውስጥ አለ።

በማብራሪያው ኮድ ውስጥ በርካታ አስተያየቶች አሉ።

በአገልጋዩ ላይ አንዳንድ ተጨማሪ መሣሪያዎች ያስፈልጉናል- rrdtool ፣ apache እና ምናልባትም tcpdump።

Raspbian ላይ rrdtool ን ለመጫን በቀላሉ ጥቅሉን እንደዚህ መጫን ይችላሉ- apt-get install rrdtool

የአውታረ መረብ ትራፊክን ማረም ከፈለጉ ፣ tcpdump ምቹ በሆነ ሁኔታ ይመጣል-ጭነትን tcpdump ይጫኑ

ግራፎቹን ለማማከር አሳሽ ለመጠቀም መቻል የድር አገልጋይ ያስፈልገኝ ነበር-apt-get install apache2

እኔ Round Robin Database ለመፍጠር ትዕዛዙን ለማግኘት ይህንን መሣሪያ https://rrdwizard.appspot.com/index.php ተጠቅሜአለሁ። ይህንን አንድ ጊዜ ብቻ ማሄድ ያስፈልግዎታል (ለመጀመሪያ ጊዜ በትክክል ካገኙ)።

rrdtool TnHdatabase.rrd ን ይፍጠሩ-አሁን ይጀምሩ-10 ዎች

-ደረጃ '1200'

'DS: ሙቀት: ትልቅ: 1200: -20.5: 45.5'

'DS: እርጥበት ፦ ትልቅ: 1200: 0: 100.0'

'RRA: AVERAGE: 0.5: 1: 720'

'RRA: AVERAGE: 0.5: 3: 960'

'RRA: አማካይ: 0.5: 18: 1600'

በመጨረሻም ፣ እኩለ ሌሊት ላይ የእኔን TnHserver ን እንደገና ለማስጀመር የ crontab መግቢያ እጠቀማለሁ። TnHserver ን እንደ መደበኛ ተጠቃሚ (ማለትም ሥር አይደለም) እንደ የደህንነት ጥንቃቄ እሰራለሁ።

0 0 * * */usr/bin/pkill TnHserver; /ቤት/ተጠቃሚ/ቢን/TnHserver>/dev/null 2> & 1

TnHserver እየሰራ መሆኑን ማረጋገጥ ይችላሉ

$ ps -elf | grep TnHserver

እና ይህን በማድረግ ወደብ 7777 ላይ እሽጎችን እያዳመጠ መሆኑን ማረጋገጥ ይችላሉ

$ netstat -anu

ገቢር የበይነመረብ ግንኙነቶች (አገልጋዮች እና የተቋቋሙ)

Proto Recv-Q Send-Q አካባቢያዊ አድራሻ የውጭ አድራሻ ግዛት

udp 0 0 0.0.0.0:7777 0.0.0.0:*

በመጨረሻም CreateTnH_Graphs.sh.txt ግራፎቹን ለማመንጨት የምሳሌ ስክሪፕት ነው። (እስክሪፕቶቹን እንደ ሥር አወጣለሁ ፣ ይህንን ለማድረግ ላይፈልጉ ይችላሉ።)

በጣም ቀላል የሆነ ድረ -ገጽን በመጠቀም በቤትዎ አውታረ መረብ ላይ ከማንኛውም አሳሽ ግራፎችን ማየት ይችላሉ።

የሚመከር: