دربارهی پروژه
در این پروژه، یک سیستم جامع خانه هوشمند مبتنی بر بردهای میکروکنترلر طراحی و پیادهسازی شد که اطلاعات محیطی و امنیتی خانه را بهصورت لحظهای به برنامه موبایل صاحبخانه ارسال میکند.
معماری سیستم شامل سه گره مجزا بود: گره ورودی خانه، گره باغچه و گره دوربین؛ هر گره دربرگیرنده حسگرها و عملگرها بود و همگی از طریق شبکه بیسیم با برنامه موبایل ارتباط برقرار میکردند. در گره ورودی، حسگر تشخیص نور سطح روشنایی محیط را پایش کرده و بر اساس فرمولی از پیش تعیینشده، دستور تنظیم روشنایی را صادر و رویدادها را به کاربر اطلاعرسانی میکند. همچنین، خواننده RFID شناسه (UID) ورودیها را ثبت و هر ورود یا خروج را گزارش میدهد. همان گره با استفاده از حسگر اولتراسونیک حضور اشخاص یا اجسام نزدیک به درب ورودی را تشخیص داده و اعلان امنیتی مناسب ارسال میکند.
در گره باغچه، سیستم آبیاری خودکار با یک پمپ زمانبندیشده اجرا میشود و حسگرهای دما و رطوبت وضعیت محیط کشت را پایش میکنند تا بر اساس دادهها، عملگرهای مربوطه فعال شده یا هشدارهای لازم صادر شوند. گره دوربین نیز وظیفه ثبت و ارسال ویدیوی محیط را بر عهده دارد تا کاربر بتواند وضعیت فضای تحت نظارت را بهصورت تصویری مشاهده کند.
تمامی ماژولها بهصورت یکپارچه سختافزاری و نرمافزاری برنامهریزی شدهاند؛ نرمافزار شامل جمعآوری داده از حسگرها، پردازش اولیه (فیلترینگ، تشخیص رویداد بر اساس آستانهها) و ارسال داده امن به برنامه است. برنامه موبایل نیز از صفر توسعه داده شد و امکاناتی شامل نمایش ترتیب دادهها، دریافت اعلانهای امنیتی و محیطی، مشاهده ویدیوی زنده و ارسال دستورات مختلف به گرهها را فراهم میآورد. فرآیند توسعه شامل طراحی مدار و اتصالات، نگارش فریمور مناسب، توسعه رابط کاربری موبایل و تستهای یکپارچهسازی و کارایی بود.
در فاز تست، عملکرد هر حسگر و ماژول بهصورت جداگانه و همچنین در سناریوهای ترکیبی مورد ارزیابی قرار گرفت. نتایج نشان داد که سیستم در شناسایی رویدادهای حضور، ثبت و گزارش UIDهای RFID، تنظیم روشنایی بر اساس سطح نور، اجرای آبیاری زمانبندیشده و ارسال دادههای ویدیویی بهطور قابلاعتمادی عمل میکند. با این حال، گره دوربین به دلیل عدم وجود درایور بهروز و سازگار با سختافزار موجود، عملیاتی نشد. همچنین تأخیرهای ارتباطی و مصرف انرژی در شرایط عملیاتی اندازهگیری شده و پارامترهای نرمافزاری بهمنظور بهینهسازی پاسخدهی و کارایی اصلاح شدند.
در نهایت، طرح ارائهشده راهکاری ارزان، توسعهپذیر و کاربردی برای مدیریت هوشمند خانه و محیطهای کوچک روستایی یا شهری فراهم میآورد و میتواند پایهای برای توسعههای بعدی باشد.
اهداف پروژه
هدف اصلی این پروژه، طراحی، پیادهسازی و ارزیابی یک سیستم جامع خانه هوشمند عملی و قابلگسترش است که بر پایه Wi-Fi و معماری اینترنت اشیا (IoT) طراحی شده و با ترکیب سیستمهای کنترلی، خدمات پایش، اعلانهای امنیتی و کنترل خودکار، اطلاعات را بهصورت بلادرنگ به برنامه موبایل ارائه میدهد.
اهداف جزئی پروژه عبارتاند از:
* پیادهسازی گرههای مبتنی بر میکروکنترلر برای جمعآوری داده از حسگرها و هدایت عملگرها و انجام پردازش اولیه دادهها، شامل فیلترینگ و تشخیص رویداد، با هدف تضمین عملکرد قابلاعتماد محلی.
* فراهمسازی مکانیزمهای حسگری و کنترلی شامل:
* اندازهگیری سطح نور و کنترل روشنایی همراه با اطلاعرسانی به کاربر؛ * امکان ارسال دستور به گره ورودی برای روشن یا خاموش کردن سیستم روشنایی بهصورت خودکار؛ * خواندن UID تگهای RFID و گزارش رویدادهای ورود و خروج؛ * تشخیص حضور افراد یا اجسام نزدیک درب با استفاده از حسگر اولتراسونیک و تولید اعلانهای امنیتی؛ * کنترل آبیاری باغچه با استفاده از پمپ زمانبندیشده و پایش دما، رطوبت و کیفیت هوا با حسگرهای مربوطه؛ * امکان ارسال دستور به گره باغچه برای روشن یا خاموش کردن سیستم آبیاری؛ * ارسال جریان ویدیویی زنده از ماژول دوربین به برنامه موبایل.
* طراحی و توسعه برنامه موبایل از صفر برای نمایش دادههای لحظهای، دریافت اعلانها، مشاهده ویدیوی زنده و کنترل دستی یا خودکار عملگرها.
* پیادهسازی یک ساختار ارتباطی کارآمد و امن مبتنی بر Wi-Fi و پروتکلهای مناسب IoT، همراه با مکانیزمهای کاهش مصرف انرژی مانند زمانبندی، حالت خواب و بیداری و پردازش لبهای، همچنین جداسازی ترافیک برای بهبود کیفیت سرویس (QoS).
* آزمایش و ارزیابی عملکرد سیستم از نظر صحت دادههای حسگرها، قابلیت اطمینان ارتباطات، تأخیر، مصرف انرژی و کارایی کلی و همچنین شناسایی و رفع مشکلاتی مانند تداخل، تأخیر و محدودیت منابع.
* ارائه یک راهکار کمهزینه، مقیاسپذیر و امن با قابلیت توسعه در بلندمدت و امکان افزودن قابلیتهایی مانند تحلیل داده، یادگیری لبهای و امکانات پیشرفتهتر امنیتی.
نتیجه مطلوب پروژه، دستیابی به یک سامانه عملی و آزمایششده است که با حفظ الزامات عملکردی و امنیتی، تجربه کاربر را بهبود داده و عملیات روزمره مانند روشنایی و آبیاری را بهصورت خودکار مدیریت میکند و میتواند بهعنوان پایهای برای توسعه قابلیتهای بیشتر در آینده مورد استفاده قرار گیرد.
چالشها
در طول اجرای پروژه، چالشهای مختلفی در بخش سختافزار و نرمافزار وجود داشت. یکی از مهمترین چالشها، دسترسی محدود به تراشهها و ماژولهای اصلی ESP32 در بازار ایران بود که انتخاب و تهیه سختافزار مناسب را با دشواری همراه میکرد. همچنین اتصال و هماهنگسازی ماژولها و حسگرهای مختلف با میکروکنترلر، بهخصوص در بخش ارتباطات و تغذیه، نیازمند بررسی و آزمونهای متعدد بود.
در بخش نرمافزار نیز منسوخ شدن یا عدم پشتیبانی از برخی کتابخانهها و تغییر API آنها باعث بروز مشکلاتی در پیادهسازی و سازگاری کدها شد. علاوه بر این، وجود تفاوت در نسخه کتابخانهها، درایورها و سختافزارهای موجود، فرآیند عیبیابی و تست سیستم را پیچیدهتر کرد. با وجود این چالشها، با بررسی منابع مختلف، جایگزین کردن کتابخانههای مناسب و انجام تستهای مرحلهای، بخش عمده مشکلات برطرف و سیستم به شکل قابلقبولی پیادهسازی شد.
راهکار ما
برای مقابله با چالشهای پروژه، در بخش سختافزار ابتدا ماژولهای موجود در بازار از نظر اصالت، کیفیت و سازگاری با پروژه بررسی و نمونه مناسب انتخاب شد. برای مشکلات مربوط به اتصال و هماهنگی ماژولها نیز، هر بخش بهصورت جداگانه تست و پس از اطمینان از عملکرد صحیح، به سیستم اصلی اضافه شد تا خطاها راحتتر شناسایی و برطرف شوند.
در بخش نرمافزار، برای مواجهه با منسوخ شدن برخی کتابخانهها و تغییر API آنها، نسخههای سازگار کتابخانهها بررسی و در صورت نیاز از کتابخانههای جایگزین و بهروز استفاده شد. همچنین با بررسی مستندات رسمی و منابع فنی، مشکلات مربوط به درایورها و سازگاری نرمافزاری برطرف شد. در نهایت، تست مرحلهای سختافزار و نرمافزار و یکپارچهسازی تدریجی ماژولها باعث شد مشکلات سیستم با دقت بیشتری شناسایی شده و عملکرد نهایی پروژه بهبود پیدا کند.
ویژگیها و امکانات
- پیادهسازی سه گره هوشمند مبتنی بر ESP32
- ارتباط بیسیم گرهها با برنامه موبایل از طریق Wi-Fi
- پایش و کنترل هوشمند روشنایی محیط
- شناسایی ورود و خروج با فناوری RFID و ثبت UID
- تشخیص حضور و اجسام نزدیک ورودی با حسگر اولتراسونیک
- پایش دما، رطوبت و کیفیت هوای محیط
- کنترل خودکار و زمانبندیشده سیستم آبیاری باغچه
- ارسال و نمایش رخدادهای محیطی و امنیتی در برنامه موبایل
- توسعه برنامه موبایل با Flutter و ایفای نقش ایستگاه پایه
- ارسال دستورات کنترلی از برنامه موبایل به گرهها
- انتقال دادههای تصویری از گره دوربین به برنامه موبایل
- استفاده از پردازش اولیه و تشخیص رخداد در گرههای محلی
- طراحی پروتکل سفارشی برای انتقال و بازسازی فریمهای دوربین
- یکپارچهسازی سختافزار، نرمافزار و ارتباطات در قالب یک سامانه واحد
- قابلیت توسعه سیستم برای افزودن امکانات و قابلیتهای جدید در آینده
فرایند اجرا
فرآیند اجرای پروژه بهصورت مرحلهای و با هدف پیادهسازی و یکپارچهسازی بخشهای سختافزاری و نرمافزاری انجام شد. ابتدا معماری کلی سیستم شامل سه گره ورودی، باغچه و دوربین طراحی و وظایف هر گره مشخص شد. برای هر گره، میکروکنترلر ESP32-WROOM-32 بهعنوان هسته پردازشی در نظر گرفته شد و حسگرها و عملگرهای موردنیاز به آن متصل شدند.
در ادامه، برنامه هر گره با استفاده از اکوسیستم Arduino توسعه داده شد. گره ورودی برای اندازهگیری نور، شناسایی تگهای RFID و تشخیص حضور یا اجسام نزدیک درب، و گره باغچه برای پایش دما، رطوبت و کیفیت هوا و کنترل پمپ آبیاری پیکربندی شدند. همچنین گره دوربین برای دریافت دادههای تصویری و انتقال آنها از طریق شبکه بیسیم در نظر گرفته شد.
پس از آمادهسازی گرهها، ارتباط آنها با برنامه موبایل از طریق Wi-Fi و پروتکل UDP پیادهسازی شد. هر گره پس از اتصال به شبکه، وضعیت عملیاتی خود را به ایستگاه پایه اعلام کرده و دادهها و رخدادهای جمعآوریشده را ارسال میکرد.
در مرحله بعد، برنامه موبایل با استفاده از Flutter از ابتدا توسعه داده شد. این برنامه علاوه بر ایجاد رابط کاربری، نقش ایستگاه پایه را نیز بر عهده داشت و وظیفه دریافت و نمایش رخدادها، نمایش اطلاعات حسگرها، دریافت دادههای تصویری و ارسال دستورات کنترلی به گرهها را انجام میداد.
برای انتقال تصاویر، به دلیل محدودیت اندازه بافر ارسال در ESP32 و ماهیت پروتکل UDP، یک پروتکل سفارشی در لایه کاربرد طراحی شد. در این روش، فریم دوربین به بخشهای کوچکتر تقسیم شده و پس از ارسال، در برنامه موبایل مجدداً در کنار یکدیگر قرار میگرفتند تا تصویر نهایی نمایش داده شود.
در نهایت، پس از تکمیل پیادهسازی، عملکرد اجزای مختلف سیستم بهصورت جداگانه و در قالب سناریوهای ترکیبی مورد آزمایش و ارزیابی قرار گرفت تا صحت عملکرد حسگرها، ارتباط میان گرهها، ارسال رخدادها، کنترل عملگرها و عملکرد کلی سامانه بررسی و بهینهسازی شود.
تکنولوژیها و ابزارها
پروژهای مشابه در ذهن دارید؟
اگر ایدهای دارید که مشابه این پروژه یا حتی بلندپروازانهتر است، تیم Novisoft آمادهی همراهی از تحلیل تا تحویل نهایی است.
