فهرست مطالب:

سنسور دما و رطوبت IoT WiFi قسمت: 8 اینترنت اشیا ، اتوماسیون خانگی: 9 مرحله
سنسور دما و رطوبت IoT WiFi قسمت: 8 اینترنت اشیا ، اتوماسیون خانگی: 9 مرحله

تصویری: سنسور دما و رطوبت IoT WiFi قسمت: 8 اینترنت اشیا ، اتوماسیون خانگی: 9 مرحله

تصویری: سنسور دما و رطوبت IoT WiFi قسمت: 8 اینترنت اشیا ، اتوماسیون خانگی: 9 مرحله
تصویری: ESP32 Tutorial 2 - What's ESP32, Camera Extension Board, unboxing SunFounder's ESP32 IoT Learnig kit 2024, نوامبر
Anonim
سنسور دما و رطوبت اینترنت اشیا WiFi قسمت: 8 اینترنت اشیا ، اتوماسیون خانگی
سنسور دما و رطوبت اینترنت اشیا WiFi قسمت: 8 اینترنت اشیا ، اتوماسیون خانگی

مقدمه

این مقاله مستحکم سازی عملی و توسعه بعدی دستورالعمل قبلی را مستند می کند: اولین دستگاه وای فای IoT خود را «دلال کنید». قسمت 4: اینترنت اشیاء ، اتوماسیون خانگی شامل تمام قابلیت های نرم افزاری لازم برای استقرار موفق در محیط خانه خانگی.

معرفی

همانطور که در بالا ذکر شد ، این دستورالعمل ترکیب یک نمونه اولیه اینترنت اشیاء با طراحی سیستم های قابل اطمینان را توضیح می دهد که امکان مدیریت موفقیت آمیز موارد کاربردی مانند: از دست دادن قدرت فاجعه بار ، خرابی کارگزار MQTT ، خرابی WiFi N/W ، پیکربندی مجدد سنسور از راه دور ، استراتژی گزارش دهی قابل تنظیم برای کاهش ترافیک شبکه و کالیبراسیون سنسور سفارشی.

در مجموع 6 دستگاه خاموش ایجاد شد (تصویر 1 بالا را ببینید) و در خانه من توزیع شدند تا اولین شبکه حسگر اینترنت اشیا را تشکیل دهند.

The Instructable همچنین مروری بر قرارداد نامگذاری MQTT دارد که در سری اولیه IoT Home Automation استفاده می شود و به یک ساختار متعادل تر و عملی تر اجازه می دهد تا اشکال زدایی ساده تری از ترافیک اینترنت اشیاء را در محیط چند دستگاه IoT انجام دهد.

آنچه در زیر آمده است جزئیات کامل طراحی سنسور اینترنت اشیا از جمله ؛ ساختار ، کد منبع ، استراتژی آزمایش و پیکربندی OpenHAB.

به چه قطعاتی نیاز دارم؟

  1. 1 تخفیف ESP8266-01 ،
  2. 2 خازن الکترولیتی 1uF ،
  3. 3 مقاومت 10K ،
  4. 1 مقاومت 330R ،
  5. 1 عدد قطر 3 میلی متر رهبری،
  6. 1 خاموش LD1117-33v ، 3v3 LDO VReg. (اینجا فارنل) ،
  7. 1 عدد سنسور دما/رطوبت DHT22 ،
  8. 1 عدد اتصال 4 طرفه 0.1 اینچی ،
  9. 1 عدد محفظه پلاستیکی CAMDENBOSS RX2008/S-5 ، جعبه گلدان ، ABS ، 38 میلی متر ، 23 میلی متر (در اینجا فارنل) ،
  10. 1 خاموش DC Power Connector، Plug، 1 A، 2 mm، Panel Mount (Farnell here)،
  11. 1 تخفیف TO-220 Heatsink 24.4 درجه سانتی گراد/وات (فارنل اینجا) ،
  12. لوله های کوچک کننده حرارتی مختلف (زرد ، ای بی در اینجا) ،
  13. طول های مختلف کابل روبان IDC ،
  14. ترکیب هیت سینک ،
  15. Veroboard ،
  16. دستگاه برنامه نویسی ESP8266-01. اینجا را ببین؛ ساخت مدار عملی با تخته نوار ، مرحله 9 به بعد.

به چه نرم افزاری نیاز دارم؟

  1. آردوینو IDE 1.6.9
  2. Arduino IDE برای برنامه ریزی ESP8266-01 پیکربندی شده است. اینجا را ببین؛ راه اندازی Arduino IDE برای برنامه ریزی ESP8266-01

به چه ابزارهایی نیاز دارم؟

  1. آهن لحیم کاری ،
  2. مته و قطعات مختلف ،
  3. فایل ها،
  4. اره برقی ،
  5. معاون محکم ،
  6. سلاح گرم،
  7. DMM

به چه مهارتهایی نیاز دارم؟

  1. حداقل تسلط بر لوازم الکترونیکی ،
  2. آشنایی با آردوینو و IDE آن ،
  3. مهارت های ساخت اولیه (لحیم کاری ، هک اره ، بایگانی ، حفاری و غیره) ،
  4. کمی صبر ،
  5. آشنایی با شبکه خانگی شما

موضوعات تحت پوشش

  1. نمای کلی مدار
  2. مرور سیستم نرم افزاری
  3. مروری بر نرم افزار
  4. کالیبراسیون سنسور
  5. کنوانسیون نامگذاری موضوع MQTT
  6. پیکربندی OpenHAB
  7. آزمایش طرح
  8. نتیجه
  9. منابع مورد استفاده

پیوندهای سری

به قسمت 7: کنترل چراغ مطالعه (دوباره کار شده). قسمت 7: اینترنت اشیا ، اتوماسیون خانگی

به قسمت 9: کنترل کننده اصلی اینترنت اشیا قسمت 9: اینترنت اشیا ، اتوماسیون خانگی

مرحله 1: مرور کلی مدار

نمای کلی مدار
نمای کلی مدار
نمای کلی مدار
نمای کلی مدار
نمای کلی مدار
نمای کلی مدار
نمای کلی مدار
نمای کلی مدار

تصویر 1 بالا طراحی کامل مدار برای سنسور اینترنت اشیا را نشان می دهد.

در قلب دستگاه اینترنت اشیا ESP8266-01 قرار دارد که از طریق مقاومت کششی 10K به GPIO2 به سنسور دما/رطوبت DHT22 متصل می شود. یک منبع تغذیه خارجی 5 ولت با منبع تغذیه سوئیچ شده تغذیه می شود و از طریق سوکت دو میلیمتری پانل DC به دستگاه تغذیه می شود و به صورت محلی با یک تنظیم کننده ولتاژ LD1117-33v ، 3v3 LDO که روی یک هیت سینک خارجی با پیچ و مهره BZP M3 نصب شده است تنظیم می شود. به

طراحی شامل یک لامپ قرمز 3 میلی متری متصل به GPIO0 است که برای نشان دادن وضعیت محلی دستگاه IoT در هنگام راه اندازی یا هرگونه خطای بعدی استفاده می شود. همچنین می تواند برای شناسایی دستگاه با فعال سازی دستی از طریق رابط openHAB استفاده شود.

همانطور که در تصویر 2 در بالا نشان داده شده است ، به طور کامل در جعبه گلدان ABS قرار می گیرد و به طور خاص برای اطمینان از اینکه سنسور تا آنجا که ممکن است از تنظیم کننده فاصله داشته باشد جلوگیری می کند تا از تعصب ناشی از اثرات گرمایش موضعی جلوگیری کند (تصویر 7 بالا).

تخته مدار یک تکه ورود است که به شکل برش خورده و طوری ساخته شده است که داخل محفظه قرار گیرد (تصویر 3 بالا). این برد با یک پیچ نایلونی M3 و دو مهره که با سطح زیرین سنسور همخوانی دارد در موقعیت خود ثابت شده است ، بنابراین به آن اجازه می دهد روی یک سطح صاف بنشیند.

تصاویر 4… 6 حالت های مختلف ساخت را نشان می دهد.

مرحله 2: مرور سیستم نرم افزاری

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

