فهرست مطالب:

فشار و سنسور دما: 6 قدم
فشار و سنسور دما: 6 قدم

تصویری: فشار و سنسور دما: 6 قدم

تصویری: فشار و سنسور دما: 6 قدم
تصویری: مپ سنسور (سنسور فشار هوای منیفولد) 2024, جولای
Anonim
سنسور دما و فشار زنگ درب
سنسور دما و فشار زنگ درب

این یک زنگ درب سیمی استاندارد با یک ماژول 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

من از دوربین های رزبری پای استفاده می کنم که این عمل را بسیار آسان می کند. دوربین

توصیه شده: