विषयसूची:
- चरण 1: कोड को ESP8266 में जोड़ना
- चरण 2: अपना टीपी-लिंक स्मार्ट प्लग सेट करना
- चरण 3: गृह सहायक की स्थापना
- चरण 4: अंतिम चरण
वीडियो: वाईफाई सक्षम तापमान नियंत्रित स्मार्ट प्लग: 4 कदम
2024 लेखक: John Day | [email protected]. अंतिम बार संशोधित: 2024-01-30 09:22
इस निर्देश सेट में हम देखेंगे कि भारी उठाने के लिए एक साधारण ESP8266 और एक DHT11 तापमान/आर्द्रता सेंसर का उपयोग करके वाईफाई सक्षम तापमान जांच कैसे बनाई जाए। यदि आप खरीदना चाहते हैं तो हम उस सर्किट बोर्ड का भी उपयोग करेंगे जो मैंने बनाया है और अब चैनल के टिंडी स्टोर में भी बिक्री पर है।
आइए उन सामग्रियों के बिल के साथ आरंभ करें जिनकी आपको आवश्यकता होगी:
ESP8266 वाईफाई मॉड्यूल
amzn.to/2pkGPoa
DHT11 सेंसर
amzn.to/2phwfhO
टीपी-लिंक स्मार्ट प्लग
amzn.to/2GElQUz
आप चैनल के लिए टिंडी स्टोर पर पूरे मॉड्यूल को भी उठा सकते हैं:
www.tindie.com/products/misperry/wifi-enab…
पीसीबी फैब्रिकेशन के लिए JLCPCB भी देखें। वे वही हैं जिन्हें मैं पीसीबी बनाने के लिए इस्तेमाल करता था:
पहले ऑर्डर पर मुफ़्त शिपिंग और https://jlcpcb.com पर $2 PCB प्रोटोटाइपिंग
चरण 1: कोड को ESP8266 में जोड़ना
अब हमें निम्नलिखित कोड को ESP8266 पर फ्लैश करना होगा। यह कोड निम्नलिखित जीथब रिपॉजिटरी में पाया जा सकता है:
नीचे दिए गए कोड में आपको केवल शीर्ष कुछ परिभाषा अनुभागों को सेट करना होगा:
एमक्यूटीटी सर्वर:
एमक्यूटीटी उपयोगकर्ता:
एमक्यूटीटी पासवर्ड:
MQTT_sensor_topic:
-वाई - फाई
कहा: जिस वाईफाई नेटवर्क से आप कनेक्ट हो रहे हैं उसके बारे में
पासवर्ड: वाईफाई पासवर्ड।
एक बार जब आप इसे नीचे दिए गए कोड में भर देते हैं तो आप त्रुटियों के लिए संकलन और जांच कर सकते हैं और यदि 0 त्रुटियां हैं तो आप इसे ESP8266 पर फ्लैश कर सकते हैं।
/* *फ़ाइल का नाम: TempHumSensor.ino* *आवेदन: HomeAssistant Space हीटर थर्मोस्टेट* *विवरण: यह कोड ESP8266 WiFi सक्षम arduino* संगत डिवाइस के लिए है। यह प्रसंस्करण के लिए एचएएसएस फ़्रंटएंड को DHT11 डिवाइस के तापमान की जानकारी * रिले करेगा। * *लेखक: एम. स्पेरी - https://www.youtube.com/misperry * दिनांक: 03/* संशोधन: 1.0 * * */
#शामिल
#शामिल करें #शामिल करें #शामिल करें #शामिल करें
#define CON_TIME_OUT 20 // वाईफाई से कनेक्शन न होने का टाइमआउट
#define MQTT_TIME_OUT 10 // MQTT सर्वर से कोई कनेक्शन नहीं होने का टाइमआउट
#define DHTPIN 0 // पिन जो DHT सेंसर से जुड़ा है
#define DHTTYPE DHT11 // सेंसर का प्रकार DHT11 है, आप इसे DHT22 (AM2302), DHT21 (AM2301) में बदल सकते हैं
#define mqtt_server "" // अपना MQTT सर्वर एडर्स या आईपी दर्ज करें। मैं इस क्षेत्र में अपने डकडीएनएस एड्रेस (yourname.duckdns.org) का उपयोग करता हूं
#define mqtt_user "" // अपना MQTT उपयोगकर्ता नाम दर्ज करें #define mqtt_password "" // अपना पासवर्ड दर्ज करें #define MQTT_SENSOR_TOPIC "ha/bedroom_temp" // अपने MQTT के लिए विषय दर्ज करें
// वाईफाई: एसएसआईडी और पासवर्ड
कास्ट चार * एसएसआईडी = ""; कॉन्स्ट चार * पासवर्ड = "";
// डीएचटी सेटअप
DHT_ एकीकृत dht (DHTPIN, DHTTYPE); uint32_t देरीएमएस;
वाईफाई क्लाइंट
पबसुब क्लाइंट क्लाइंट (वाईफाई क्लाइंट);
// फ़ंक्शन को तापमान और आर्द्रता प्रकाशित करने के लिए कहा जाता है
शून्य पब्लिशडेटा (फ्लोट p_temperature) {// एक JSON ऑब्जेक्ट बनाएं // doc: https://github.com/bblanchon/ArduinoJson/wiki/API%20Reference StaticJsonBuffer jsonBuffer; JsonObject और रूट = jsonBuffer.createObject (); // जानकारी: डेटा को एक स्ट्रिंग में परिवर्तित किया जाना चाहिए; फ़्लोट्स का उपयोग करते समय एक समस्या उत्पन्न होती है… // फ़ारेनहाइट में कनवर्ट करें p_temperature = (p_temperature * 1.8) + 32; // फ़ारेनहाइट रूट ["तापमान"] = (स्ट्रिंग) p_temperature में कनवर्ट करें; root.prettyPrintTo (सीरियल); सीरियल.प्रिंट्लन ("");
चार डेटा [200];
root.printTo (डेटा, root.measureLength () + 1); client.publish(MQTT_SENSOR_TOPIC, डेटा, सच); }
// MQTT संदेश आने पर फ़ंक्शन को कॉल किया जाता है
शून्य कॉलबैक (चार * p_topic, बाइट * p_payload, अहस्ताक्षरित int p_length) { }
शून्य पुन: कनेक्ट () {
// लूप जब तक हम फिर से कनेक्ट नहीं हो जाते (!client.connected()) { Serial.print("INFO: MQTT कनेक्शन का प्रयास…"); // कनेक्ट करने का प्रयास if (client.connect("ESPBlindstl", mqtt_user, mqtt_password)) {Serial.println("INFO:connected"); } और { सीरियल.प्रिंट ("त्रुटि: विफल, आरसी ="); सीरियल.प्रिंट (क्लाइंट.स्टेट ()); Serial.println ("डीबग: 5 सेकंड में पुन: प्रयास करें"); // देरी से प्रयास करने से पहले 5 सेकंड प्रतीक्षा करें (5000); } } }
शून्य सेटअप (शून्य) {
सीरियल.बेगिन (९६००);
// हम एक वाईफाई नेटवर्क से जुड़कर शुरू करते हैं
सीरियल.प्रिंट्लन (); सीरियल.प्रिंट्लन (); Serial.print ("कनेक्ट कर रहा है"); सीरियल.प्रिंट्लन (एसएसआईडी);
वाईफाई.बेगिन (एसएसआईडी, पासवर्ड);
जबकि (WiFi.status() != WL_CONNECTED) {
देरी (800); सीरियल.प्रिंट ("।"); }
सीरियल.प्रिंट्लन ("");
Serial.println ("वाईफाई कनेक्टेड"); Serial.println ("आईपी पता:"); Serial.println (वाईफाई.लोकलआईपी ()); // MQTT कनेक्शन क्लाइंट को इनिट करें। सेटसेवर (mqtt_server, 1883); क्लाइंट.सेट कॉलबैक (कॉलबैक);
// DHT सेंसर को इनिशियलाइज़ करें
dht.begin (); Serial.println ("DHT11 यूनिफाइड सेंसर डेटा");
// अस्थायी सेंसर विवरण प्रिंट करें
सेंसर_टी सेंसर; dht.temperature().getSensor(&sensor); सीरियल.प्रिंट्लन ("--------------------------------------"); Serial.println ("तापमान"); सीरियल.प्रिंट ("सेंसर:"); Serial.println (सेंसर.नाम); सीरियल.प्रिंट ("ड्राइवर वेर:"); Serial.println (सेंसर। संस्करण); सीरियल.प्रिंट ("अद्वितीय आईडी:"); Serial.println (sensor.sensor_id); सीरियल.प्रिंट ("अधिकतम मूल्य:"); सीरियल.प्रिंट (सेंसर.मैक्स_वैल्यू); सीरियल.प्रिंट्लन ("* सी"); Serial.print ("न्यूनतम मान:"); सीरियल.प्रिंट (सेंसर.मिन_वैल्यू); सीरियल.प्रिंट्लन ("* सी"); सीरियल.प्रिंट ("रिज़ॉल्यूशन:"); सीरियल.प्रिंट (सेंसर.रिज़ॉल्यूशन); सीरियल.प्रिंट्लन ("* सी"); सीरियल.प्रिंट्लन ("--------------------------------------"); // नमी सेंसर विवरण प्रिंट करें। dht.humidity().getSensor(&sensor); सीरियल.प्रिंट्लन ("--------------------------------------"); Serial.println ("आर्द्रता"); सीरियल.प्रिंट ("सेंसर:"); Serial.println (सेंसर.नाम); सीरियल.प्रिंट ("ड्राइवर वेर:"); Serial.println (सेंसर। संस्करण); सीरियल.प्रिंट ("अद्वितीय आईडी:"); Serial.println (sensor.sensor_id); सीरियल.प्रिंट ("अधिकतम मूल्य:"); सीरियल.प्रिंट (सेंसर.मैक्स_वैल्यू); सीरियल.प्रिंट्लन ("%"); Serial.print ("न्यूनतम मान:"); सीरियल.प्रिंट (सेंसर.मिन_वैल्यू); सीरियल.प्रिंट्लन ("%"); सीरियल.प्रिंट ("रिज़ॉल्यूशन:"); सीरियल.प्रिंट (सेंसर.रिज़ॉल्यूशन); सीरियल.प्रिंट्लन ("%"); सीरियल.प्रिंट्लन ("--------------------------------------");
// सेंसर विवरण के आधार पर सेंसर रीडिंग के बीच देरी सेट करें
देरीएमएस = सेंसर.min_delay / 1000; }
शून्य लूप (शून्य) {
फ्लोट तापमान;
अगर (! क्लाइंट। कनेक्टेड ())
{फिर से कनेक्ट करें (); }
देरी (देरीएमएस);
// तापमान घटना प्राप्त करें और उसका मूल्य प्रिंट करें।
sensor_event_t घटना; dht.temperature().getEvent(&event); if (isnan(event.temperature)) { Serial.println ("तापमान पढ़ने में त्रुटि!"); तापमान = 0.00; } और {तापमान = घटना। तापमान; सीरियल.प्रिंट ("तापमान:"); सीरियल.प्रिंट (तापमान); सीरियल.प्रिंट्लन ("* सी"); } // MQTT publishData (तापमान) पर प्रकाशित करें; }
चरण 2: अपना टीपी-लिंक स्मार्ट प्लग सेट करना
आपको अपना टीपी-लिंक स्मार्ट प्लग, या उस मैटर के लिए कोई भी स्मार्ट प्लग सेट करना होगा, जिस तरह से निर्माता अनुशंसा करता है।
डिवाइस पर मैक पते पर ध्यान देना सुनिश्चित करें। यदि आपका उपकरण मेरे टीपी-लिंक डिवाइस की तरह है तो आप एक स्थिर आईपी पता नहीं रख सकते हैं। इस प्रकार, आपको डीएचसीपी आरक्षण के लिए अपने राउटर को कॉन्फ़िगर करने की आवश्यकता होगी। यह आपके डिवाइस का मैक पता लेगा और जब वह डिवाइस किसी पते के लिए अनुरोध करेगा तो राउटर उसे हर बार वही पता देगा।
Linksys के साथ इसे कैसे सेट करें, इसका लिंक यहां दिया गया है
www.linksys.com/us/support-article?article…
चरण 3: गृह सहायक की स्थापना
अब होम असिस्टेंट सेट अप करने के लिए। इसके लिए आपको निम्न कॉन्फ़िगरेशन को config.yaml फ़ाइल में जोड़ना होगा जो उस डिवाइस पर /home/homeassistant/.homeassistant फ़ोल्डर संरचना में स्थित है जिसे आपने इसे स्थापित किया है।
एक बार इसे अपने गृह सहायक कॉन्फ़िगरेशन में जोड़ने के बाद परिवर्तनों को प्रभावित करने के लिए आपको अपने गृह सहायक सॉफ़्टवेयर को पुनरारंभ करना होगा।
इसके अलावा मैं टीपी-लिंक स्मार्ट प्लग फोर्ट स्विचिंग डिवाइस का उपयोग करूंगा और कॉन्फ़िगरेशन फ़ाइल में परिभाषा नीचे है। डिवाइस के लिए उपयोग किया जाने वाला IP पता वह है जिसे आपने पिछले चरण में DHCP आरक्षण के लिए सेट किया था।
यह विन्यास निम्नलिखित जीथब रेपो में भी पाया जा सकता है:
mqtt:switch: - प्लेटफॉर्म: tplink नाम: बेडरूम हीटर होस्ट: 192.168.2.11
सेंसर 1:
मंच: mqtt State_topic: 'ha/bedroom_temp' नाम: शयन कक्ष अस्थायी इकाई_of_measurement: '°F' value_template: '{{value_json.temperature}}'
स्वचालन:
- उपनाम: _Temp बेडरूम अस्थायी उच्च ट्रिगर: - प्लेटफ़ॉर्म: numeric_state entity_id: sensor. Bedroom_Temp ऊपर: 73
कार्य:
सेवा: homeassistant.turn_off entity_id: स्विच.बेडरूम_हीटर
- उपनाम: _Temp बेडरूम का तापमान कम
ट्रिगर: - प्लेटफ़ॉर्म: numeric_state entity_id: sensor. Bedroom_Temp नीचे: 73 क्रिया: सेवा: homeassistant.turn_on entity_id: स्विच.बेडरूम_हीटर
चरण 4: अंतिम चरण
अब आपके होम असिस्टेंट कॉन्फ़िगरेशन और आपके Arduino कोड सेट अप के साथ आप पूरे सिस्टम को सक्रिय करने के लिए तैयार होंगे। इस प्रकार, अपने हीटर/पंखे/कूलर प्लग को स्मार्ट प्लग में रखें और स्मार्ट प्लग में प्लग करें। एक बार यह तैयार हो जाने के बाद आपको एक छोटा यूएसबी चार्जर और फिर वाईफाई सक्षम तापमान जांच में प्लग इन करना होगा। एक बार सब कुछ ऑनलाइन हो जाने पर आपको अपने गृह सहायक डैशबोर्ड में देखने और रिपोर्ट किए जा रहे नए तापमान को देखने में सक्षम होना चाहिए।
आप सभी की मदद और समर्थन के लिए बहुत-बहुत धन्यवाद। एक लाइक छोड़ना सुनिश्चित करें और https://www.youbue.com/misperry पर चैनल पर आएं और देखें कि हमारे पास आपके लिए क्या है। चैनल को मदद करने के लिए अपने दोस्तों के साथ सब्सक्राइब और शेयर करना सुनिश्चित करें।
सिफारिश की:
वाईफाई सक्षम मैट्रिक्स लैंप: 6 कदम (चित्रों के साथ)
वाई-फाई सक्षम मैट्रिक्स लैंप: कौन नहीं चाहता कि उसके पास तेजस्वी दीपक हो जो एनिमेशन प्रदर्शित कर सके और घर में अन्य लैंप के साथ सिंक कर सके?ठीक है, कोई नहीं।इसलिए मैंने एक कस्टम आरजीबी लैंप बनाया है। दीपक में 256 व्यक्तिगत रूप से संबोधित करने योग्य एलईडी होते हैं और सभी एलईडी के विपरीत हो सकते हैं
हार्डवेयर और सॉफ्टवेयर हैक स्मार्ट डिवाइसेस, Tuya और Broadlink LEDbulb, Sonoff, BSD33 स्मार्ट प्लग: 7 कदम
हार्डवेयर और सॉफ्टवेयर हैक स्मार्ट डिवाइसेस, तुया और ब्रॉडलिंक एलईडीबल्ब, सोनऑफ, बीएसडी 33 स्मार्ट प्लग: इस निर्देश में मैं आपको दिखाता हूं कि मैंने अपने फर्मवेयर के साथ कई स्मार्ट डिवाइस कैसे फ्लैश किए, इसलिए मैं उन्हें अपने ओपनहैब सेटअप के माध्यम से एमक्यूटीटी द्वारा नियंत्रित कर सकता हूं। मैं जोड़ूंगा नए डिवाइस जब मैंने उन्हें हैक किया। बेशक कस्टम एफ फ्लैश करने के लिए अन्य सॉफ्टवेयर आधारित विधियां हैं
सौर ऊर्जा संचालित 'स्मार्ट' वाईफाई नियंत्रित सिंचाई प्रणाली: 6 कदम (चित्रों के साथ)
सौर ऊर्जा संचालित 'स्मार्ट' वाईफाई नियंत्रित सिंचाई प्रणाली: यह परियोजना मानक DIY सौर और eBay से 12v भागों का उपयोग करती है, साथ ही शेली IoT उपकरणों और ओपनहैब में कुछ बुनियादी प्रोग्रामिंग के साथ एक घर का बना, पूरी तरह से सौर ऊर्जा संचालित, स्मार्ट गार्डन पावर ग्रिड और सिंचाई का निर्माण करती है। सेटअप। सिस्टम हाइलाइट्स: फू
ESP8266 RGB LED स्ट्रिप वाईफ़ाई नियंत्रण - NODEMCU वाईफ़ाई पर नियंत्रित एलईडी पट्टी के लिए एक IR रिमोट के रूप में - आरजीबी एलईडी स्ट्रिप स्मार्टफोन नियंत्रण: 4 कदम
ESP8266 RGB LED स्ट्रिप वाईफ़ाई नियंत्रण | NODEMCU वाईफ़ाई पर नियंत्रित एलईडी पट्टी के लिए एक IR रिमोट के रूप में | RGB LED STRIP स्मार्टफोन कंट्रोल: हाय दोस्तों इस ट्यूटोरियल में हम सीखेंगे कि RGB LED स्ट्रिप को नियंत्रित करने के लिए IR रिमोट के रूप में nodemcu या esp8266 का उपयोग कैसे करें और Nodemcu को वाईफाई पर स्मार्टफोन द्वारा नियंत्रित किया जाएगा। तो मूल रूप से आप अपने स्मार्टफोन से RGB LED STRIP को नियंत्रित कर सकते हैं
द ममी लैंप - वाईफाई नियंत्रित स्मार्ट लैंप: 5 कदम (चित्रों के साथ)
द ममी लैंप - वाईफाई नियंत्रित स्मार्ट लैंप: लगभग 230 हजार साल पहले इंसान ने आग पर नियंत्रण करना सीखा, इससे उसकी जीवनशैली में एक बड़ा बदलाव आया क्योंकि उसने रात में भी आग से रोशनी का उपयोग करना शुरू कर दिया। हम कह सकते हैं कि यह इंडोर लाइटिंग की शुरुआत है। अभी मैं