این دستگاه سنجش دما و رطوبت اینترنت اشیا شامل شش جزء اصلی نرم افزار است که در تصویر 1 بالا نشان داده شده است.

SPIFFS

این سیستم بایگانی فلش SPI روی صفحه است و برای نگهداری اطلاعات زیر استفاده می شود (تصویر 2 بالا را ببینید).

  • نمادها و 'صفحه اصلی پیکربندی سنسور' html: دستگاه IoT هنگامی که قادر به اتصال به شبکه WiFi IoT شما نیست (معمولاً به دلیل اطلاعات امنیتی نادرست) ارائه می شود و وسیله ای را برای پیکربندی از راه دور سنسور بدون نیاز به کاربر ارائه می دهد. برای برنامه نویسی مجدد یا بارگذاری محتوای جدید SPIFFS.
  • اطلاعات امنیتی: این اطلاعات اطلاعاتی را که هنگام استفاده از دستگاه IoT برای اتصال به شبکه WiFi IoT و بروکر MQTT شما استفاده می شود ذخیره می کند. اطلاعات ارسال شده از طریق 'صفحه اصلی پیکربندی سنسور' در این فایل ('secvals.txt') نوشته می شود.
  • اطلاعات کالیبراسیون: اطلاعات موجود در این فایل ('calvals.txt') برای کالیبراسیون سنسور دما/رطوبت در صورت نیاز استفاده می شود. ثابتهای کالیبراسیون را فقط از طریق دستورات MQTT از یک کارگزار MQTT می توان روی دستگاه IoT نوشت.

توجه: برای راه اندازی اولیه دستگاه ، جزئیات کامل نحوه استفاده از SPIFFS با Arduino IDE را اینجا ببینید.

سرور mDNS

این قابلیت زمانی مورد استفاده قرار می گیرد که دستگاه اینترنت اشیاء نتواند به عنوان یک ایستگاه WiFi به شبکه WiFi شما متصل شود و در عوض تبدیل به یک نقطه دسترسی وای فای شود که شبیه یک روتر WiFi داخلی است. در مورد چنین روتری معمولاً با وارد کردن آدرس IP چیزی مانند 192.168.1.1 (معمولاً روی برچسب روی جعبه چاپ می شود) مستقیماً در نوار آدرس مرورگر خود به آن متصل می شوید ، در این صورت یک صفحه ورود برای ورود دریافت خواهید کرد. نام کاربری و رمز عبور برای پیکربندی دستگاه.

برای ESP8266 در حالت AP (حالت نقطه دسترسی) دستگاه به طور پیش فرض به آدرس IP 192.168.4.1 گفته می شود ، اما با سرور mDNS که اجرا می شود ، فقط باید نام دوستانه "SENSORSVR.local" را در نوار URL مرورگر وارد کنید تا آدرس را مشاهده کنید. 'صفحه اصلی پیکربندی سنسور'.

مشتری MQTT

سرویس گیرنده MQTT کلیه عملکردهای لازم را برای؛ به کارگزار MQTT شبکه اینترنت اشیا خود متصل شوید ، در موضوعات مورد نظر خود مشترک شوید و بارهای مربوط به یک موضوع مشخص را منتشر کنید. به طور خلاصه عملکرد اصلی اینترنت اشیاء را ارائه می دهد.

سرور وب

همانطور که در بالا ذکر شد ، اگر دستگاه اینترنت اشیا نتواند به شبکه WiFi متصل شود که SSID ، P/W و غیره در پرونده اطلاعات امنیتی موجود در SPIFFS تعریف شده است ، دستگاه تبدیل به یک نقطه دسترسی می شود. پس از اتصال به شبکه WiFi ارائه شده توسط Access Point ، وجود یک وب سرور HTTP به شما امکان می دهد مستقیماً به دستگاه متصل شوید و پیکربندی آن را با استفاده از مرورگر وب HTTP تغییر دهید. صفحه وب صفحه که در SPIFFS نیز نگهداری می شود.

ایستگاه وای فای

این قابلیت به دستگاه IoT این امکان را می دهد تا با استفاده از پارامترهای موجود در فایل اطلاعات امنیتی به شبکه WiFi داخلی متصل شود ، بدون این دستگاه IoT شما قادر به اشتراک/انتشار در کارگزار MQTT نخواهد بود.

