فهرست مطالب:
- مرحله 1: سخت افزار و مواد
- مرحله 2: نرم افزار
- مرحله 3: پیکربندی
- مرحله 4: اعلان ها
- مرحله 5: ادغام EasyIOT
- مرحله 6: سایر اقدامات Bell Push
تصویری: فشار و سنسور دما: 6 قدم
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:54
این یک زنگ درب سیمی استاندارد با یک ماژول esp-12F (esp8266) را تقویت می کند.
برای جلوگیری از هرگونه تغییر در سیم کشی ، خود در واحد زنگ نصب می شود. توابع زیر را ارائه می دهد
- زنگ درها را تشخیص دهید
- اعلان ها را از طریق IFTTT به تلفن ارسال می کند
- فعالیت زنگ در را در سرور easyIOT ذخیره می کند (اختیاری)
-
هنگامی که زنگ در به صدا در می آید ، سایر فعالیت ها را از طریق URL فعال کنید
من یک عکس فوری روی یک وب کم درب پشتی می گیرم و می توانم ضبط های اخیر زنگ در تلفن خود را مشاهده کنم
- سنسور دمای تعبیه شده اختیاری (DS18B20) که بخشی از نظارت دمای خانه من را تشکیل می دهد
مرحله 1: سخت افزار و مواد
مواد زیر مورد نیاز است
- ماژول wifi / cpu ESP-12F (ESP8266)
- مبدل DC Buck برای منبع تغذیه 3.3 ولت
- دیود اصلاح کننده (به عنوان مثال 1N4001)
- خازن الکترولیتی 220uF 35V
- خازن الکترولیتی 220 ولت 16 ولت
- دیود زنر 3.3 یا 2.6 ولت
- مقاومت ها
- تکه تخته نواری
- در صورت نیاز اتصالات
- در صورت نیاز سنسور دمای دیجیتال DS18B20
شماتیک مدار مورد استفاده را نشان می دهد. این زنگ دارای ولتاژ پایین AC است که متداول ترین نوع زنگ ساده سیم کشی سخت است. واحد زنگ از یک ترانسفورماتور زنگ خارجی به طور معمول در حدود 10 ولت AC تغذیه می کند. این مهم نیست و تنها محدودیت حداکثر ولتاژ در مبدل باک است. دستگاهی که من استفاده می کنم MP2307 است که حداکثر ورودی آن 23 ولت DC (~ 16 ولت AC) است.
به طور معمول 3 پایانه فعال وجود دارد. با فشار دادن زنگ ، اتصال را از یک طرف منبع تغذیه AC به شیر برقی متصل کنید. ماژول از دو پایانه AC برای تولید برق DC از طریق یکسو کننده ساده نیمه موج استفاده می کند. سنجش فشار زنگ با نظارت بر ولتاژ بر روی شیر برقی واقعی انجام می شود. این معمولاً زمین می شود ، اما وقتی زنگ فعال می شود AC کامل است. یک دیود مقاومت / زنر این را می گیرد بنابراین یک پالس 0 - 3.3V 50 هرتز به یک پین GPIO وارد می شود. نرم افزار این را پردازش می کند تا در هر فشار زنگ یک فعال سازی واحد ارائه دهد.
من مدار را روی کمی تخته نوار ساختم و این اندازه آنقدر کوچک است که به راحتی در واحد زنگ قرار می گیرد. من از اتصال دهنده های بلوز ساده استفاده می کنم تا نصب و راه اندازی آن آسان تر شود و به طور خاص مطابق با منبع تغذیه AC اصلی تنظیم شود تا در صورت لزوم به راحتی بتوان آن را دوباره تنظیم کرد.
شماتیک مطابق شکل شامل یک سنسور دما DS18B20 است. این اختیاری است. من از آن به عنوان بخشی از شبکه ای که بیشتر مناطق خانه خود را رصد می کند ، استفاده می کنم. در صورت وجود ، خوب است که سنسور را با چند سانتی متر کابل کابل بزنید تا از هرگونه اثر حرارت محلی جدا شود.
مرحله 2: نرم افزار
واحد فشار درب از طرح آردوینو موجود در github استفاده می کند
این باید متناسب با شرایط محلی تنظیم شود و سپس در محیط esp8266 Arduino کامپایل شود. کتابخانه های زیر مورد نیاز است ، آنها استاندارد هستند یا می توانند اضافه شوند.
- ESP8266WiFi
- WifiClient
- ESP8266WebServer
- ESP8266mDNS
- ESP8266HTTP سرور به روز رسانی
- آردوینوجسون
- WifiClientSecure
- IFTTTMaker
- DNSServer
- WiFiManager (استفاده اختیاری)
- OneWire
- دما دالاس
موارد موجود در طرح قابل تغییر عبارتند از:
- در صورت عدم استفاده از WifiManager ، جزئیات دسترسی فای محلی (ssid ، گذرواژه)
- کد مجوز برای دسترسی به وب AP_AUTHID. خوب است که این طول مناسب باشد. این می تواند شامل کاراکترهای عددی باشد.
- سیستم عامل رمز عبور OTA update_password
-
رمز WifiManager WM_PASSWORD
Wifi را می توان به صورت دستی با نظر دادن در مورد WM_NAME راه اندازی کرد
- کلید سازنده IFTTT (مرحله اطلاع رسانی را ببینید)
تغییرات اختیاری شامل
- تغییر پین ورودی برای آشکارساز زنگ در
- تعویض پین سنسور دما
- تغییر پورت دسترسی به وب از پیش فرض 80
پس از انجام این کار ، ابتدا باید با استفاده از بارگذاری سریال معمولی کامپایل و بارگذاری شود. به روز رسانی بعدی ممکن است با کامپایل یک فایل باینری صادراتی در محیط آردوینو و سپس دسترسی به رابط OTA در ip/firmware انجام شود.
فشار زنگ در در نرم افزار با قطع لبه بالا آمدن اولین پالس از مدار آشکارساز تشخیص داده می شود. تمام وقفه های بعدی نادیده گرفته می شود. برای فعال سازی مجدد آشکارساز پس از BELL_MIN_INTERVAL که روی 10 ثانیه تنظیم شده است ، از تایم اوت استفاده می شود.
سایر فعالیتها ممکن است در وب سرور esp8266 قابل دسترسی باشد
- IP/اخیر فعالیت زنگ درب اخیر را نشان می دهد
- ip/reloadConfig بارگیری مجدد espConfig
- ip/bellPush فشار زنگ را شبیه سازی می کند
مرحله 3: پیکربندی
همانطور که ساخته شد ، نرم افزار پیکربندی خود را از یک سرور وب محلی دریافت می کند. ماژول داده های پیکربندی را بر اساس آدرس Mac خود بارگذاری می کند. این باعث می شود که چندین ماژول با استفاده از یک باینری یکسان اجرا شود و همچنین به روزرسانی پیکربندی بدون کامپایل مجدد آسان تر می شود. می توان این مورد را رد کرد و داده های پیکربندی را مستقیماً در کد قرار داد.
من فایل پیکربندی را در سرور EasyIOT خود ذخیره می کنم که دارای پوشه ای در easyIOT/html است که در آن فایل پیکربندی به راحتی بازیابی می شود.
این فایل espConfig نام دارد و یک فایل متنی ساده است که تعدادی پارامتر (12) را برای هر آدرس ممکن Mac ذخیره می کند. یک ماژول فقط پارامترهای تعیین شده برای آدرس Mac خود را بارگیری می کند.
یک مثال از فایل است
#سالن
#آدرس مک 123456ABCDEF
نام #ماژول
esp8266-hall
#ماسک حالت سرور (1 = حس دما ، 4 = حالت بویلر ، 4 = زنگ درب)
9
گره #EIOT برای دما
N9S0
#استفاده نشده
-1
# حداقل فاصله دما در ثانیه
60
#حداکثر فاصله دما در ثانیه
300
فاصله برق #دیگ بخار
0
#گره برق دیگ بخار #EasyIOT
-1
گره فشار زنگ #EasyIOT
N10S0
# ارزش IFTTT را اطلاع دهید
جلو
#IFTTT نام رویداد را اطلاع دهید
زنگ درب
آدرس URL #اقدام
192.168.0.2/snap.php
هر سطری که با # شروع می شود نادیده گرفته می شود. همه خطوط باید وجود داشته باشد. -1 برای پارامترهای نادیده گرفته شده استفاده می شود.
هنگامی که ماژول برای اولین بار راه اندازی می شود ، فایل پیکربندی خوانده می شود. همچنین ممکن است با دسترسی به ip/reloadConfig در سیستم در حال اجرا (هنگامی که پیکربندی تغییر کرده است) بارگیری شود
بخش حالت دیگ بخار پیکربندی در اینجا مناسب نیست ، اما در سنسورهای دمای من متصل به خروجی لوله مرکزی گرمای مورد استفاده قرار می گیرد ، زیرا تشخیص می دهد که دیگ بخار در حال گرم شدن است و می تواند متوسط مصرف برق را محاسبه کند.
مرحله 4: اعلان ها
هنگامی که فشار زنگ در تشخیص داده می شود ، سعی می کند توسط IFTTT یا PushOver به آن اطلاع دهد. من اکنون PushOver را به عنوان پاسخ سریعتر می دهم.
برای IFTTT شما نیاز به یک حساب کاربری دارید و کانال Maker WebHoooks را فعال کنید. MakerKey از این کانال باید در کد کامپایل شود.
یک اقدام IF با استفاده از Maker WebHooks تنظیم کنید و از نام رویدادی با همان نام پیکربندی (به عنوان مثال زنگ در) استفاده کنید. عمل THEN باید اعلان IFTTT باشد. شما می توانید مقدار 1 را به اعلان موجود در فایل پیکربندی اضافه کنید. اگر 2 یا بیشتر آشکارساز دارید ، این می تواند مفید باشد.
شما باید برنامه IFTTT را روی تلفن خود نصب کنید و در صورت فعال شدن زنگ در خانه اعلان ها ظاهر می شوند.
برای PushOver شما نیاز به یک حساب PushOver دارید و برای دریافت اعلان های API دستورالعمل ها را دنبال کنید. شما باید نشانه های NOTIFICATION_APP و NOTIFICATION_USER را در نرم افزار با مقادیر حساب PushOver خود تنظیم کنید.
برای دریافت اعلان ها ، باید برنامه PushOver را روی تلفن خود نصب کرده و هزینه کمی را یک بار پرداخت کنید. این به نظر من ارزش آن را دارد که پاسخ بسیار سریع تری را دریافت کنم.
مرحله 5: ادغام EasyIOT
این نرم افزار می تواند گزارشات دما و فشار Doorbell را به سرور EasyIOT ارسال کند. اتوماسیون EasyIOT ممکن است برای انجام اقدامات اضافی بر اساس این گزارش استفاده شود.
یک سرور EasyIOT (به عنوان مثال در Raspberry Pi) تنظیم کنید. آدرس IP و رمز عبور نام کاربری را در نرم افزار esp8266 پیکربندی کرده و کامپایل کنید.
اکنون در پیکربندی EASYIOT یک درایور مجازی اضافه کنید. ورودی آنالوگ دما را انتخاب کرده و به نام گره EasyIOT توجه کنید. این را باید در قسمت گره دما در بخش espConfig قرار دهید.
درایور مجازی دوم را اضافه کنید. ورودی دیجیتال Door را انتخاب کنید ، نام گره را یادداشت کرده و در فایل espConfig قرار دهید.
مرحله 6: سایر اقدامات Bell Push
این نرم افزار دارای روال معمول به نام actionBellOn است. همانطور که نوشته شده است می تواند 3 کار انجام دهد
- IFTTT اطلاع دهید
- گزارش EasyIOT
- URL یک اقدام را انجام دهید
URL می تواند برای ایجاد فعالیت دیگر از سرورهای وب دیگر استفاده شود. URL استفاده شده در فایل espConfig است.
اگر سرور آدرس اینترنتی تأیید شده است ، نام کاربری و رمز عبور باید پیکربندی و در کد کامپایل شود.
من از این برای دسترسی به URL به نام snap.php در دوربینی که در کنار آن است استفاده می کنم. هنگامی که زنگ فشار داده می شود ، یک-j.webp
من از دوربین های رزبری پای استفاده می کنم که این عمل را بسیار آسان می کند. دوربین
توصیه شده:
آموزش سنسور فشار و دما Arduino AMS5812_0050-D-B: 4 مرحله
Arduino AMS5812_0050-D-B آموزش سنسور فشار و دما: سنسور فشار تقویت شده AMS5812 با خروجی های آنالوگ و دیجیتال یک سنسور با دقت بالا با خروجی ولتاژ آنالوگ و رابط دیجیتال I2C است. این یک عنصر سنجش مقاومت پیزو با یک عنصر تهویه سیگنال را برای عملکرد خود ترکیب می کند
Atollic TrueStudio-LED را با فشار دادن دکمه فشار با استفاده از STM32L100 روشن کنید: 4 مرحله
Atollic TrueStudio-LED را با فشردن دکمه با استفاده از STM32L100 روشن کنید: در این آموزش STM32 قصد دارم نحوه خواندن پین GPIO STM32L100 را به شما بگویم ، بنابراین در اینجا فقط یک لامپ LED را درخشان می کنم فشار دادن دکمه فشاری
خواندن دما با استفاده از سنسور دما LM35 با آردوینو Uno: 4 مرحله
خواندن دما با استفاده از سنسور دما LM35 با Arduino Uno: سلام بچه ها در این دستورالعمل نحوه استفاده از LM35 با آردوینو را یاد می گیریم. Lm35 یک سنسور دما است که می تواند مقادیر دما را از 55- تا 150 درجه سانتیگراد بخواند. این دستگاه 3 ترمینال است که ولتاژ آنالوگ متناسب با دما را فراهم می کند. بلند
ESP8266 NodeMCU Access Point (AP) برای وب سرور با سنسور دما DT11 و دما و رطوبت چاپ در مرورگر: 5 مرحله
ESP8266 NodeMCU Access Point (AP) برای وب سرور با سنسور دما DT11 و دما و رطوبت چاپ در مرورگر: سلام بچه ها در اکثر پروژه هایی که از ESP8266 استفاده می کنیم و در اکثر پروژه ها از ESP8266 به عنوان وب سرور استفاده می کنیم تا داده ها قابل دسترسی باشند هر دستگاهی از طریق wifi با دسترسی به سرور وب میزبانی شده توسط ESP8266 اما تنها مشکل این است که ما به یک روتر کار برای
سه فشار فشار - خاموش فشار مدارهای اتصال: 3 مرحله
سه Push ON-Push OFF Latching Circuits: فلیپ فلاپ یا لچ مداری است که دارای دو حالت پایدار است و می توان از آن برای ذخیره اطلاعات حالت استفاده کرد. مدار را می توان با اعمال سیگنال (در این مورد ، با فشار دادن یک دکمه) تغییر حالت داد. در اینجا ، من سه روش مختلف برای نشان دادن