سیستم اتوماسیون خانگی می‌تواند دما، رطوبت نسبی، شدت نور را اندازه‌گیری کرده و دو مورد از تجهیزات الکتریکی را در بستر Cayenne IoT (اینترنت اشیا) کنترل کند. این دو مورد از تجهیزات الکتریکی می‌توانند یک لامپ و یک فن سقفی یا هر وسیله الکتریکی دیگری باشند. نمونه اولیه نویسنده در شکل 1 نشان داده شده است.

شکل 1: نمونه اولیه نویسنده

اینترنت اشیا چیست؟

همانطور که در شکل 2 نشان داده شده است، یک سیستم اینترنت اشیا دارای برخی از اجزای اساسی مانند سنسورها، محرک‌ها، سیستم تعبیه شده، پیوند شبکه، رابط کاربری و ذخیره‌سازی داده‌های بزرگ است.

شکل 2: اجزای اساسی یک سیستم اینترنت اشیا

حسگرها و محرک ها

در این پروژه از دو حسگر استفاده شده است. یکی مقاومت وابسته به نور (LDR) برای احساس شدت نور محیط است و دیگری سنسور دما و رطوبت نسبی DHT11 است.

رله‌های متصل به پایه‌های خروجی در اینجا به عنوان محرک استفاده می‌شوند. بارهای الکتریکی مانند چراغ‌ها و فن‌ها به مخاطبین رله‌ها متصل می‌شوند که از راه دور از طریق رابط وب یا برنامه تلفن همراه کنترل می‌شوند.

سیستم جاسازی شده

ماژول Wi-Fi ESP8266 (NodeMCU) که در اینجا استفاده می‌شود یک کنترل‌کننده جاسازی شده است که برای مدیریت داده‌های آنالوگ یا دیجیتال دریافتی از سنسورها و انتقال از طریق اینترنت برای آردوینو برنامه‌ریزی شده است. در همان زمان، دستورات وب را می‌پذیرد و بر این اساس دستگاه‌های متصل یا محرک‌ها را فعال می‌کند.

پیوند شبکه

اینترنت به عنوان پیوند شبکه برای اتصال سیستم تعبیه شده به دنیای خارج کار می‌کند.

رابط کاربری

بستر Cayenne از پروتکل Message Queue Telemetry Transport (MQTT) برای ارتباطات پشتیبانی می‌کند. پروتکل MQTT یک پروتکل پیام‌رسانی سبک برای استفاده از پروتکل TCP / IP است. برای دستگاه‌های کم مصرف که با پهنای باند کم کار می‌کنند طراحی شده است.

پلتفرم Cayenne دارای یک ویژگی کشیدن و رها کردن ساده است که در عرض چند دقیقه داشبورد ایجاد می‌کند. این باعث صرفه‌جویی در وقت و تلاش برای برنامه‌نویسی رابط کاربر می‌شود.

اطلاعات بزرگ

این نیز توسط سیستم عامل Cayenne مدیریت می‌شود. Big Data اساساً داده‌های عظیمی است که از همه دستگاه‌های متصل جمع‌آوری می‌شود، جایی که نوع داده از دستگاه به دستگاه دیگر متفاوت است و جریان داده با سرعت بسیار بالایی است. به عنوان مثال، فیسبوک روزانه بیش از 600 ترابایت داده از پست‌های مختلف (تصویر یا ویدیو)، پیام‌های متنی، پسندیدن و غیره دریافت می‌کند.

مدار wifi خانگی و طرز کار آن

نمودار مدار سیستم اتوماسیون خانگی مبتنی بر ESP8266 در شکل 3 نشان داده شده است. این سیستم در اطراف NodeMCU (ESP8266)، یک سنسور LDR ، DHT11، اپتو کوپلر 4N33 (IC2 به IC3)، دو رله (RL1 و RL2) و چند م otherلفه دیگر می‌باشد.

شکل 3: نمودار مدار سیستم اتوماسیون خانگی مبتنی بر ESP8266

این مدار دارای دو کانال ورودی است – ورودی آنالوگ برای اندازه‌گیری شدت نور از طریق LDR1 و ورودی دیجیتال برای خواندن مقادیر دما و رطوبت نسبی از طریق DHT11. برای اندازه‌گیری دامنه وسیع‌تر دما و رطوبت، DHT11 را با DHT22 جایگزین کنید و سپس DHT11 را با DHT22 در کد منبع جایگزین کنید. جدول مقایسه اساسی بین DHT11 و DHT22 را نشان می‌دهد. مشخصات باقیمانده، از جمله پیکربندی پین، یکسان است.