WiFi Access Point

قابلیت تبدیل شدن به نقطه دسترسی WiFi وسیله ای است که به وسیله آن دستگاه اینترنت اشیا به شما امکان می دهد به آن متصل شوید و از طریق ایستگاه WiFi و مرورگر (مانند Safari در iPad iPad) تغییرات پیکربندی را انجام دهید.

این نقطه دسترسی یک SSID = "SENSOR" + 6 رقم آخر آدرس MAC دستگاه IoT را پخش می کند. رمز عبور این شبکه بسته به صورت خیالی "PASSWORD" نامیده می شود

مرحله 3: مرور نرم افزار

مروری بر نرم افزار
مروری بر نرم افزار
مروری بر نرم افزار
مروری بر نرم افزار

برای کامپایل موفقیت آمیز این کد منبع ، به کتابخانه های اضافی زیر نیاز دارید.

PubSubClient.h

  • نویسنده: نیک اولری
  • هدف: دستگاه را قادر می سازد تا موضوعات MQTT را با یک کارگزار مشخص منتشر یا مشترک شود
  • از:

DHT.h

  • توسط: Adafruit
  • هدف: کتابخانه برای سنسور دما/رطوبت DHT
  • از:

مرور کلی کد

نرم افزار از دستگاه حالت استفاده می کند همانطور که در تصویر 1 بالا نشان داده شده است (نسخه کامل منبع در زیر آورده شده است). 5 حالت اصلی به شرح زیر وجود دارد ؛

  • INIT

    این حالت مقداردهی اولیه ، اولین وضعیتی است که پس از روشن شدن برق وارد می شود

  • NOCONFIG

    این حالت در صورتی وارد می شود که پس از روشن شدن فایل secvals.txt نامعتبر یا مفقود شده تشخیص داده شود

  • در انتظار NW

    این حالت گذرا است ، در حالی که اتصال شبکه WiFi وجود ندارد وارد می شود

  • در انتظار MQTT

    این حالت گذرا است ، پس از اتصال شبکه WiFi وارد می شود و در حالی که هیچ ارتباطی با یک کارگزار MQTT در آن شبکه وجود ندارد

  • فعال

    این حالت عادی عملیاتی است که پس از ایجاد اتصال شبکه WiFi و اتصال کارگزار MQTT وارد می شود. در این حالت عملکرد دما و رطوبت سنسور برای کارگزار MQTT منتشر می شود

رویدادهای کنترل کننده گذار بین حالتها در تصویر 1 بالا توضیح داده شده است. انتقال بین حالتها نیز توسط پارامترهای SecVals زیر تنظیم می شود.

  • آدرس IP کارگزار MQTT به صورت اعشاری نقطه چین AAA. BBB. CCC. DDD
  • دومین بندر کارگزار MQTT. به شکل صحیح.
  • سومین اتصال کارگزار MQTT قبل از تغییر حالت STA به حالت AP تلاش می کند. به شکل صحیح.
  • چهارمین شبکه WiFi SSID. به صورت متن رایگان
  • رمز عبور شبکه WiFi پنجم به صورت متن رایگان

همانطور که در بالا ذکر شد اگر دستگاه اینترنت اشیا نتواند به عنوان یک ایستگاه WiFi به شبکه WiFi متصل شود که SSID و P/W در secvals تعریف شده است. متن ذخیره شده در SPIFFS دستگاه IoT به یک نقطه دسترسی تبدیل می شود. پس از اتصال به این نقطه دسترسی ، "صفحه اصلی پیکربندی سنسور" را در تصویر 2 نشان می دهد (با وارد کردن "SENSORSVR.local" یا 192.168.4.1 در نوار آدرس مرورگر خود). این صفحه اصلی امکان پیکربندی مجدد سنسور را از طریق مرورگر HTTP فراهم می کند.

دسترسی از راه دور در حالت ACTIVE

پس از اتصال به کارگزار MQTT ، امکان کالیبراسیون مجدد و پیکربندی مجدد دستگاه از طریق انتشارات موضوع MQTT نیز وجود دارد. فایل calvals.txt دارای دسترسی R/W و secvals.txt فقط دسترسی نوشتاری در معرض نمایش دارد.

اشکال زدایی کاربر

هنگام دنباله راه اندازی ، دستگاه IoT بازخورد اشکال زدایی زیر را ارائه می دهد

  • 1 فلاش کوتاه: بدون فایل پیکربندی واقع در SPIFFS (secvals.txt)
  • 2 چشمک زدن کوتاه: دستگاه اینترنت اشیا در تلاش است تا به شبکه WiFi متصل شود
  • روشنایی مداوم: دستگاه اینترنت اشیا در تلاش است تا به کارگزار MQTT متصل شود
  • خاموش: دستگاه فعال است
  • توجه 1: "صفحه اصلی پیکربندی سنسور" از سوکت های امن استفاده نمی کند و بنابراین به امنیت شبکه شما متکی است.
  • توجه 2: برای برنامه ریزی هر دستگاه IoT ، رشته MQTT قبل از بارگیری نیاز به ویرایش دارد. این به این دلیل است که تعداد سنسور در رشته موضوع MQTT جاسازی شده است. یعنی 'WFD/THSen/100/HumdStatus/1' برای 6 دستگاه من به ترتیب شماره 1… 6 است.

مرحله 4: کالیبراسیون سنسور

کالیبراسیون سنسور
کالیبراسیون سنسور
کالیبراسیون سنسور
کالیبراسیون سنسور

هنگامی که دستگاه اینترنت اشیا روشن می شود ، به عنوان بخشی از دنباله بوت ، فایلی با نام 'cavals.txt' از SPIFFS خوانده می شود. محتویات این فایل ثابتهای کالیبراسیون هستند همانطور که در تصویر 1 نشان داده شده است. این ثابتهای کالیبراسیون برای تنظیم قرائتهای بدست آمده از سنسور برای مطابقت آنها با یک دستگاه مرجع استفاده می شود. یک مقدار دیگر نیز وجود دارد که یک استراتژی گزارش برای دستگاه را تعریف می کند و در ادامه همراه با روشی که برای کالیبراسیون سنسورها دنبال می شود ، توضیح داده شده است.

این پارامتر تعیین می کند که چگونه سنسور از راه دور تغییرات پارامتری محیط را به صورت محلی در آن گزارش می کند. در صورت انتخاب مقدار 0 ، سنسور از راه دور هر تغییری را که در مقادیر دما یا رطوبت مشاهده می کند ، هر بار که سنسور خوانده می شود (تقریباً هر 10 ثانیه) منتشر می کند. هر مقدار دیگری انتشار تغییر را 1… 60 دقیقه به تاخیر می اندازد. اصلاح این پارامتر امکان بهینه سازی ترافیک شبکه MQTT را فراهم می کند.

کالیبراسیون دما

برای کالیبراسیون سنسورها ، آنها در مجاورت فیزیکی نزدیک یکدیگر قرار دارند ، همانطور که در تصویر 2 نشان داده شده است. در کنار آنها ، من یک DMM با ترموکوپل کالیبره شده (Fluke 87 V) متصل کرده و سپس خروجی های هر دستگاه را از طریق دمای OpenHAB کنترل می کنم. روند روند در طول یک روز به نوسان دما خوب است. من هم افست ایستا (صفر 'C' بالا) و هم سرعت تغییر هر دستگاه (افزایش یا شیب نمودار 'M') را نسبت به مقداری که از ترموکوپل کالیبره می شود ، ذکر کردم. سپس رابطه ساده y = mx+c را محاسبه کردم (متوجه شدم که به اندازه کافی خطی است و تقریباً به نمودار خط مستقیم نزدیک است) و هرگونه اصلاح لازم را در ثابتهای کالیبراسیون از طریق MQTTSpy برنامه ریزی کردم.

سپس دستگاهها تا 24 ساعت دیگر تحت نظارت قرار گرفتند تا از کالیبراسیون موفقیت آمیز اطمینان حاصل شود. نشانه ای که نشان می دهد آثار دما در صفحه روند دمای OpenHAB تقریباً روی هم قرار دارند.

البته اگر فقط به تقریب دما علاقه دارید می توانید تمام مقادیر کالیبراسیون را به صورت پیش فرض بگذارید.

کالیبراسیون رطوبت

از آنجا که من هیچ وسیله ای برای ثبت دقیق یا حتی کنترل رطوبت محیط محلی ندارم ، برای کالیبراسیون سنسورها ، از رویکرد مشابه روش فوق استفاده کردم ، با قرار دادن همه دستگاه ها در مجاورت فیزیکی نزدیک (تصویر 2) و به سادگی نظارت بر خروجی آنها از طریق OpenHAB صفحه تمایل به رطوبت سپس دستگاه شماره 1 را به عنوان مرجع کالیبراسیون انتخاب کردم و همه دستگاهها را نسبت به این مورد کالیبره کردم.

مرحله 5: کنوانسیون نامگذاری موضوع MQTT

کنوانسیون نامگذاری موضوع MQTT
کنوانسیون نامگذاری موضوع MQTT
کنوانسیون نامگذاری موضوع MQTT
کنوانسیون نامگذاری موضوع MQTT

پس از آزمایش و خطای فراوان ، من به موضوع نامگذاری موضوعی که در عکس 1 بالا ذکر شده بود ، پایان دادم.

یعنی ، "AccessMethod/DeviceType/WhichDevice/Action/SubDevice"

این کاملاً مناسب نیست ، اما اجازه می دهد تا فیلترهای مفیدی برای مشاهده همه خروجی های سنسور برای مقدار پارامتری معین اعمال شوند ، بنابراین امکان مقایسه آسان مانند تصویر 2 بالا با MQTTSpy را فراهم می کند. همچنین از گروه بندی منطقی قابل گسترش عملکردها در دستگاه IoT مشخص پشتیبانی می کند.

در پیاده سازی این مباحث در نرم افزار ، من از رشته های موضوعی سخت کددار با شناسه های عددی ثابت و تعبیه شده برای هر دستگاه استفاده کردم ، در حالی که در زمان اجرا موضوعات را به صورت پویا تولید می کنم تا در RAM صرفه جویی شود و عملکرد را بالا نگه دارد.

توجه: اگر از نحوه استفاده از MQTTSpy مطمئن نیستید ، راه اندازی یک کارگزار MQTT را اینجا ببینید. قسمت 2: اینترنت اشیا ، اتوماسیون خانگی

مرحله 6: پیکربندی OpenHAB

پیکربندی OpenHAB
پیکربندی OpenHAB
پیکربندی OpenHAB
پیکربندی OpenHAB
پیکربندی OpenHAB
پیکربندی OpenHAB

من پیکربندی OpenHAB را که در دستورالعمل قبلی من داده شده بود (اینجا) تغییر دادم و در ورودی های فردی برای آن اضافه کردم.

  • گاراژ ،
  • سالن ،
  • هال،
  • آشپزخانه
  • اتاق خواب مهمان
  • اتاق خواب اصلی

در نقشه سایت به تصویر 1 بالا مراجعه کنید.

برای هر یک از این ورودی ها ، نقشه های سایت جداگانه ای را اضافه کردم که مقادیر محیط محلی را نشان می دهد (به تصویر 2 بالا مراجعه کنید).

  • درجه حرارت
  • رطوبت
  • شاخص گرما

من همچنین یک سوئیچ برای کنترل led محلی نصب شده در سنسور را قرار دادم.

تصاویر 3… 5 آثار زنده فردی را در طول 24 ساعت از نظر دما ، رطوبت و RSSI نشان می دهد (نشانگر قدرت سیگنال دریافتی ، اساساً اندازه گیری این است که سنسور چگونه می تواند شبکه WiFi را ببیند).

تصویر 6 نمونه ای از روند طولانی مدت رطوبت را در طول یک هفته نشان می دهد.

توجه 1: اگر از نحوه استفاده از OpenHAB مطمئن نیستید ، اینجا را ببینید راه اندازی و پیکربندی OpenHAB. قسمت 6: اینترنت اشیا ، اتوماسیون خانگی

توجه 2: یک کپی از نقشه سایت ، قوانین و اقلام پرونده ، نمادها و غیره در زیر آورده شده است.

مرحله 7: آزمایش طراحی

آزمایش طرح
آزمایش طرح
آزمایش طرح
آزمایش طرح

در بیشتر موارد ، دستگاه IoT را از طریق اتصال MQTT با MQTT Spy آزمایش کردم ، نظارت بر خروجی led و ترافیک اشکال زدایی در رابط سریال. این به من این امکان را داد که تمام موضوعات مشترک موجود را تمرین کرده و پاسخ های منتشر شده را بررسی کنم. اگرچه این کار به صورت دستی انجام می شد و گاهی اوقات کمی خسته کننده می شد ، اما پوشش 100٪ را فعال می کرد.

با این حال ، آزمایش دستگاه اصلی کمی دشوار است زیرا به وجود یا عدم وجود یک شبکه WiFi متکی است ، دسترسی به آن نیاز به مجموعه پارامترهای خاصی دارد. استفاده از شبکه خانگی برای این کار ساده نبود.

برای حل این مشکل ، من مجموعه ای از شبکه های ساختگی خودم را با استفاده از ESP8266-01 با پیکربندی به عنوان نقاط دسترسی (عکس 1) با SSID های "DummyNet1" و "DummyNet2" ایجاد کردم. استفاده از مدار در تصویر 2 در بالا نشان می دهد که آیا دستگاه IoT به آن متصل شده است. در حالی که این یک راه حل تست کامل نبود (یعنی هر یک از این شبکه های وای فای ساختگی فاقد سرور MQTT بودند) ، امکان آزمایش کامل دستگاه دولتی وجود داشت.

من یک نسخه از کد منبع را در زیر قرار داده ام.

مرحله 8: نتیجه گیری

عمومی

نرم افزار موجود در دستگاه های اینترنت اشیا ماههاست که به طور قابل اعتماد کار می کند و پس از قطع برق خانگی (عمدتاً توسط خود من) بهبود می یابد. به طور کلی آنها دستگاه های بسیار قوی هستند که داده های ثابت و دقیق را ارائه می دهند.

پیشرفت ها

در توسعه روتین نرم افزاری برای خواندن و نوشتن در SPIFFS ، من کدی را نوشتم که در نگاه عقب ممکن است کمی پیشرفته تر از آن چیزی باشد که در نظر داشتم ، با استفاده از اشاره گرهای خالی ، بازنویسی و اشاره گرها به اشاره گرها. در حالی که بسیار انعطاف پذیر است و کار را به خوبی انجام می دهد ، دفعه بعد ممکن است از JSON در مسیر ConfigFile.ino برای ساده تر کردن آن استفاده کنم.

  • Arduino GIT HUB Core

    https://github.com/esp8266/Arduino

  • منبع ConfigFile.ino

    https://github.com/esp8266/Arduino/tree/master/libraries/esp8266/examples/ConfigFile

لیست علاقه مندیها

من قصد داشتم از یک سرویس گیرنده mDNS برای اتصال به بروکر استفاده کنم ، اما کتابخانه بیش از حد اشتباه بود. به همین دلیل لازم است آدرس IP کارگزار MQTT را برخلاف "MQTTSVR.local" مشخص کنید. اگر کتابخانه mDNS در آینده پایدارتر شود ، این قابلیت را به دستگاه اضافه می کنم.

بسیار خوب است که از وسیله ای برای نظارت دقیق و کنترل رطوبت محیط برای اندازه گیری سنسورها در برابر آن استفاده کنید. با این حال ، گفت که روش کالیبراسیون انتخاب شده قرائت نسبی خوبی را ارائه می دهد و مطابق با مشخصات موجود در برگه داده DHT22 ، منطقی به نظر می رسد.

سرانجام ، با توجه به پیچیدگی نرم افزار ، پس از گذشت زمان از تغییرات اساسی ، به طور کامل کد را آزمایش کردم. ممکن است بعداً آزمایش خودکار را در نظر بگیرم.

مرحله 9: منابع مورد استفاده

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

PubSubClient.h

  • نویسنده: نیک اولری
  • از:

DHT.h

  • توسط: Adafruit
  • از:

برگه اطلاعات DHT22

توصیه شده: