فهرست مطالب:
- مرحله 1: سلب مسئولیت
- مرحله 2: راه اندازی حساب IFTTT رایگان
- مرحله 3: یک برنامه کاربردی IFTTT ایجاد کنید
- مرحله 4: قسمت "this" اپلت خود را پیکربندی کنید
- مرحله 5: سرویس WebHooks را به اپلت خود اضافه کنید
- مرحله 6: راه اندازی دریافت درخواست وب را راه اندازی کنید
- مرحله 7: نام یک رویداد را ارائه دهید
- مرحله هشتم: قسمت "that" اپلت خود را پیکربندی کنید
- مرحله 9: راه اندازی یک سرویس اقدام
- مرحله 10: به Google Sheets وصل شوید
- مرحله 11: یک Action را انتخاب کنید
- مرحله 12: اقدام را تنظیم کنید
- مرحله 13: اپلت خود را مرور و نهایی کنید
- مرحله 14: بازیابی اطلاعات پیکربندی مورد نیاز بعدا
- مرحله 15: به سند Webhooks برای کلید API بروید
- مرحله 16: کلید API را ذخیره کنید
- مرحله 17: اجزاء را جمع آوری کنید
- مرحله 18: اجزاء را مونتاژ کنید
- مرحله 19: کد آردوینو را بنویسید
- مرحله 20: نتایج
- مرحله 21: اعتبار
تصویری: پروژه ثبت کننده درب و دما: 21 مرحله
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:56
این دستورالعمل به شما نشان می دهد که چگونه با استفاده از ESP8266 NodeMCU ، یک سنسور دما و رطوبت DHT11 ، یک کلید درب/پنجره ، یک مقاومت 10K اهم و مقداری سیم اتصال ، یک دستگاه ثبت کننده درب و دما با قیمت کمتر از 10.00 دلار تهیه کنید.
پیدایش این پروژه از تمایل من به انجام بیشتر اتوماسیون خانگی با برد Arduino ناشی شد ، از آنجا که من در مورد EPS8266 NodeMCU سازگار با Arduino بسیار مطالعه کرده بودم ، تصمیم گرفتم که این برد بهترین تخته کم هزینه برای انجام آزمایش باشد. پس از جستجو در اینترنت برای پروژه های اتوماسیون خانگی با استفاده از بردهای ESP8266 ، در اولین تلاش خود به ترکیب دماسنج و وضعیت درب پرداختم. سرانجام این پروژه با سروها ، سنسورهای رطوبت و سایر وسایل الکترونیکی ترکیب می شود تا یک خانه سبز کوچک را که پدربزرگم 50 سال پیش طراحی و ساخته بود ، خودکار کند. از سنسور دما برای تعیین اینکه آیا سیستم گرمایشی باید درگیر یا خاموش شود و همچنین به سرووها برای باز و بسته کردن سیستم تهویه در صورت نیاز استفاده می شود. وضعیت سیستم تهویه با استفاده از کلیدهای مغناطیسی نی کنترل می شود. در نهایت ، سنسورهای رطوبت برای خودکار کردن سیستم آبیاری استفاده می شود.
مرحله 1: سلب مسئولیت
فقط یک سلب مسئولیت سریع برای بیان این که هیچ مسئولیتی در قبال هر اتفاقی که در نتیجه پیروی از این دستورالعمل رخ می دهد بر عهده نمی گیریم. همیشه بهتر است هنگام ساخت هر چیزی دستورالعمل های سازندگان و برگه های ایمنی را رعایت کنید ، بنابراین لطفاً برای هر یک از قطعات و ابزارهایی که برای ساختن خود استفاده می کنید ، از این اسناد استفاده کنید. ما به سادگی اطلاعاتی را در مورد مراحلی که برای ایجاد برنامه خود استفاده کرده ایم ، ارائه می دهیم. ما حرفه ای نیستیم. در حقیقت ، از هر 3 نفری که در این ساخت شرکت کردند 2 نفر کودک هستند.
مرحله 2: راه اندازی حساب IFTTT رایگان
اگر قبلاً یکی ندارید ، اکنون وقت آن است که با رفتن به صفحه اصلی یک حساب IFTTT رایگان راه اندازی کنید. شما را قادر می سازد تا از این خدمات به روش های جدید استفاده کنید. برای این پروژه ما از IFTTT استفاده می کنیم تا به ESP8266 اجازه دهیم وضعیت در را از طریق سوئیچ نی و دما و رطوبت را از طریق حسگر DHT11 در سند Google Sheets ثبت کند.
مرحله 3: یک برنامه کاربردی IFTTT ایجاد کنید
در حالی که هنوز در IFTTT هستید ، به بخش "اپلت های من" بروید و با کلیک روی دکمه "اپلت جدید" یک اپلت جدید ایجاد کنید.
مرحله 4: قسمت "this" اپلت خود را پیکربندی کنید
روی کلمه "this" که به رنگ آبی است کلیک کنید - همانطور که در شکل بالا مشخص شده است.
مرحله 5: سرویس WebHooks را به اپلت خود اضافه کنید
در نوار جستجو ، سرویس "Webhooks" را جستجو کرده و نماد Webhooks را انتخاب کنید.
هنگامی که سرویس "Webhooks" را پیدا کردید ، روی آن کلیک کنید.
مرحله 6: راه اندازی دریافت درخواست وب را راه اندازی کنید
ماشه "دریافت درخواست وب" را انتخاب کنید.
مرحله 7: نام یک رویداد را ارائه دهید
در کادر متن ، اپلت جدید خود را با نام رویداد ارائه دهید. من "Data Logger" را انتخاب کردم اما شما می توانید هر چیزی را که دوست دارید انتخاب کنید.
مرحله هشتم: قسمت "that" اپلت خود را پیکربندی کنید
روی کلمه "آن" که به رنگ آبی است کلیک کنید - همانطور که در شکل بالا مشخص شده است.
مرحله 9: راه اندازی یک سرویس اقدام
در کادر جستجو ، سرویس "Google Sheets" را جستجو کرده و روی نماد Google Sheets کلیک کنید.
مرحله 10: به Google Sheets وصل شوید
اگر قبلاً این کار را نکرده اید ، باید حساب IFTTT خود را به Google Sheets وصل کنید. دکمه اتصال نشان داده شده در بالا را فشار دهید و دستورالعمل های روی صفحه را دنبال کنید.
مرحله 11: یک Action را انتخاب کنید
روی "افزودن سطر به صفحه گسترده" کلیک کنید.
مرحله 12: اقدام را تنظیم کنید
در کادر نوشتاری "نام صفحه گسترده" نامی وارد کنید. من برای قوام از "Data_Logger" استفاده می کنم. بقیه تنظیمات را به حال خود رها کنید (می توانید با تنظیمات دیگری در زمان دیگری آزمایش کنید) و سپس دکمه "ایجاد اقدام" را در پایین صفحه فشار دهید.
مرحله 13: اپلت خود را مرور و نهایی کنید
پس از رضایت از تنظیمات اپلت خود ، دکمه "پایان" را فشار دهید.
مرحله 14: بازیابی اطلاعات پیکربندی مورد نیاز بعدا
همانطور که در بالا مشخص شده است روی "Webhooks" کلیک کنید.
مرحله 15: به سند Webhooks برای کلید API بروید
ممکن است عجیب به نظر برسد اما روی پیوند Documentation در بالا سمت راست کلیک کنید تا با کلید API منحصر به فرد خود به صفحه بروید.
مرحله 16: کلید API را ذخیره کنید
خط اول صفحه Documentation کلید API منحصر به فرد شما را نشان می دهد. این کلید را کپی کرده و ذخیره کنید تا بعداً استفاده شود.
همچنین ایده خوبی است که اپلت را در اینجا آزمایش کنید. به یاد داشته باشید که {event} را به Data_Logger یا هر چیزی که رویداد خود را نامگذاری کرده اید تغییر دهید و داده هایی را به 3 مقدار خالی اضافه کنید و سپس روی دکمه "Test It" در پایین صفحه کلیک کنید. شما باید یک پیغام سبز رنگ ببینید که می گوید "رویداد فعال شده است". در این صورت ، به Google Docs بروید و تأیید کنید که داده هایی که در صفحه آزمایش وارد کرده اید در سند کاربرگ Google نشان داده شده است.
مرحله 17: اجزاء را جمع آوری کنید
شما فقط به چند قسمت نیاز دارید.
1) هیئت توسعه ESP8266 NodeMcu
2) سنسور دما/رطوبت DHT11
3) سوئیچ نی در و پنجره
4) مقاومت 10k اهم
5) سیم اتصال
مرحله 18: اجزاء را مونتاژ کنید
1) یکی از پین های 3v3 در ESP8266 را به پین vcc در DHT11 وصل کنید.
2) یکی از پایه های پایه ESP8266 را به پایه زمین DHT11 وصل کنید.
3) پین D4 (معروف به پین 2 در IDE) در ESP8266 را به پین داده در DHT11 وصل کنید.
4) یک پین 3v3 دیگر در ESP8266 به یک طرف سوئیچ نی در و پنجره وصل کنید.
5) پین D5 (معروف به پین 14 در IDE) در ESP8266 را به طرف دیگر سوئیچ نی در و پنجره وصل کنید و همچنین آن را به یک طرف مقاومت 10k اهم وصل کنید.
6) طرف دیگر مقاومت 10k اهم را به پین زمین دیگر در ESP8266 وصل کنید.
برای انتخاب پین ESP8266 لطفاً به این نمودار مفید یا ویدیوی بسیار مفید مراجعه کنید.
مرحله 19: کد آردوینو را بنویسید
کد زیر را در IDE Arduino خود کپی و جایگذاری کنید.
#شامل #شامل #شامل #DHT.h
#deptine DHTPIN 2 // ما به کدام پین دیجیتالی متصل هستیم
#define DOORPIN 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 تغییر دهید.
// Maker Webhooks IFTTT
const char* server = "maker.ifttt.com"؛
// منبع آدرس IFTTT
const char* resource = "/trigger/SOME_SERVICE_NAME/with/key/SOME_API_KEY"؛ // حتماً از نام سرویس و کلید api خود استفاده کنید.
String doorStatus = "بسته"؛
فرار bool stateChanged = false؛
// اگر ساعت ها می خوابید ، فاصله را با ساعت * 60 دقیقه * 60 ثانیه * 1000 میلی ثانیه تنظیم کنید
const فاصله طولانی = 1.0 * 60 * 60 * 1000 ؛ // 1 ساعت بدون امضا طولانی previousMillis = 0 - (2 * فاصله) ؛
void setup () {
Serial.begin (115200) ؛ attachInterrupt (digitalPinToInterrupt (DOORPIN) ، eventTriggered ، CHANGE) ؛ pinMode (درب ورودی ، ورودی) ؛ // سنسور درب dht.begin ()؛ WiFi.begin (ssid ، رمز عبور) ؛
Serial.print ("\ n اتصال..")؛
while (WiFi.status ()! = WL_CONNECTED) {تأخیر (1000) ؛ Serial.print (".") ؛ } Serial.print ("\ n")؛ }
void eventTriggered () {
stateChanged = true؛ Serial.println ("بررسی درب!")؛ if (digitalRead (DOORPIN) == HIGH) // بررسی کنید که آیا در باز است {Serial.println ("در بسته است!") ؛ doorStatus = "بسته" ؛ } else {Serial.println ("در باز است!")؛ doorStatus = "باز شده" ؛ }}
void checkStatus () {
if (WiFi.status () == WL_CONNECTED) {// وضعیت اتصال WiFi را بررسی کنید // دما یا رطوبت خواندن حدود 250 میلی ثانیه طول می کشد! // قرائت سنسور نیز ممکن است تا 2 ثانیه "قدیمی" باشد (سنسور آن بسیار کند است) شناور h = dht.readHumidity ()؛ // دما را به صورت سانتیگراد (پیش فرض) بخوانید t = dht.readTemperature ()؛ // دما را به صورت فارنهایت بخوانید (isFahrenheit = true) float f = dht.readTemperature (true)؛ // بررسی کنید که آیا خواندن انجام نشد و زودتر خارج شوید (دوباره امتحان کنید). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println ("از سنسور DHT خوانده نشد!") ؛ //Serial.print (".") ؛ // از سنسور DHT خوانده نشد! برگشت؛ } // محاسبه شاخص گرما در فارنهایت (به طور پیش فرض) float hif = dht.computeHeatIndex (f، h)؛ // محاسبه شاخص حرارت در درجه سانتیگراد (isFahreheit = false) float hic = dht.computeHeatIndex (t، h، false)؛
Serial.print ("\ n")؛
Serial.print ("دما:")؛ Serial.print (f)؛ Serial.print (" *F (") ؛ Serial.print (t) ؛ Serial.print (" *C)") ؛ Serial.print ("\ t")؛ Serial.print ("شاخص حرارت:") ؛ Serial.print (hif) ؛ Serial.print (" *F (") ؛ Serial.print (hic) ؛ Serial.print (" *C)٪") ؛ Serial.print ("\ t")؛ Serial.print ("رطوبت:") ؛ Serial.println (h)؛
if (digitalRead (DOORPIN) == HIGH) // بررسی کنید که آیا در باز است یا خیر
{Serial.println ("در بسته است!")؛ doorStatus = "بسته" ؛ } else {Serial.println ("در باز است!")؛ doorStatus = "باز شده" ؛ } String jsonObject = String ("{" value1 / ": \" ") + f +"*F (" + t +"*C) / " + hif +"*F (" + hic +"*C) " +" / "، \" value2 / ": \" " + h +" / "، \" value3 / ": \" " + doorStatus +" / "}"؛ HTTPClient http؛ String completeUrl = "https://maker.ifttt.com/trigger/bme280_readings/with/key/cZFasEvy5_3JlrUSVAxQK9" ؛ http.begin (completeUrl) ؛ // http.begin (سرور) ؛ http.addHeader ("نوع محتوا" ، "application/json") ؛ http. POST (jsonObject) ؛ http.writeToStream (و سریال) ؛ http.end ()؛ // بستن اتصال
stateChanged = false؛
int sleepTimeInMinutes = فاصله / 1000/60 ؛ Serial.print ("\ n / n برو بخواب")؛ Serial.print (sleepTimeInMinutes) ؛ Serial.println ("دقیقه (ها) …")؛ }}
حلقه خالی () {
جریان طولانی بدون امضا Millis = millis ()؛ تأخیر (4000) ؛ // اگر از زمان سپری شده پیشی گرفتیم ، درب و دما را مجبور به بررسی کنید. if (currentMillis - previousMillis> = فاصله) {stateChanged = true؛ previousMillis = currentMillis؛ Serial.print (تعداد ++) ؛ Serial.println (") بررسی به دلیل گذشت زمان!")؛ } else if (stateChanged) {Serial.print (تعداد ++)؛ Serial.println (") بررسی به دلیل تغییر وضعیت!")؛ }
// اگر حالت تغییر کرد ، در و دما را بررسی کنید.
if (stateChanged) {checkStatus ()؛ }
تاخیر (زمان خواب) ؛
}
مرحله 20: نتایج
هنگامی که کد منبع را در مرحله قبل بارگذاری کردید ، باید نتایجی مانند مثال بالا نشان دهید.
مرحله 21: اعتبار
من نکات و راهنمایی های مفید بسیاری از آموزش های تصادفی نرد پیدا کردم و می خواهم از آنها برای همه کمک هایشان تشکر کنم. به ویژه آموزش عالی آنها در ESP32 ESP8266 Published Sensor Readings to Google Sheets که بخش عمده ای از این دستورالعمل بر اساس آن است.
علاوه بر این ، DHT11 Instructable از TheCircuit به من کمک کرد تا نحوه استفاده از این سنسور کوچک بسیار ارزان اما جالب را درک کنم.
علاوه بر این ، آموزشهای زیادی در زمینه نظارت بر درهای شما وجود دارد مانند مانیتور درب گاراژ و یکی دیگر از آموزشهای تصادفی Nerd. من از تکه هایی از این موارد برای کمک به درک نحوه عملکرد صحیح سوئیچ نی استفاده کردم.
سرانجام ، با این اطلاعات و سایر جزئیات که در اینترنت یافتم ، توانستم سیستمی ایجاد کنم که نیازهای من را برآورده کند. امیدوارم این دستورالعمل مفید واقع شده باشد و یکی از آن ها را خودتان بسازید.
توصیه شده:
چگونه می توان رطوبت و دما را در زمان واقعی با دستگاه Arduino UNO و SD-Card ضبط کرد - شبیه سازی DHT11 ثبت کننده داده در پروتئوس: 5 مرحله
چگونه می توان رطوبت و دما را در زمان واقعی با دستگاه Arduino UNO و SD-Card ضبط کرد | شبیه سازی DHT11 Data-logger در Proteus: مقدمه: سلام ، این Liono Maker است ، در اینجا پیوند YouTube است. ما در حال انجام پروژه ای خلاقانه با Arduino هستیم و روی سیستم های تعبیه شده کار می کنیم. Data-Logger: Data logger: Data logger (همچنین Data-logger یا data recorder) یک دستگاه الکترونیکی است که داده ها را در طول زمان ثبت می کند
نحوه ثبت دما و شدت ثبت نور - شبیه سازی پروتئوس - فریتینگ - Liono Maker: 5 Step
نحوه ثبت دما و شدت ثبت نور | شبیه سازی پروتئوس | فریتینگ | Liono Maker: سلام این Liono Maker است ، این کانال رسمی YouTube من است. این کانال YouTube منبع باز است. پیوند: Liono Maker YouTube Channel در اینجا پیوند ویدیو وجود دارد: Temp & amp؛ ثبت شدت نور در این آموزش ما نحوه ایجاد Temper را یاد می گیریم
MicroPython ارزان 3 دلار ESP8266 WeMos D1 Mini برای 2 برابر ثبت دما ، Wifi و آمار تلفن همراه: 4 مرحله
MicroPython ارزان 3 دلار ESP8266 WeMos D1 Mini برای ثبت دو برابر دما ، Wifi و آمار تلفن همراه: با تراشه / دستگاه کوچک ESP8266 ارزان می توانید داده های دما را در خارج ، در اتاق ، گلخانه ، آزمایشگاه ، اتاق خنک کننده یا هر مکان دیگر کاملاً رایگان ثبت کنید. از این مثال برای ثبت دمای اتاق خنک کننده ، در داخل و خارج استفاده می کنیم. دستگاه متصل به
دستگاه ثبت دما دما (با ESP8266): 11 مرحله (همراه با تصاویر)
WiFi Temperature Logger (با ESP8266): سلام ، خوشحالم که شما را اینجا می بینم. امیدوارم در این قسمت آموزشی اطلاعات مفیدی پیدا کنید. در صورت تمایل می توانید پیشنهادات ، سوالات ، … در اینجا برخی از داده های اساسی و یک مرور کلی از پروژه را مشاهده کنید. برای کاربران تلفن همراه: ویدئو. به من اطلاع دهید
مشعل مجهز به USB! این پروژه می تواند از طریق پلاستیک / چوب / کاغذ بسوزد (پروژه سرگرم کننده همچنین باید چوبی بسیار ظریف باشد): 3 مرحله
مشعل مجهز به USB! این پروژه می تواند از طریق پلاستیک / چوب / کاغذ بسوزد (پروژه سرگرم کننده همچنین باید چوب بسیار ظریفی باشد): این USB را به کار نبرید !!!! از همه نظرات متوجه شدم که می تواند به رایانه شما آسیب برساند. کامپیوتر من خوب است از شارژر تلفن 600 ولت 5 ولت استفاده کنید. من از این استفاده کردم و خوب کار می کند و اگر از یک دوشاخه ایمنی برای قطع برق استفاده کنید ، هیچ چیزی آسیب نمی بیند