مدار از طریق منبع تغذیه 12 ولت DC تأمین می‌شود، زیرا برای راه‌اندازی رله‌های 12 ولت نیاز به مدار دارد. خروجی 5 ولت از تنظیم کننده 7805 از ورودی 12 ولت برای تغذیه ماژول NodeMCU ESP8266 حاصل می‌شود.

NodeMCU V1.0 (ESP8266 ESP-12) دارای 11 پایه GPIO و یک پایه ورودی ADC با وضوح 10 بیتی است. شکل 4 جزئیات پین ماژول NodeMCU را نشان می‌دهد. این دستگاه دارای تنظیم‌کننده ولتاژ داخلی 3.3 ولت و مبدل USB به سریال مبتنی بر CP2102 است که برای بارگذاری کد آردوینو در NodeMCU رابط کاربری آسان با رایانه را فراهم می‌کند.

شکل 4: جزئیات پین ماژول NodeMCU

NodeMCU دارای یک هدر 30 پین (2 × 15) مردانه است. اجزای اطراف آن بر روی یک PCB عمومی یا با طرح PCB طراحی شده سیم‌کشی می‌شوند.

از LDR (LDR1) برای احساس شدت نور اطراف خود استفاده می‌شود که به صورت درصد روی داشبورد کاین نمایش داده می‌شود. برای خواندن ولتاژ آنالوگ تولید شده بر اساس نور محیط، به پین A0 ماژول NodeMCU متصل می‌شود.

سنسور DHT11 برای خواندن دمای محیط و رطوبت نسبی از طریق پین ورودی و خروجی دیجیتال D5 (GPIO14) استفاده می‌شود. این سنسور می‌تواند داده‌ها را از نظر دما و رطوبت نسبی تقسیم کرده و آنها را یک باره از طریق همان پایه خروجی ارسال کند.

دو رله 12 ولت توسط دو ترانزیستور BC547 از طریق مقره‌های نوری MCT2E / 4N33 هدایت می‌شوند. هر رله می‌تواند بار AC / DC را از طریق هدرهای ترمینال متصل به خود هدایت کند.

نرم افزار اتوماسیون خانگی

این نرم‌افزار (ESP8266_HA.ino) به زبان برنامه‌نویسی آردوینو نوشته شده است، که نوشتن کد را در چند خط امکان‌پذیر می‌کند. این برنامه باعث می‌شود دستگاه هنگام اتصال به اینترنت از طریق نقطه دسترسی یا روتر Wi-Fi، با پلتفرم Cayenne ارتباط برقرار کند.

برای افزودن صفحه برای ESP8266 در Arduino IDE، به File Preferences بروید و پیوند را در URL های مدیر اضافی Board بچسبانید.

مدیر منو را از منوی Tools ®Board باز کرده و بستر esp8266 را نصب کنید. (فراموش نکنید که بعد از نصب صفحه ESP8266 خود را از فهرست Tools®Board انتخاب کنید.)

برای برنامه‌نویسی ماژول NodeMCU، سه هویت منحصر به فرد از وب سایت Cayenne مورد نیاز است، یعنی، نام کاربری MQTT، رمز عبور MQTT و شناسه مشتری. وقتی دستگاه به شبکه متصل است، این شناسه‌ها به وب سایت Cayenne کمک می‌کنند تا دستگاه را پیدا کند و با آن ارتباط برقرار کند.

شناسه‌های دیگر مورد نیاز SSID Wi-Fi و رمز عبور شما هستند، در صورت وجود، برای اتصال به شبکه محلی Wi-Fi.

قبل از کامپایل و بارگذاری کد در ماژول NodeMCU، کتابخانه‌های زیر را به شرح زیر در Arduino IDE نصب کنید.

کتابخانه Cayenne-MQTT-ESP8266

این به NodeMCU اجازه می‌دهد تا با دستگاه‌های موجود در بستر Cayenne ارتباط برقرار کند.

کتابخانه DHT

این اجازه می‌دهد تا سنسور DHT11 با NodeMCU ارتباط برقرار کند. در Unified under Library Manager جستجو کرده و Adafruit Unified Sensor را نصب کنید. برای افزودن دو کتابخانه فوق به Arduino IDE، به Sketch®Include Library®Add .ZIP Library بروید the فایل‌ها را پیدا کرده و نصب کنید.

متناوباً، می‌توانید مستقیماً این کتابخانه‌ها را در پوشه Arduino / Library از Arduino IDE بارگیری و کپی کنید. کتابخانه‌ها را از این پیوندها بارگیری کنید: پیوند 1 و پیوند 2.

ساخت اتوماسیون خانگی با Wifi

طرح PCB برای سیستم اتوماسیون خانگی مبتنی بر ESP8266 در شکل 5 و طرح اجزای آن در شکل 6 نشان داده شده است. اجزای موجود در PCB را طبق نمودار مدار جمع کنید. CON2-CON5 در PCB نشان داده نشده است (از خارج قابل اتصال است).

شکل 5: طرح PCB سیستم اتوماسیون خانگی مبتنی بر ESP8266
شکل 6: طرح قطعات برای PCB

PDF های چیدمان PCB و کامپوننت را بارگیری کنید:  اینجا را کلیک کنید

ساخت داشبورد روی پلتفرم Cayenne IoT در اتوماسیون خانگی

وب سایت را باز کنید و از طریق دکمه ثبت نام رایگان در بالا سمت راست یک حساب ایجاد کنید. بر روی Bring Your Own Thing کلیک کنید. در صفحه بعدی سه رشته منحصر به فرد وجود دارد: نام کاربری MQTT، رمز عبور MQTT و شناسه مشتری.

این رشته‌ها را کپی کرده و در قسمت‌های مناسب در کد آردوینو (ESP8266_HA.ino) جای گذاری کنید. سپس، کد را از طریق کابل USB در ماژول NodeMCU بارگیری کنید. مدتی در این صفحه منتظر بمانید تا با دستگاه موجود در شبکه ارتباط برقرار کنید.

پس از اتصال ماژول به Wi-Fi ، صفحه وب به صفحه بعدی منتقل می‌شود. در اینجا، نام منحصر به فردی به دستگاه شما داده خواهد شد که می‌تواند از طریق تنظیمات در بالا سمت راست تغییر کند. صفحه‌ای را خواهید دید که در شکل 7 نشان داده شده است.

شکل 7: نمای کلی کانال‌ها

بر روی علامت مثبت (+) بر روی هر نماد کانال کلیک کنید تا کانال را به داشبورد خود اضافه کنید. شما نام کانال‌های اضافه شده را در سمت چپ در زیر صفحه Add New (همانطور که در شکل 8 نشان داده شده است) دریافت خواهید کرد.

شکل 8: کانال‌ها در صفحه افزودن جدید
شکل 9: تنظیمات کانال 0

روی تنظیمات کانال 0 کلیک کنید و نام ویجت آن را به مثلا Luminosity تغییر دهید. بر روی Choose Icon کلیک کنید، Luminosity را انتخاب کنید و بر روی Save کلیک کنید. نماد تغییر خواهد کرد همانطور که در شکل 10 نشان داده شده است. این نور در حدود LDR را بر حسب درصد نشان می‌دهد.

شکل 10: داشبورد کانال 0

به همین ترتیب، نام کانال 1 را به عنوان دما و کانال 2 را به عنوان رطوبت تغییر دهید. تنظیمات مورد نیاز را همانطور که در کانال 0 ذکر شده انجام دهید. اکنون برای پیکربندی دکمه‌های کنترل دو رله، به کانال 3 و 4 بروید. به تنظیمات کانال‌های 3 و 4 بروید و با استفاده از دکمه حذف این موارد را حذف کنید.

اکنون، روی افزودن ابزارک جدید دستگاه کلیک کنید. دکمه Custom Widgets® را انتخاب کنید. داده‌های مورد نیاز برای بار 1 را مانند شکل 11 پر کنید. بر روی Add Widget کلیک کنید. به همین ترتیب، تنظیمات بارگذاری برای کانال 4 را تکرار کنید.

شکل 11: تنظیمات کانال 3 برای روشن یا خاموش کردن بار 1 از طریق RL1

داشبورد نهایی در شکل 12 نشان داده شده است. اکنون شما آماده کنترل دو رله متصل به کانال 3 و 4 هستید. همچنین می‌توانید میزان روشنایی، دما و رطوبت مکانی را که دستگاه‌های شما در آن قرار دارند را کنترل کنید.

شکل 12: داشبورد نهایی پروژه بر روی پلتفرم Cayenne IoT

برنامه Cayenne را از فروشگاه Google Play بارگیری کنید و با استفاده از همان اعتبارنامه وارد سیستم شوید تا کنترل پارامترهای فوق را از هرجای اینترنت آغاز کنید.

پوشه منبع را بارگیری کنید:  اینجا را کلیک کنید