ዝርዝር ሁኔታ:

ዋይፋይ የነቃ የሙቀት ቁጥጥር ያለው ዘመናዊ ተሰኪ - 4 ደረጃዎች
ዋይፋይ የነቃ የሙቀት ቁጥጥር ያለው ዘመናዊ ተሰኪ - 4 ደረጃዎች

ቪዲዮ: ዋይፋይ የነቃ የሙቀት ቁጥጥር ያለው ዘመናዊ ተሰኪ - 4 ደረጃዎች

ቪዲዮ: ዋይፋይ የነቃ የሙቀት ቁጥጥር ያለው ዘመናዊ ተሰኪ - 4 ደረጃዎች
ቪዲዮ: ዋይፋይ ያላቹ እኳን ደስ አላቹ make money online using your wifi 2024, ሀምሌ
Anonim
WiFi ነቅቷል የሙቀት መጠን ቁጥጥር ያለው ዘመናዊ ተሰኪ
WiFi ነቅቷል የሙቀት መጠን ቁጥጥር ያለው ዘመናዊ ተሰኪ

በዚህ የመማሪያ ስብስብ ውስጥ ለከባድ ማንሳት እና ለ DHT11 የሙቀት/እርጥበት ዳሳሽ ቀላል ESP8266 በመጠቀም የ WiFi የነቃ የሙቀት ምርመራን እንዴት እንደሚገነቡ እንመለከታለን። እንዲሁም እኔ የፈጠርኩትን እና አሁን በሰርጡ ቲንዲ መደብር ውስጥ የሚሸጥበትን የወረዳ ሰሌዳ እንጠቀማለን።

በሚፈልጉት የቁሳቁስ ሂሳብ እንጀምር

ESP8266 WiFi ሞዱል

amzn.to/2pkGPoa

DHT11 ዳሳሽ

amzn.to/2phwfhO

TP- አገናኝ ስማርት ተሰኪ

amzn.to/2GElQUz

እንዲሁም ለጣቢያው በታንዲ መደብር ውስጥ ሙሉውን ሞዱል ማንሳት ይችላሉ-

www.tindie.com/products/misperry/wifi-enab…

እንዲሁም ለ PCB ጨርቅ JLCPCB ን ይመልከቱ። እኔ ፒሲቢን ለመሥራት የምጠቀምባቸው እነሱ ናቸው -

በ https://jlcpcb.com ላይ በመጀመሪያው ትዕዛዝ ላይ ነፃ መላኪያ እና $ 2 PCB ፕሮቶታይፕ ማድረግ

ደረጃ 1 - ኮዱን ወደ ESP8266 ማከል

አሁን የሚከተለውን ኮድ በ ESP8266 ላይ ማብራት አለብን። ይህ ኮድ በሚከተለው የ github ማከማቻ ላይ ሊገኝ ይችላል-

ከዚህ በታች ባለው ኮድ ውስጥ ከላይ ያሉትን ጥቂት የትርጓሜ ክፍሎችን ብቻ ማዘጋጀት አለብዎት-

MQTT አገልጋይ

የ MQTT ተጠቃሚ

MQTT የይለፍ ቃል

MQTT_Sensor_topic ፦

-ዋይፋይ

ተናገረ - እርስዎ የሚያገናኙት የ wifi አውታረ መረብ የተናገረው

የይለፍ ቃል - የ WiFi ይለፍ ቃል።

አንዴ ከዚህ በታች ባለው ኮድ ውስጥ ከሞሉ በኋላ ስህተቶችን ማጠናቀር እና ማረጋገጥ እና 0 ስህተቶች ካሉ በ ESP8266 ላይ ሊያበሩት ይችላሉ።

/ * * የፋይል ስም: TempHumSensor.ino * * ትግበራ: HomeAssistant Space Heatmostat * * መግለጫ: ይህ ኮድ ለ ESP8266 WiFi የነቃ አርዱinoኖ * ተኳሃኝ መሣሪያ ነው። ይህ የ DHT11 መሣሪያን የሙቀት መረጃ * ለሂሳብ ግንባር ለማስተላለፍ ያስተላልፋል። * * ደራሲ ኤም ስፐርሪ - https://www.youtube.com/misperry * ቀን 03/ * ክለሳ 1.0 * * */

#ያካትቱ

#አካት #አካትት #አካትት #አካት #አካት

#CON_TIME_OUT 20 // ከ wifi ጋር ምንም ግንኙነት የሌለበት ጊዜ ማብቃት

#MQTT_TIME_OUT 10 // ከ MQTT አገልጋይ ጋር ምንም ግንኙነት የሌለበት ጊዜ ማብቃት

#ከ DHT ዳሳሽ ጋር የተገናኘን /የሚገልጽ DHTPIN 0 // ፒን

#ጥራት DHTTYPE DHT11 // የአነፍናፊ ዓይነት DHT11 ነው ፣ ወደ DHT22 (AM2302) ፣ DHT21 (AM2301) መለወጥ ይችላሉ

#define mqtt_server "" // የእርስዎን MQTT አገልጋይ ማስታወቂያዎች ወይም አይፒ ያስገቡ። በዚህ መስክ ውስጥ የእኔን DuckDNS adddress (yourname.duckdns.org) እጠቀማለሁ

#define mqtt_user "" // የእርስዎን የ MQTT የተጠቃሚ ስም ያስገቡ #define mqtt_password "" // የይለፍ ቃልዎን ያስገቡ #define MQTT_SENSOR_TOPIC "ha/bedroom_temp" // ለርስዎ MQTT ርዕስ ያስገቡ

// Wifi: SSID እና የይለፍ ቃል

const char* ssid = ""; const char* password = "";

// DHT SEtup

DHT_ የተዋሃደ dht (DHTPIN ፣ DHTTYPE); uint32_t መዘግየት ኤምኤምኤስ;

የ WiFi ደንበኛ wifiClient;

የ PubSubClient ደንበኛ (wifiClient);

// ተግባር ሙቀቱን እና እርጥበቱን ለማተም ተጠርቷል

ባዶ ህትመት (ተንሳፋፊ p_temperature) {// የ JSON ን ነገር ይፍጠሩ // ሰነድ: https://github.com/bblanchon/ArduinoJson/wiki/API%20Reference StaticJsonBuffer jsonBuffer; JsonObject & root = jsonBuffer.createObject (); // መረጃ - ውሂቡ ወደ ሕብረቁምፊ መለወጥ አለበት ፣ ተንሳፋፊዎችን ሲጠቀሙ ችግር ይከሰታል… // ወደ fahrenheit p_temperature = (p_temperature * 1.8) + 32 ይለውጡ። // ወደ fahrenheit root ይለውጡ ["ሙቀት"] = (ሕብረቁምፊ) p_temperature; root.prettyPrintTo (ተከታታይ); Serial.println ("");

የቻር መረጃ [200];

root.printTo (ውሂብ ፣ root.measureLength () + 1); client.publish (MQTT_SENSOR_TOPIC ፣ ውሂብ ፣ እውነት); }

MQTT መልእክት ሲደርስ // ተግባር ተጠርቷል

ባዶ ጥሪ (ቻር* p_topic ፣ ባይት* p_payload ፣ ያልተፈረመ int p_length) {}

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

((ደንበኛ. ተገናኝቷል ()) {Serial.print ("INFO: MQTT ግንኙነትን በመሞከር ላይ …")) እስክንገናኝ ድረስ Loop // (ደንበኛ. ግንኙነት ("ESPBlindstl" ፣ mqtt_user ፣ mqtt_password)) {Serial.println ("INFO: ተገናኝቷል") ከሆነ ለመገናኘት ይሞክሩ } ሌላ {Serial.print ("ERROR: failed, rc ="); Serial.print (client.state ()); Serial.println ("DEBUG: በ 5 ሰከንዶች ውስጥ እንደገና ይሞክሩ"); // መዘግየትን እንደገና ከመሞከርዎ በፊት 5 ሰከንዶች ይጠብቁ (5000); }}}

ባዶነት ማዋቀር (ባዶ) {

Serial.begin (9600);

// ከ WiFi አውታረ መረብ ጋር በመገናኘት እንጀምራለን

Serial.println (); Serial.println (); Serial.print ("ወደ ማገናኘት"); Serial.println (ssid);

WiFi.begin (ssid ፣ የይለፍ ቃል);

ሳለ (WiFi.status ()! = WL_CONNECTED) {

መዘግየት (800); Serial.print ("."); }

Serial.println ("");

Serial.println ("WiFi ተገናኝቷል"); Serial.println ("IP አድራሻ:"); Serial.println (WiFi.localIP ()); // በ MQTT ግንኙነት ደንበኛ። setServer (mqtt_server ፣ 1883)። client.setCallback (መልሶ መደወያ);

// የ DHT ዳሳሽ ያስጀምሩ

dht.begin (); Serial.println ("DHT11 የተዋሃደ ዳሳሽ ውሂብ");

// የሙቀት ዳሳሽ ዝርዝሮችን ያትሙ

sensor_t ዳሳሽ; dht.temperature (). getSensor (& sensor); Serial.println ("------------------------------------"); Serial.println ("ሙቀት"); Serial.print ("ዳሳሽ:"); Serial.println (አነፍናፊ. ስም); Serial.print ("የአሽከርካሪ Ver:"); Serial.println (sensor.version); Serial.print ("ልዩ መታወቂያ:"); Serial.println (sensor.sensor_id); Serial.print ("Max Value:"); Serial.print (sensor.max_value); Serial.println (" *C"); Serial.print ("Min Value:"); Serial.print (sensor.min_value); Serial.println (" *C"); Serial.print ("ጥራት:"); Serial.print (ዳሳሽ መፍትሄ); Serial.println (" *C"); Serial.println ("------------------------------------"); // የእርጥበት ዳሳሽ ዝርዝሮችን ያትሙ። dht.humidity (). getSensor (& sensor); Serial.println ("------------------------------------"); Serial.println ("እርጥበት"); Serial.print ("ዳሳሽ:"); Serial.println (አነፍናፊ. ስም); Serial.print ("የአሽከርካሪ Ver:"); Serial.println (sensor.version); Serial.print ("ልዩ መታወቂያ:"); Serial.println (sensor.sensor_id); Serial.print ("ከፍተኛ እሴት:"); Serial.print (sensor.max_value); Serial.println ("%"); Serial.print ("Min Value:"); Serial.print (sensor.min_value); Serial.println ("%"); Serial.print ("ጥራት:"); Serial.print (ዳሳሽ መፍትሄ); Serial.println ("%"); Serial.println ("------------------------------------");

// በአነፍናፊ ዝርዝሮች ላይ በመመርኮዝ በአነፍናፊ ንባቦች መካከል መዘግየትን ያዘጋጁ

delayMS = sensor.min_delay / 1000; }

ባዶነት loop (ባዶ) {

ተንሳፋፊ ሙቀት;

ከሆነ (! ደንበኛ። የተገናኘ ())

{ዳግም ማገናኘት (); }

መዘግየት (መዘግየት ኤምኤምኤስ);

// የሙቀት ክስተትን ያግኙ እና እሴቱን ያትሙ።

ዳሳሾች_ኢቨንት_ቲ ክስተት; dht.temperature (). getEvent (& ክስተት); ከሆነ (isnan (event.temperature)) {Serial.println ("የሙቀት ንባብ ስህተት!"); ሙቀት = 0.00; } ሌላ {temperature = event.temperature; Serial.print ("ሙቀት:"); Serial.print (ሙቀት); Serial.println (" *C"); } // ወደ MQTT printData (የሙቀት መጠን) ያትሙ ፤ }

ደረጃ 2-የእርስዎን TP-LINK Smart Plug ማቀናበር

የእርስዎን TP-LINK ስማርት ተሰኪ ማቀናበር
የእርስዎን TP-LINK ስማርት ተሰኪ ማቀናበር

የእርስዎን TP-LINK ስማርት መሰኪያ ወይም አምራቹ በሚመክረው መንገድ ማንኛውንም ዘመናዊ መሰኪያ ማዘጋጀት ያስፈልግዎታል።

በመሣሪያው ላይ ያለውን የ MAC አድራሻ ልብ ይበሉ። መሣሪያዎ እንደ የእኔ TP-LINK መሣሪያ ከሆነ የማይለዋወጥ የአይፒ አድራሻ መቆም አይችሉም። ስለዚህ ራውተርዎን ለ DHCP ማስያዣ ማዋቀር ያስፈልግዎታል። ይህ የመሣሪያዎን MAC አድራሻ ይወስዳል እና ያ መሣሪያ ለአድራሻ ሲጠይቅ ራውተር ሁል ጊዜ ተመሳሳይ አድራሻ ይሰጠዋል።

ይህንን ከ Linksys ጋር እንዴት ማዋቀር እንደሚቻል አገናኝ እዚህ አለ

www.linksys.com/us/support-article?article…

ደረጃ 3 የቤት ረዳት ማቀናበር

አሁን የቤት ረዳት ለማዋቀር። ይህንን በጫኑበት መሣሪያ ላይ /home/homeassistant/.homeassistant አቃፊ መዋቅር ውስጥ በሚገኘው config.yaml ፋይል ውስጥ የሚከተሉትን ውቅሮች ማከል ያስፈልግዎታል።

አንዴ ይህንን ወደ የቤት ረዳትዎ ውቅር ማከል ከጨመሩ ለውጦቹ ተፅእኖ እንዲኖራቸው የቤት ረዳት ሶፍትዌርዎን እንደገና ማስጀመር ያስፈልግዎታል።

እኔ ደግሞ የ TP-LINK ስማርት መሰኪያውን በሚቀያየር መሣሪያ ላይ እጠቀማለሁ እና ትርጉሙ በማዋቀሪያ ፋይል ውስጥ ከዚህ በታች ይገኛል። ለመሣሪያው ጥቅም ላይ የሚውለው የአይፒ አድራሻ በቀድሞው ደረጃ ለ DHCP ማስያዣ ያዋቀሩት ነው።

ይህ ውቅር በሚከተለው የ github repo ላይ ሊገኝ ይችላል-

mqtt: መቀየሪያ - መድረክ - tplink ስም የመኝታ ክፍል ማሞቂያ አስተናጋጅ 192.168.2.11

ዳሳሽ 1:

መድረክ ፦ mqtt state_topic: 'ha/bedroom_temp' name: የመኝታ ክፍል ቴም ዩኒት_መጠን ፦ '° F' value_template ፦ '{{value_json.temperature}}'

አውቶማቲክ

- ቅጽል ስም: _Temp የመኝታ ክፍል ሙቀት ከፍተኛ ቀስቅሴ: - መድረክ: numeric_state entity_id: ዳሳሽ.

እርምጃ

service: homeassistant.turn_off entity_id: switch. Bedroom_Heater

- ቅጽል ስም: _Temp የመኝታ ክፍል ሙቀት ዝቅተኛ

ቀስቅሴ - - መድረክ - የቁጥር_መንግስት entity_id: ዳሳሽ። ከዚህ በታች ያለው የመኝታ ክፍል_37 እርምጃ - አገልግሎት -የቤት -ሠራተኛ።

ደረጃ 4: የመጨረሻ ደረጃዎች

Image
Image
የመጨረሻ ደረጃዎች
የመጨረሻ ደረጃዎች
የመጨረሻ ደረጃዎች
የመጨረሻ ደረጃዎች

አሁን በቤትዎ ረዳት ውቅረት እና የአርዱኖ ኮድዎ ከተዋቀረ መላውን ስርዓት ለማግበር ዝግጁ ይሆናሉ። ስለዚህ የእርስዎን ማሞቂያ/ማራገቢያ/ማቀዝቀዣ መሰኪያ ወደ ስማርት መሰኪያ ውስጥ ያስገቡ እና በስማርት ተሰኪ ውስጥ ያስገቡ። አንዴ ዝግጁ ከሆነ ትንሽ የዩኤስቢ ባትሪ መሙያ መሰካት እና ከዚያ የ WiFi የነቃ የሙቀት መጠይቅ መመርመር ያስፈልግዎታል። አንዴ ሁሉም በመስመር ላይ ከሆኑ በቤትዎ ረዳት ዳሽቦርድ ውስጥ ማየት እና አዲሱን የሙቀት መጠን ሪፖርት ማድረግ መቻል አለብዎት።

ለእርዳታዎ እና ድጋፍዎ ሁሉ በጣም እናመሰግናለን። መውደድን መተውዎን ያረጋግጡ እና https://www.youbue.com/misperry ላይ ያለውን ሰርጥ ይጎብኙ እና ለእርስዎ ያለንን ሁሉ ይመልከቱ። ቻናሉን ለማገዝ መመዝገብዎን እና ለጓደኞችዎ ማጋራትዎን ያረጋግጡ።

የሚመከር: