সুচিপত্র:

ওয়াইফাই সক্ষম তাপমাত্রা নিয়ন্ত্রিত স্মার্ট প্লাগ: 4 টি ধাপ
ওয়াইফাই সক্ষম তাপমাত্রা নিয়ন্ত্রিত স্মার্ট প্লাগ: 4 টি ধাপ

ভিডিও: ওয়াইফাই সক্ষম তাপমাত্রা নিয়ন্ত্রিত স্মার্ট প্লাগ: 4 টি ধাপ

ভিডিও: ওয়াইফাই সক্ষম তাপমাত্রা নিয়ন্ত্রিত স্মার্ট প্লাগ: 4 টি ধাপ
ভিডিও: মোবাইল চার্জ দেওয়া নিয়ে ৫ ভুল ধারণা || 5 misconceptions about mobile charging 2024, জুলাই
Anonim
ওয়াইফাই সক্ষম তাপমাত্রা নিয়ন্ত্রিত স্মার্ট প্লাগ
ওয়াইফাই সক্ষম তাপমাত্রা নিয়ন্ত্রিত স্মার্ট প্লাগ

এই নির্দেশনা সেটে আমরা দেখব কিভাবে ভারী উত্তোলনের জন্য একটি সহজ 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 সার্ভার:

MQTT ব্যবহারকারী:

MQTT পাসওয়ার্ড:

MQTT_sensor_topic:

-ওয়াইফাই

বলেছেন: আপনি যে ওয়াইফাই নেটওয়ার্কের সাথে সংযোগ স্থাপন করছেন তার কথা

পাসওয়ার্ড: ওয়াইফাই পাসওয়ার্ড।

একবার আপনি নিচের কোডটি পূরণ করলে আপনি কম্পাইল করতে পারেন এবং ত্রুটিগুলি পরীক্ষা করতে পারেন এবং যদি 0 টি ত্রুটি থাকে তবে আপনি এটি ESP8266 এ ফ্ল্যাশ করতে পারেন।

/ * * ফাইলের নাম: TempHumSensor.ino * * Application: HomeAssistant Space Heater Thermostat * * বর্ণনা: এই কোডটি ESP8266 ওয়াইফাই সক্ষম arduino * সামঞ্জস্যপূর্ণ ডিভাইসের জন্য। এটি প্রক্রিয়াকরণের জন্য DHT11 ডিভাইসের তাপমাত্রার তথ্য * HASS ফ্রন্টএন্ডে রিলে দেবে। * * লেখক: এম স্পেরি - https://www.youtube.com/misperry * তারিখ: 03/ * সংশোধন: 1.0 * * */

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত

#সংজ্ঞায়িত করুন CON_TIME_OUT 20 // ওয়াইফাই এর সাথে কোন সংযোগ নেই

#নির্ধারণ করুন MQTT_TIME_OUT 10 // MQTT সার্ভারের সাথে সংযোগের সময়সীমা

#DHTPIN 0 সংজ্ঞায়িত করুন // পিন যা DHT সেন্সরের সাথে সংযুক্ত

#DHTTYPE DHT11 সংজ্ঞায়িত করুন // সেন্সরের ধরন হল DHT11, আপনি এটি DHT22 (AM2302), DHT21 (AM2301) এ পরিবর্তন করতে পারেন

#ডিফাইন mqtt_server "" // আপনার MQTT সার্ভার adderss বা IP লিখুন। আমি এই ক্ষেত্রে আমার DuckDNS অ্যাড্রেস (yourname.duckdns.org) ব্যবহার করি

#define mqtt_user "" // আপনার MQTT ব্যবহারকারীর নাম লিখুন #define mqtt_password "" // আপনার পাসওয়ার্ড লিখুন #define MQTT_SENSOR_TOPIC "ha/शयनकक्ष_टेम्प" // আপনার MQTT এর জন্য টপিক লিখুন

// ওয়াইফাই: SSID এবং পাসওয়ার্ড

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

// ডিএইচটি সেটআপ

DHT_Unified dht (DHTPIN, DHTTYPE); uint32_t বিলম্ব MS;

WiFiClient wifiClient;

PubSubClient ক্লায়েন্ট (wifiClient);

// ফাংশন তাপমাত্রা এবং আর্দ্রতা প্রকাশ করতে বলা হয়

void publishedData (float p_temperature) {// create a JSON object // doc: https://github.com/bblanchon/ArduinoJson/wiki/API%20Reference StaticJsonBuffer jsonBuffer; JsonObject & root = jsonBuffer.createObject (); // তথ্য: তথ্য একটি স্ট্রিং রূপান্তরিত করা আবশ্যক; ভাসমান ব্যবহার করার সময় একটি সমস্যা দেখা দেয় … // ফারেনহাইট p_temperature = (p_temperature * 1.8) + 32 এ রূপান্তর করুন; // ফারেনহাইট রুট ["তাপমাত্রা"] = (স্ট্রিং) p_temperature রূপান্তর; root.prettyPrintTo (সিরিয়াল); Serial.println ("");

চার ডেটা [200];

root.printTo (ডেটা, root.measureLength () + 1); client.publish (MQTT_SENSOR_TOPIC, ডেটা, সত্য); }

// একটি MQTT বার্তা আসার সময় ফাংশন বলা হয়

অকার্যকর কলব্যাক (char* p_topic, byte* p_payload, unsigned int p_length) {}

অকার্যকর পুনরায় সংযোগ () {

// লুপ যতক্ষণ না আমরা পুনরায় সংযুক্ত হচ্ছি (! Client.connected ()) {Serial.print ("INFO: Attempting MQTT connection…"); // সংযোগ করার চেষ্টা করুন যদি (client.connect ("ESPBlindstl", mqtt_user, mqtt_password)) {Serial.println ("INFO: সংযুক্ত"); } অন্য {সিরিয়াল.প্রিন্ট ("ত্রুটি: ব্যর্থ, rc ="); Serial.print (client.state ()); Serial.println ("DEBUG: 5 সেকেন্ডের মধ্যে আবার চেষ্টা করুন"); // বিলম্ব পুনরায় চেষ্টা করার আগে 5 সেকেন্ড অপেক্ষা করুন (5000); }}}

অকার্যকর সেটআপ (অকার্যকর) {

Serial.begin (9600);

// আমরা একটি ওয়াইফাই নেটওয়ার্কে সংযোগ দিয়ে শুরু করি

Serial.println (); Serial.println (); সিরিয়াল.প্রিন্ট ("এর সাথে সংযুক্ত হচ্ছে"); Serial.println (ssid);

WiFi.begin (ssid, password);

যখন (WiFi.status ()! = WL_CONNECTED) {

বিলম্ব (800); সিরিয়াল.প্রিন্ট ("।"); }

Serial.println ("");

Serial.println ("ওয়াইফাই সংযুক্ত"); Serial.println ("IP ঠিকানা:"); Serial.println (WiFi.localIP ()); // init MQTT সংযোগ client.setServer (mqtt_server, 1883); client.setCallback (কলব্যাক);

// ডিএইচটি সেন্সর শুরু করুন

dht.begin (); Serial.println ("DHT11 ইউনিফাইড সেন্সর ডেটা");

// টেম্প সেন্সরের বিবরণ প্রিন্ট করুন

sensor_t সেন্সর; dht.temperature ()। getSensor (& sensor); Serial.println ("------------------------------------"); Serial.println ("তাপমাত্রা"); সিরিয়াল.প্রিন্ট ("সেন্সর:"); Serial.println (sensor.name); Serial.print ("ড্রাইভার Ver:"); Serial.println (sensor.version); সিরিয়াল.প্রিন্ট ("ইউনিক আইডি:"); Serial.println (sensor.sensor_id); সিরিয়াল.প্রিন্ট ("সর্বোচ্চ মান:"); Serial.print (sensor.max_value); Serial.println (" *C"); সিরিয়াল.প্রিন্ট ("ন্যূনতম মান:"); Serial.print (sensor.min_value); Serial.println (" *C"); সিরিয়াল.প্রিন্ট ("রেজোলিউশন:"); Serial.print (sensor.resolution); Serial.println (" *C"); Serial.println ("------------------------------------"); // আর্দ্রতা সেন্সরের বিবরণ মুদ্রণ করুন। dht.humidity ()। getSensor (& sensor); Serial.println ("------------------------------------"); Serial.println ("আর্দ্রতা"); সিরিয়াল.প্রিন্ট ("সেন্সর:"); Serial.println (sensor.name); Serial.print ("ড্রাইভার Ver:"); Serial.println (sensor.version); সিরিয়াল.প্রিন্ট ("ইউনিক আইডি:"); Serial.println (sensor.sensor_id); সিরিয়াল.প্রিন্ট ("সর্বোচ্চ মান:"); Serial.print (sensor.max_value); Serial.println ("%"); সিরিয়াল.প্রিন্ট ("ন্যূনতম মান:"); Serial.print (sensor.min_value); Serial.println ("%"); সিরিয়াল.প্রিন্ট ("রেজোলিউশন:"); Serial.print (sensor.resolution); Serial.println ("%"); Serial.println ("------------------------------------");

// সেন্সর বিশদগুলির উপর ভিত্তি করে সেন্সর রিডিংয়ের মধ্যে বিলম্ব সেট করুন

delayMS = sensor.min_delay / 1000; }

অকার্যকর লুপ (অকার্যকর) {

ভাসমান তাপমাত্রা;

যদি (! client.connected ())

{পুনরায় সংযোগ (); }

বিলম্ব (বিলম্ব MSMS);

// তাপমাত্রা ইভেন্ট পান এবং এর মান মুদ্রণ করুন।

sensors_event_t ইভেন্ট; dht.temperature ()। getEvent (& event); যদি (isnan (event.temperature)) {Serial.println ("তাপমাত্রা পড়তে ত্রুটি!"); তাপমাত্রা = 0.00; } অন্য {তাপমাত্রা = event.temperature; সিরিয়াল.প্রিন্ট ("তাপমাত্রা:"); সিরিয়াল.প্রিন্ট (তাপমাত্রা); Serial.println (" *C"); } // এমকিউটিটি পাবলিশডাটা (তাপমাত্রা) তে প্রকাশ করুন; }

ধাপ 2: আপনার TP-LINK স্মার্ট প্লাগ সেট আপ করা

আপনার TP-LINK স্মার্ট প্লাগ সেট আপ করা হচ্ছে
আপনার TP-LINK স্মার্ট প্লাগ সেট আপ করা হচ্ছে

আপনার টিপি-লিংক স্মার্ট প্লাগ, অথবা সেই ম্যাটারের জন্য যে কোনো স্মার্ট প্লাগ সেট করতে হবে, যেভাবে প্রস্তুতকারকের পরামর্শ।

ডিভাইসে MAC ঠিকানা নোট করতে ভুলবেন না। যদি আপনার ডিভাইসটি আমার TP-LINK ডিভাইসের মত হয় তবে আপনি একটি স্ট্যাটিক আইপি অ্যাড্রেস রাখতে পারবেন না। সুতরাং, আপনাকে DHCP রিজার্ভেশনের জন্য আপনার রাউটার কনফিগার করতে হবে। এটি আপনার ডিভাইসের MAC ঠিকানাটি গ্রহণ করবে এবং যখন ডিভাইসটি একটি ঠিকানার জন্য অনুরোধ করবে তখন রাউটার প্রতিবার একই ঠিকানা দেবে।

লিঙ্কসিস দিয়ে এটি কীভাবে সেট আপ করবেন তার একটি লিঙ্ক এখানে দেওয়া হল

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

ধাপ 3: হোম অ্যাসিস্ট্যান্ট সেট আপ করা

এখন হোম অ্যাসিস্ট্যান্ট সেট আপ করতে। এর জন্য আপনাকে কনফিগারেশন.য়্যামল ফাইলে নিম্নলিখিত কনফিগারেশন যুক্ত করতে হবে যা আপনি যে ডিভাইসে ইনস্টল করেছেন /home/homeassistant/.homeassistant ফোল্ডারের কাঠামোতে অবস্থিত।

আপনার হোম অ্যাসিস্ট্যান্ট কনফিগারেশনে এটি যোগ করা শেষ হলে পরিবর্তনগুলি প্রভাবিত করার জন্য আপনাকে আপনার হোম অ্যাসিস্ট্যান্ট সফ্টওয়্যারটি পুনরায় চালু করতে হবে।

এছাড়াও আমি সুইচিং ডিভাইস টিপি-লিংক স্মার্ট প্লাগ ফোর্ট ব্যবহার করব এবং কনফিগারেশন ফাইলে সংজ্ঞাটি নীচে রয়েছে। ডিভাইসের জন্য যে আইপি অ্যাড্রেস ব্যবহার করা হয় সেটি হল আপনি পূর্ববর্তী ধাপে DHCP রিজার্ভেশনের জন্য সেট আপ করেছেন।

এই কনফিগারেশনটি নিম্নলিখিত গিথুব রেপোতেও পাওয়া যাবে:

mqtt: switch: - platform: tplink name: Bedroom Heater host: 192.168.2.11

সেন্সর 1:

প্ল্যাটফর্ম: mqtt state_topic: 'ha/शयनकक्ष_टेम्प' নাম: বেডরুম টেম্প ইউনিট_অফ_মেজারমেন্ট: '° F' value_template: '{{value_json.temperature}}' '

অটোমেশন:

- উপনাম: _ টেম্প বেডরুম টেম্প হাই ট্রিগার: - প্ল্যাটফর্ম: সংখ্যাসূচক_স্টেট সত্তা_আইডি: সেন্সর। বেডরুম_ টেম্প উপরে: 73

কর্ম:

পরিষেবা: homeassistant.turn_off entity_id: switch. Bedroom_Heater

- উপনাম: _ টেম্প বেডরুম টেম্প লো

ট্রিগার: - প্ল্যাটফর্ম: সংখ্যাসূচক_সত্ত্বা_আইডি: সেন্সর।

ধাপ 4: চূড়ান্ত পদক্ষেপ

Image
Image
চূড়ান্ত পদক্ষেপ
চূড়ান্ত পদক্ষেপ
চূড়ান্ত পদক্ষেপ
চূড়ান্ত পদক্ষেপ

এখন আপনার হোম অ্যাসিস্ট্যান্ট কনফিগারেশন এবং আপনার Arduino কোড সেট -আপের মাধ্যমে আপনি পুরো সিস্টেমটি সক্রিয় করতে প্রস্তুত হবেন। সুতরাং, আপনার হিটার/ফ্যান/কুলার প্লাগটি স্মার্ট প্লাগের মধ্যে রাখুন এবং প্লাগটি স্মার্ট প্লাগে রাখুন। একবার এটি প্রস্তুত হয়ে গেলে আপনাকে একটি ছোট ইউএসবি চার্জার লাগাতে হবে এবং তারপরে ওয়াইফাই সক্ষম তাপমাত্রা প্রোব। একবার সব অনলাইন হয়ে গেলে আপনি আপনার হোম অ্যাসিস্ট্যান্ট ড্যাশবোর্ডে দেখতে পারবেন এবং নতুন তাপমাত্রা রিপোর্ট করা হচ্ছে তা দেখতে পারবেন।

আপনার সমস্ত সাহায্য এবং সমর্থনের জন্য আপনাকে অনেক ধন্যবাদ। একটি লাইক দিতে ভুলবেন না এবং https://www.youbue.com/misperry এ চ্যানেলটি দেখতে আসুন এবং দেখুন আপনার জন্য আমাদের কাছে কি আছে। চ্যানেলটি সাহায্য করতে আপনি সাবস্ক্রাইব করুন এবং আপনার বন্ধুদের সাথে শেয়ার করুন।

প্রস্তাবিত: