সুচিপত্র:

দরজা এবং তাপমাত্রা স্থিতি লগার প্রকল্প: 21 ধাপ
দরজা এবং তাপমাত্রা স্থিতি লগার প্রকল্প: 21 ধাপ

ভিডিও: দরজা এবং তাপমাত্রা স্থিতি লগার প্রকল্প: 21 ধাপ

ভিডিও: দরজা এবং তাপমাত্রা স্থিতি লগার প্রকল্প: 21 ধাপ
ভিডিও: লক্ষণ শারীরিক কিন্তু রোগ মানসিক। Symptoms are physical but, the disease is psychological. 2024, জুলাই
Anonim
দরজা এবং তাপমাত্রা অবস্থা লগার প্রকল্প
দরজা এবং তাপমাত্রা অবস্থা লগার প্রকল্প

এই নির্দেশাবলী আপনাকে দেখাবে কিভাবে ESP8266 NodeMCU, একটি DHT11 তাপমাত্রা এবং আর্দ্রতা সেন্সর, একটি দরজা/উইন্ডো রিড সুইচ, একটি 10K ওহম প্রতিরোধক এবং কিছু হুকআপ তার ব্যবহার করে $ 10.00 এর নিচে একটি সাধারণ দরজা এবং তাপমাত্রার স্থিতি লগার তৈরি করতে হবে।

এই প্রকল্পের উৎপত্তি আমার Arduino বোর্ডের সাথে আরো হোম অটোমেশন করার ইচ্ছা থেকে এসেছে, যেহেতু আমি Arduino সামঞ্জস্যপূর্ণ EPS8266 NodeMCU সম্পর্কে অনেক কিছু পড়ছিলাম, তাই আমি সিদ্ধান্ত নিয়েছিলাম যে এই বোর্ডটি নিখুঁত কম খরচের বোর্ড হবে কিছু পরীক্ষা -নিরীক্ষা করার জন্য। ESP8266 বোর্ড ব্যবহার করে হোম অটোমেশন প্রকল্পগুলির জন্য ইন্টারনেটে অনুসন্ধান করার পর, আমি আমার প্রথম প্রচেষ্টার জন্য একটি তাপমাত্রা এবং দরজার স্থিতি লগারকে একত্রিত করেছিলাম। অবশেষে এই প্রকল্পটি সার্ভোস, আর্দ্রতা সেন্সর এবং অন্যান্য ইলেকট্রনিক্সের সাথে একত্রিত হয়ে আমার দাদা 50 বছর আগে ডিজাইন করা এবং নির্মিত একটি ছোট গ্রিন হাউস স্বয়ংক্রিয় করবে। তাপমাত্রা সেন্সরটি হিটিং সিস্টেমটি নিযুক্ত বা বিচ্ছিন্ন হওয়া উচিত কিনা তা নির্ধারণ করার জন্য ব্যবহার করা হবে এবং প্রয়োজনের সময় ভেন্টিং সিস্টেমটি খুলতে এবং বন্ধ করার জন্য সার্ভিসগুলিকে সংকেত দেবে। ভেন্টিং সিস্টেমের অবস্থা চুম্বকীয় রিড সুইচ ব্যবহার করে পর্যবেক্ষণ করা হবে। অবশেষে, আর্দ্রতা সেন্সরগুলি একটি জল সরবরাহ ব্যবস্থা স্বয়ংক্রিয়ভাবে ব্যবহার করা হবে।

ধাপ 1: অস্বীকৃতি

এই নির্দেশনা অনুসরণ করার ফলে যে কোন কিছু ঘটলে আমরা কোন দায়ভার গ্রহণ করি না। যেকোনো জিনিস তৈরির সময় নির্মাতাদের নির্দেশনা এবং নিরাপত্তা শীটগুলি অনুসরণ করা সর্বদা ভাল তাই অনুগ্রহ করে আপনার নিজের তৈরি করতে যে অংশ এবং সরঞ্জামগুলি ব্যবহার করেন সেগুলির জন্য সেই নথিগুলি দেখুন। আমরা কেবল আমাদের তৈরি করার জন্য যে ধাপগুলি ব্যবহার করেছি তার তথ্য সরবরাহ করছি। আমরা পেশাদার নই। প্রকৃতপক্ষে, এই বিল্ডে অংশগ্রহণকারী ব্যক্তিদের মধ্যে 3 জনের মধ্যে 2 জন শিশু।

পদক্ষেপ 2: বিনামূল্যে IFTTT অ্যাকাউন্ট সেটআপ করুন

বিনামূল্যে IFTTT অ্যাকাউন্ট সেটআপ করুন
বিনামূল্যে IFTTT অ্যাকাউন্ট সেটআপ করুন

আপনার যদি ইতিমধ্যেই অ্যাকাউন্ট না থাকে, তাহলে এখনই তাদের হোম পেজে গিয়ে একটি বিনামূল্যে IFTTT অ্যাকাউন্ট সেটআপ করার সময়.. আপনাকে নতুন উপায়ে সেই পরিষেবাগুলি উপভোগ করতে সক্ষম করে। এই প্রকল্পের জন্য আমরা IFTTT ব্যবহার করতে যাচ্ছি যাতে একটি ESP8266 একটি রিড সুইচ এবং তাপমাত্রা এবং আর্দ্রতা DHT11 সেন্সরের মাধ্যমে একটি Google Sheets নথিতে দরজার স্থিতি লগ ইন করতে পারে।

ধাপ 3: একটি IFTTT অ্যাপলেট তৈরি করুন

একটি IFTTT অ্যাপলেট তৈরি করুন
একটি IFTTT অ্যাপলেট তৈরি করুন

আইএফটিটিটি -তে থাকাকালীন, "আমার অ্যাপলেটস" বিভাগে যান এবং "নতুন অ্যাপলেট" বোতামে ক্লিক করে একটি নতুন অ্যাপলেট তৈরি করুন।

ধাপ 4: আপনার অ্যাপলেটের "এই" অংশটি কনফিগার করুন।

কনফিগার করুন
কনফিগার করুন

নীল রঙের "এই" শব্দটিতে ক্লিক করুন - উপরের চিত্রে হাইলাইট করা হয়েছে।

ধাপ 5: আপনার অ্যাপলেটে ওয়েবহুকস পরিষেবা যুক্ত করুন।

আপনার অ্যাপলেটে ওয়েবহুকস পরিষেবা যুক্ত করুন।
আপনার অ্যাপলেটে ওয়েবহুকস পরিষেবা যুক্ত করুন।

অনুসন্ধান বারে, "ওয়েবহুকস" পরিষেবাটি অনুসন্ধান করুন এবং ওয়েবহুকস আইকনটি নির্বাচন করুন।

একবার আপনি "ওয়েবহুকস" পরিষেবাটি খুঁজে পেলে এটিতে ক্লিক করুন।

ধাপ 6: রিসিভ ওয়েব রিকোয়েস্ট ট্রিগার সেটআপ করুন।

একটি ওয়েব রিকোয়েস্ট ট্রিগার রিসিভ করুন।
একটি ওয়েব রিকোয়েস্ট ট্রিগার রিসিভ করুন।

"একটি ওয়েব অনুরোধ গ্রহণ করুন" ট্রিগার নির্বাচন করুন।

ধাপ 7: একটি ইভেন্টের নাম প্রদান করুন

একটি ইভেন্টের নাম দিন
একটি ইভেন্টের নাম দিন

পাঠ্য বাক্সে একটি ইভেন্টের নাম সহ আপনার নতুন অ্যাপলেট প্রদান করুন। আমি "ডেটা লগার" নির্বাচন করেছি কিন্তু আপনি যা পছন্দ করেন তা চয়ন করতে পারেন।

ধাপ 8: আপনার অ্যাপলেটের "সেই" অংশটি কনফিগার করুন।

কনফিগার করুন
কনফিগার করুন

নীল রঙের "সেই" শব্দটিতে ক্লিক করুন - উপরের চিত্রে হাইলাইট করা হয়েছে।

পদক্ষেপ 9: একটি অ্যাকশন পরিষেবা সেটআপ করুন

একটি অ্যাকশন সার্ভিস সেটআপ করুন
একটি অ্যাকশন সার্ভিস সেটআপ করুন

অনুসন্ধান বাক্সে, "গুগল শীটস" পরিষেবাটি অনুসন্ধান করুন এবং গুগল শীট আইকনে ক্লিক করুন।

ধাপ 10: গুগল শীটগুলির সাথে সংযোগ করুন

Google Sheets- এর সাথে সংযোগ করুন
Google Sheets- এর সাথে সংযোগ করুন

আপনি যদি ইতিমধ্যেই তা না করে থাকেন, তাহলে আপনার IFTTT অ্যাকাউন্টকে Google পত্রকের সাথে সংযুক্ত করতে হবে। উপরে দেখানো কানেক্ট বোতাম টিপুন এবং অন-স্ক্রিন নির্দেশাবলী অনুসরণ করুন।

ধাপ 11: একটি কর্ম চয়ন করুন

একটি অ্যাকশন বেছে নিন
একটি অ্যাকশন বেছে নিন

"অ্যাড রো টু স্প্রেডশীট" এ ক্লিক করুন।

ধাপ 12: অ্যাকশন সেটআপ করুন

অ্যাকশন সেটআপ করুন
অ্যাকশন সেটআপ করুন

"স্প্রেডশীট নাম" পাঠ্য বাক্সে একটি নাম প্রদান করুন। আমি সামঞ্জস্যের জন্য "Data_Logger" ব্যবহার করা পছন্দ করি। বাকি সেটিংটি একা ছেড়ে দিন (আপনি সেটিংগুলির সাথে অন্য সময়ে পরীক্ষা করতে পারেন) এবং তারপরে স্ক্রিনের নীচে "অ্যাকশন তৈরি করুন" বোতাম টিপুন।

ধাপ 13: আপনার অ্যাপলেট পর্যালোচনা করুন এবং চূড়ান্ত করুন।

আপনার অ্যাপলেট পর্যালোচনা করুন এবং চূড়ান্ত করুন।
আপনার অ্যাপলেট পর্যালোচনা করুন এবং চূড়ান্ত করুন।

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

ধাপ 14: কনফিগারেশন তথ্য পরে প্রয়োজন পুনরুদ্ধার করুন।

পরে প্রয়োজনীয় কনফিগারেশন তথ্য পুনরুদ্ধার করুন।
পরে প্রয়োজনীয় কনফিগারেশন তথ্য পুনরুদ্ধার করুন।

উপরে হাইলাইট করা "ওয়েবহুকস" এ ক্লিক করুন।

ধাপ 15: API কী এর জন্য ওয়েবহুকস ডকুমেন্টেশনে এগিয়ে যান

API কী এর জন্য ওয়েবহুকস ডকুমেন্টেশনে এগিয়ে যান
API কী এর জন্য ওয়েবহুকস ডকুমেন্টেশনে এগিয়ে যান

এটি অদ্ভুত মনে হতে পারে তবে আপনার অনন্য API কী দিয়ে পৃষ্ঠায় এগিয়ে যেতে উপরের ডানদিকে ডকুমেন্টেশন লিঙ্কে ক্লিক করুন।

ধাপ 16: API কী সংরক্ষণ করুন

API কী সংরক্ষণ করুন
API কী সংরক্ষণ করুন
API কী সংরক্ষণ করুন
API কী সংরক্ষণ করুন

ডকুমেন্টেশন স্ক্রিনের প্রথম লাইন আপনার অনন্য API কী প্রদর্শন করে। এই চাবিটি কপি করে সংরক্ষণ করুন পরে ব্যবহারের জন্য।

এখানে অ্যাপলেট পরীক্ষা করাও একটি ভাল ধারণা। মনে রাখবেন {event} কে Data_Logger বা আপনার ইভেন্টের নাম যাই হোক না কেন পরিবর্তন করুন এবং 3 টি খালি মানগুলিতে কিছু ডেটা যোগ করুন তারপর পৃষ্ঠার নীচে "এটি পরীক্ষা করুন" বোতামে ক্লিক করুন। আপনার একটি সবুজ বার্তা দেখতে হবে "ইভেন্টটি ট্রিগার হয়েছে"। যদি তাই হয়, গুগল ডক্সে এগিয়ে যান এবং নিশ্চিত করুন যে আপনি পরীক্ষার পৃষ্ঠায় যে ডেটা প্রবেশ করেছেন তা গুগল শীটস নথিতে প্রদর্শিত হয়েছে।

ধাপ 17: উপাদানগুলি সংগ্রহ করুন

উপাদান সংগ্রহ করুন
উপাদান সংগ্রহ করুন
উপাদান সংগ্রহ করুন
উপাদান সংগ্রহ করুন
উপাদান সংগ্রহ করুন
উপাদান সংগ্রহ করুন

আপনি শুধুমাত্র কয়েক অংশ প্রয়োজন হবে।

1) ESP8266 NodeMcu ডেভেলপমেন্ট বোর্ড

2) DHT11 তাপমাত্রা/আর্দ্রতা সেন্সর

3) ডোর/উইন্ডো রিড সুইচ

4) 10k ওহম প্রতিরোধক

5) হুকআপ ওয়্যার

ধাপ 18: উপাদানগুলি একত্রিত করুন

1) ESP8266 এর 3v3 পিনের একটিকে DHT11 এর vcc পিনের সাথে সংযুক্ত করুন।

2) ESP8266 এর একটি গ্রাউন্ড পিনের সাথে DHT11 এর গ্রাউন্ড পিনের সাথে সংযোগ স্থাপন করুন।

3) ESP8266 এ DHT11 এর ডাটা পিনের সাথে PIN D4 (a.k.a. পিন 2 IDE তে) সংযুক্ত করুন।

4) ESP8266 এ দরজা/উইন্ডো রিড সুইচের এক পাশে আরেকটি 3v3 পিন সংযুক্ত করুন।

5) ESP8266 এ পিন D5 (a.k.a পিন 14 আইডিইতে) দরজা/জানালার রিড সুইচের অন্য পাশে সংযুক্ত করুন এবং এটি 10k ওহম রোধকের এক পাশে সংযুক্ত করুন।

6) 10k ওহম রেসিস্টারের অন্য দিকটি ESP8266 এ অন্য গ্রাউন্ড পিনের সাথে সংযুক্ত করুন।

ESP8266 পিন নির্বাচনের জন্য অনুগ্রহ করে এই সহায়ক চিত্র বা খুব সহায়ক ভিডিও পড়ুন।

ধাপ 19: Arduino কোড লিখুন

Arduino কোড লিখুন
Arduino কোড লিখুন

আপনার Arduino IDE তে নিচের কোডটি কপি করে পেস্ট করুন।

#অন্তর্ভুক্ত #অন্তর্ভুক্ত #অন্তর্ভুক্ত "DHT.h"

#DHTPIN 2 নির্ধারণ করুন // আমরা কোন ডিজিটাল পিনের সাথে সংযুক্ত

#ডোরপিন 14 নির্ধারণ করুন // কোন ডিজিটাল পিন দরজার সুইচ চালু আছে।

#DHTTYPE DHT11 // DHT 11 নির্ধারণ করুন

DHT dht (DHTPIN, DHTTYPE);

int গণনা = 1;

const char* ssid = "some_ssid"; // আপনার ssid const char* password = "some_password" ব্যবহার করতে এটি পরিবর্তন করুন; // আপনার পাসওয়ার্ড int sleepTime = 100 ব্যবহার করতে এটি পরিবর্তন করুন;

// মেকার ওয়েবহুকস IFTTT

const char* server = "maker.ifttt.com";

// IFTTT URL রিসোর্স

const char* resource = "/trigger/SOME_SERVICE_NAME/with/key/SOME_API_KEY"; // আপনার পরিষেবার নাম এবং আপনার এপিআই কী ব্যবহার করতে ভুলবেন না।

স্ট্রিং ডোর স্ট্যাটাস = "বন্ধ";

অস্থির বুল অবস্থা পরিবর্তিত = মিথ্যা;

// যদি ঘণ্টার পর ঘণ্টা ঘুমানো হয় তাহলে ঘন্টা * 60 মিনিট * 60 সেকেন্ড * 1000 মিলিসেকেন্ডের ব্যবধান নির্ধারণ করুন

const দীর্ঘ ব্যবধান = 1.0 * 60 * 60 * 1000; // 1 ঘন্টা স্বাক্ষরবিহীন দীর্ঘ পূর্ববর্তী মিলিস = 0 - (2 * ব্যবধান);

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

Serial.begin (115200); attachInterrupt (digitalPinToInterrupt (DOORPIN), eventTriggered, পরিবর্তন); পিনমোড (ডোরপিন, ইনপুট); // ডোর সেন্সর dht.begin (); WiFi.begin (ssid, password);

সিরিয়াল.প্রিন্ট ("C n সংযোগ স্থাপন..");

যখন (WiFi.status ()! = WL_CONNECTED) {বিলম্ব (1000); সিরিয়াল.প্রিন্ট ("।"); } সিরিয়াল.প্রিন্ট ("\ n"); }

অকার্যকর ঘটনা

stateChanged = সত্য; Serial.println ("দরজা চেক করা!"); if (digitalRead (DOORPIN) == HIGH) // দরজা খোলা আছে কিনা দেখে নিন {Serial.println ("দরজা বন্ধ!"); doorStatus = "বন্ধ"; } অন্য {Serial.println ("দরজা খোলা!"); doorStatus = "খোলা"; }}

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

যদি (WiFi.status () == WL_CONNECTED) {// ওয়াইফাই সংযোগ স্থিতি পরীক্ষা করে // পড়ার তাপমাত্রা বা আর্দ্রতা প্রায় 250 মিলিসেকেন্ড লাগে! // সেন্সর রিডিং 2 সেকেন্ড পর্যন্ত 'পুরানো' হতে পারে (এটি একটি খুব ধীর সেন্সর) ফ্লোট h = dht.readHumidity (); // সেলসিয়াস হিসাবে তাপমাত্রা পড়ুন (ডিফল্ট) ফ্লোট t = dht.readTemperature (); // ফারেনহাইট হিসাবে তাপমাত্রা পড়ুন (isFahrenheit = true) float f = dht.readTemperature (true); // কোন পাঠ ব্যর্থ হয়েছে কিনা তা পরীক্ষা করুন এবং তাড়াতাড়ি বেরিয়ে আসুন (আবার চেষ্টা করার জন্য)। যদি (isnan (h) || isnan (t) || isnan (f)) {Serial.println ("DHT সেন্সর থেকে পড়তে ব্যর্থ!"); // সিরিয়াল.প্রিন্ট ("।"); // DHT সেন্সর থেকে পড়তে ব্যর্থ! প্রত্যাবর্তন; } // ফারেনহাইট (ডিফল্ট) ফ্লোট হাইফ = dht.computeHeatIndex (f, h); // সেলসিয়াসে গণনা তাপ সূচক (isFahreheit = false) float hic = dht.computeHeatIndex (t, h, false);

সিরিয়াল.প্রিন্ট ("\ n");

সিরিয়াল.প্রিন্ট ("তাপমাত্রা:"); Serial.print (f); Serial.print (" *F ("); Serial.print (t); Serial.print (" *C)"); Serial.print ("\ t"); সিরিয়াল.প্রিন্ট ("তাপ সূচক:"); Serial.print (hif); Serial.print (" *F ("); Serial.print (hic); Serial.print (" *C)%"); Serial.print ("\ t"); সিরিয়াল.প্রিন্ট ("আর্দ্রতা:"); Serial.println (h);

if (digitalRead (DOORPIN) == HIGH) // দরজা খোলা আছে কিনা দেখে নিন

{Serial.println ("দরজা বন্ধ!"); doorStatus = "বন্ধ"; } অন্য {Serial.println ("দরজা খোলা!"); doorStatus = "খোলা"; } স্ট্রিং jsonObject = স্ট্রিং ("{" value1 / ": \" ") + f +"*F (" + t +"*C) / " + hif +"*F (" + hic +"*C) " +" / "," value2 / ":" " + h +" / ", \" value3 / ":" " + doorStatus +" / "}"; HTTPClient http; স্ট্রিং completeUrl = "https://maker.ifttt.com/trigger/bme280_readings/with/key/cZFasEvy5_3JlrUSVAxQK9"; http.begin (completeUrl); // http.begin (সার্ভার); http.addHeader ("বিষয়বস্তু-প্রকার", "অ্যাপ্লিকেশন/json"); http. POST (jsonObject); http.writeToStream (& সিরিয়াল); http.end (); // বন্ধ সংযোগ

stateChanged = মিথ্যা;

int sleepTimeInMinutes = ব্যবধান / 1000/60; Serial.print ("\ n / n ঘুমাতে যান"); Serial.print (sleepTimeInMinutes); Serial.println ("মিনিট (গুলি) …"); }}

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

স্বাক্ষরবিহীন দীর্ঘ কারেন্টমিলিস = মিলিস (); বিলম্ব (4000); // যদি আমরা অতিবাহিত সময় অতিক্রম করি তাহলে জোর করে দরজা এবং তাপমাত্রা চেক করুন। যদি (currentMillis - previousMillis> = ব্যবধান) {stateChanged = true; পূর্ববর্তী মিলিস = বর্তমান মিলিস; সিরিয়াল.প্রিন্ট (গণনা ++); Serial.println (") অতিবাহিত সময়ের কারণে পরীক্ষা করা হচ্ছে!"); } অন্যথায় যদি (stateChanged) {Serial.print (count ++); Serial.println (") রাষ্ট্র পরিবর্তনের কারণে পরীক্ষা করা হচ্ছে!"); }

// যদি অবস্থা পরিবর্তিত হয় তাহলে দরজা এবং তাপমাত্রা পরীক্ষা করুন।

যদি (stateChanged) {checkStatus (); }

বিলম্ব (ঘুমের সময়);

}

ধাপ 20: ফলাফল

ফলাফল
ফলাফল

একবার আপনি আগের ধাপে সোর্স কোড আপলোড করলে আপনার উপরে দেখানো উদাহরণের মতো ফলাফল পাওয়া উচিত।

ধাপ 21: ক্রেডিট

আমি এলোমেলো Nerd টিউটোরিয়াল থেকে অনেক সহায়ক ইঙ্গিত এবং টিপস পেয়েছি এবং তাদের সাহায্যের জন্য তাদের ধন্যবাদ জানাতে চাই। বিশেষ করে ESP32 ESP8266 তে তাদের চমৎকার টিউটোরিয়াল গুগল শীটগুলিতে সেন্সর রিডিং প্রকাশ করুন যা এই নির্দেশনার প্রধান অংশগুলির উপর ভিত্তি করে।

উপরন্তু, TheCircuit থেকে DHT11 Instructable আমাকে এই খুব সস্তা কিন্তু আকর্ষণীয় ছোট সেন্সর কিভাবে ব্যবহার করতে হয় তা বুঝতে সাহায্য করেছে।

উপরন্তু, গ্যারেজ ডোর মনিটর এবং র্যান্ডম নেড টিউটোরিয়ালের আরেকটি দরজার মতো আপনার দরজা পর্যবেক্ষণ করার জন্য অনেক টিউটোরিয়াল রয়েছে। আমি কীভাবে আমার রিড সুইচটি সঠিকভাবে কাজ করতে পারি তা বুঝতে সাহায্য করার জন্য আমি এর বিট এবং টুকরা ব্যবহার করেছি।

অবশেষে, এই তথ্যের পাশাপাশি ইন্টারনেটের অন্যান্য তথ্যের সাথে আমি এমন একটি সিস্টেম তৈরি করতে সক্ষম হয়েছি যা আমার চাহিদা পূরণ করে। আমি আশা করি আপনি এই নির্দেশযোগ্য উপযোগী পাবেন এবং আপনার নিজের একটি তৈরি করুন।

প্রস্তাবিত: