فهرست مطالب:

IoT Main Controller. قسمت 9: اینترنت اشیا ، اتوماسیون خانگی: 10 مرحله (همراه با تصاویر)
IoT Main Controller. قسمت 9: اینترنت اشیا ، اتوماسیون خانگی: 10 مرحله (همراه با تصاویر)

تصویری: IoT Main Controller. قسمت 9: اینترنت اشیا ، اتوماسیون خانگی: 10 مرحله (همراه با تصاویر)

تصویری: IoT Main Controller. قسمت 9: اینترنت اشیا ، اتوماسیون خانگی: 10 مرحله (همراه با تصاویر)
تصویری: فیلم سینمایی جدید ایرانی دیدن این فیلم جرم است - Watching This Film Is a Crime With English Subtitle 2024, جولای
Anonim
IoT Main Controller. قسمت 9: اینترنت اشیا ، اتوماسیون خانگی
IoT Main Controller. قسمت 9: اینترنت اشیا ، اتوماسیون خانگی

سلب مسئولیت

این را برای اولین بار بخوانید

این دستورالعمل جزئی از پروژه ای است که از برق اصلی استفاده می کند (در این مورد UK 240VAC RMS) ، در حالی که تمام دقت خود را برای استفاده از روشهای ایمن و اصول طراحی خوب انجام داده است ، همیشه هنگام برقراری این ولتاژها و برای برق گرفتگی ، احتمال برق گرفتگی کشنده وجود دارد. اگر نویسنده نمی تواند هیچ گونه مسئولیتی را در صورت بروز صدمه شخصی یا خسارت به اموال هنگام پیگیری محتوای آن بپذیرد. در نتیجه ، شما این پروژه را با مسئولیت خود انجام می دهید.

مقدمه

این مقاله ، نهم در سری اتوماسیون خانگی ، نحوه ایجاد و ادغام یک کنترل کننده اصلی Sonoff 10A IoT را در یک سیستم اتوماسیون خانگی موجود شامل کلیه عملکردهای نرم افزاری لازم برای استقرار موفق در یک محیط داخلی مستند می کند.

معرفی

همانطور که در بالا ذکر شد این دستورالعمل نحوه ساخت و ادغام کنترل کننده اصلی اینترنت اشیا با استفاده از Sonoff 10A از iTead را توضیح می دهد. گفته می شود که دستگاه خود را برای 10 آمپر @ 90 ~ 250VAC رتبه بندی کرده است ، با این حال این پیاده سازی آن را از طریق آمپول فیوز 5 آمپر کاهش می دهد و منبع اصلی 240VAC RMS داخلی انگلستان را تامین می کند.

روش طراحی بصورت یکپارچه با شبکه اینترنت اشیا مبتنی بر MQTT/OpenHAB ادغام می شود که در این مجموعه در مورد ساختمان اتوماسیون خانگی بر اساس کد مورد استفاده مجدد از اینجا توضیح داده شده است. همچنین می تواند از دست دادن هر عنصر شبکه اینترنت اشیا را برطرف کند و می تواند به طور مستقل کار کند. در حالی که در حالت مستقل هستید ، کنترل دستگاه با فشار دادن دکمه کنترل در بالای محفظه ، که خروجی منبع تغذیه را تغییر می دهد ، به دست می آید.

برای فعال کردن این کنترل محلی دستگاه Sonoff ، GPIO14 از کیس خارج شده و به عنوان ورودی ماشه استفاده می شود. برای اطمینان از ایمنی ، این ورودی از طریق یک مدار نوری تغذیه می شود و در یک محفظه پلاستیکی قرار می گیرد به طوری که اپراتور هیچ وقت در معرض ولتاژهای منبع تغذیه قرار نمی گیرد.

سرانجام ، نثر همچنین نحوه برنامه ریزی مجدد دستگاه ESP8266 در Sonoff 10A با استفاده از Arduino IDE و جزئیات کامل مدار دستگاهی را که می تواند برای برنامه ریزی قابل اعتماد کد هدف استفاده شود ، ارائه می دهد.

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

کنترل کننده اصلی Sonoff

  1. 1 تخفیف Sonoff 10A در اینجا
  2. 1 تنظیم کننده ولتاژ 7805L 5v در اینجا
  3. 1 ترانسفورماتور 240/6VAC 1.5VA در اینجا
  4. 2 عدد 0.1 خازن سرامیکی در اینجا
  5. 1 خازن الکترولیتی 1000uF @25v اینجا
  6. 1 عدد یکسو کننده پل 2W01 در اینجا
  7. 2 مقاومت 4K7 در اینجا
  8. 1 مقاومت 330R در اینجا
  9. 1 دکمه خاموش SPST در اینجا
  10. 1 تخفیف محفظه ABS Mulitcomp BM12W در اینجا
  11. 1 تخفیف نوری TIL111 در اینجا
  12. 1 بلوک ترمینال 3 طرفه در اینجا
  13. 1 اتصال 2 طرفه molex رمزگذاری شده در اینجا/اینجا
  14. 1 اتصال 3 طرفه molex رمزگذاری شده در اینجا/اینجا
  15. 1 اتصال 5 طرفه molex رمزگذاری شده در اینجا/اینجا
  16. 1 پین 5 طرفه molex در اینجا
  17. 1 تخفیف Winbond SPI Flash (W25Q32FVSIG) در اینجا
  18. 1 عدد نگهدارنده فیوز 20 میلی متری + درپوش در اینجا
  19. 1 فیوز ضربه سریع 20 میلی متری 500 میلی آمپر در اینجا
  20. 2 عدد از غدد کابل پلی آمید در اینجا
  21. 1 عدد پریز برق UK (BS1363/A) در اینجا
  22. 1 سوکت اصلی UK (BS1363/A) در اینجا
  23. 7 پیچ نایلونی M3 16 میلی متری CS ، (شامل 10 مهره خاموش) اینجا/اینجا
  24. 2 پیوند زیپ در اینجا
  25. 1 ورق ورق (0.1 اینچ) در اینجا
  26. 1 عدد سیم مسی قلعکاری شده با طول های مختلف 22 اینچ در اینجا
  27. 1 عدد کابل برق 3M White UK در اینجا
  28. 10 عدد سوکت Molex در اینجا جمع می شود

برنامه نویس سونوف

  1. 1 تنظیم کننده ولتاژ LD33CV 3v3 در اینجا
  2. 1 تخفیف گرمکن TO-220 در اینجا
  3. 1 تخفیف خنک کننده در اینجا
  4. 1 خازن الکترولیتی 10uF @16v اینجا
  5. 1 عدد 0.1 خازن سرامیکی در اینجا
  6. 1 دکمه SPDT خاموش در اینجا
  7. 1 مقاومت 4K7 در اینجا
  8. 1 اتصال 2 طرفه molex رمزگذاری شده در اینجا/اینجا
  9. 1 اتصال 3 طرفه molex رمزگذاری شده در اینجا/اینجا
  10. 5 خاموش سوکت Molex در اینجا
  11. 1 سوکت مولکس 6 طرفه در اینجا
  12. 1 دکمه خاموش SPST در اینجا
  13. 1 سوکت 2.1 میلی متری PSU در اینجا
  14. 1 ورق ورق (0.1 اینچ) در اینجا
  15. 1 خاموش آداپتور USB به سریال (FTDI) در اینجا

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

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

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

  1. آهن لحیم کاری ،
  2. مته و قطعات مختلف (از جمله برش سوراخ پله ای برای غدد کابل و دکمه کنترل) ،
  3. پیچ گوشتی ها (مختلف) ،
  4. آچارهای قابل تنظیم (دو خاموش ، عرض فک> 25 میلی متر ، برای غدد کابل) ،
  5. فایل ها (مختلف) ،
  6. معاون محکم ،
  7. سلاح گرم،
  8. DMM (ترجیحاً CAT IV).

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

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

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

  • معرفی
  • نمای کلی مدار
  • Sonoff RetroMods
  • جزئیات ساخت و مونتاژ
  • آداپتور برنامه نویسی Sonoff
  • مرور سیستم نرم افزاری
  • مروری بر نرم افزار
  • پیکربندی OpenHAB
  • دستگاه IoT خود را آزمایش کنید
  • نتیجه
  • منابع مورد استفاده

پیوندهای سری

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

به قسمت 10: کنترل از راه دور IR از طریق اینترنت اشیا. قسمت 10 اینترنت اشیا ، اتوماسیون خانگی

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

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

بررسی اجمالی

همانطور که در مقدمه بالا ذکر شد ، برای اینکه بتوان کنترل کننده اصلی را خاموش و روشن کرد ، ورودی به ESP8266 سوار بر Sonoff لازم است. معرفی چنین ورودی خارجی مستلزم شکستن محفظه Sonoff ABS است و بنابراین یک خطر شوک بالقوه ایجاد می کند. برای غلبه بر این ، من از عایق نوری استفاده کردم به طوری که امکان قرار گرفتن در معرض برق اصلی خارج از محفظه سیستم کنترل کننده اصلی وجود ندارد.

آنچه در زیر می آید شرح مدار نازک نوری (در تصویر 1 بالا) است.

جزئیات مدار

مدار عایق نوری منبع تغذیه خود را مستقیماً از شبکه اصلی وصل شده به واحد دریافت می کند. 240VAC RMS برای ترانسفورماتور گام به گام/جداسازی TR1 از طریق J1 تماس pheonix MKDSN2 ، ترمینال 3 طرفه 5/3-5.08 پلی آمید با 16A در 400 ولت قادر به حمل کابل 2.5 میلی متر (مربع) CSA و F1 500 میلی آمپر 20 میلی متر است. فیوز ضربه سریع 6VAC موجود در سیم پیچ های ثانویه TR1 موج کامل است که توسط پل دیود B1 اصلاح می شود.

این خروجی اصلاح شده موج کامل سپس توسط C1 ، C2 C3 ، R3 و IC1 تنظیم کننده شانت سری 7805L تثبیت شده و تنظیم می شود و یک ریل تغذیه خوب و تمیز 5 ولت می دهد.

سپس از ریل 5 ولت برای کنترل ورودی OK1 یک ایزوله کننده نوری TIL111 از طریق یک دکمه SPST سفید نصب شده در خارج که در J3 متصل است استفاده می شود. خروجی TIL111 به ورودی Sonoff GPIO14 از طریق R2 و یک مقاومت کششی 4K7 متصل می شود. بنابراین بهتر از 340V انزوا حاصل می شود (یعنی حداکثر ولتاژ = (240VAC*sqroot (2))).

مرحله 2: Sonoff RetroMods

Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods
Sonoff RetroMods

به منظور ادغام دستگاه Sonoff 10A ، لازم است برخی تغییرات گذشته نگر انجام شود.

اولین مورد ، افزودن یک اتصال دهنده 5 طرفه 0.1 اینچی مولکس است که در تصویر 1 بالا نشان داده شده است. این امر امکان دسترسی به GPIO14 را در Sonoff پس از تعویض پوشش محافظ مانند تصاویر 2 و 3 بالا می دهد.

اگرچه در بالا نشان داده نشده است ، من خطوط سریال TX/RX را نیز برای امکان برنامه نویسی درجا آورده ام (در مرحله 1 بالا به مهار کابل SK1..3 مراجعه کنید).

دومین اصلاح این است که اندازه دستگاه فلش SPI را از 1 مگابایت پیش فرض به 4 مگابایت افزایش دهید ، این امر اجازه می دهد تا فضای کافی برای نگهداری فایل های وب سرور اینترنت اشیا در SPIFFS وجود داشته باشد.

من دستگاه فلش SMD SPI (W25Q32FVSIG) را از Ebay در اینجا خریداری کردم

برای تعویض فلاش ، LED Sonoff را مانند تصویر 4 به طور موقت حذف کردم تا دسترسی بهتری به دستگاه SMD داشته باشم. برای لحیم کاری فلاش از تفنگ حرارتی استفاده کردم که در تصویر 5 بالا نشان داده شده است. سپس فلش 4 مگابایت و LED را به ترتیب مجددا لحیم کنید (عکس 6).

مرحله 3: جزئیات ساخت و مونتاژ

جزئیات ساخت و مونتاژ
جزئیات ساخت و مونتاژ
جزئیات ساخت و مونتاژ
جزئیات ساخت و مونتاژ
جزئیات ساخت و مونتاژ
جزئیات ساخت و مونتاژ
جزئیات ساخت و مونتاژ
جزئیات ساخت و مونتاژ

من کنترل کننده اصلی را در جعبه ABS Mulitcomp BM12W (تصویر 1 بالا) قرار دادم. این محفظه دارای درجهای M3 برنجی جداگانه است که امکان دسترسی چندگانه به دستگاه را بدون به خطر انداختن نخ ها فراهم می کند به طوری که در صورت لزوم می توان فیوز داخلی را تعویض کرد یا به مرور زمان بازرسی داخلی انجام شد (این را نمی توان در مورد دستگاه Sonoff ، که به طور م aثر فقط یکبار با استفاده از دستگاه های ضبط کننده خودکار بسته می شود).

کاهش فشار اولیه برای کابل منبع تغذیه از طریق یک غده کابل سفید M16 نایلون/پلی آمید 6/6 سفید که از کابل OD Min/Max 5mm/10mm پشتیبانی می کند ، بدست آمد.

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

برای تناسب غدد کابل و فراهم آوردن فضای کافی برای نصب Sonoff و قطعات الکترونیکی نوری ، همانطور که در بالا نشان داده شد ، دنده های داخلی PCB را جدا کردم (تصویر 2).

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

تامین این واحد از طریق کابل استاندارد رنگ سفید 3 هسته ای عایق PVC چند رشته ای (32/0.2 میلی متر مربع) کابل CSA 1 میلی متر (مربع) انجام شد. با OD 7.2 میلی متر قادر به حمل 10A است.

این واحد از طریق یک دوشاخه ایمنی استاندارد 3 پین (BS 1363/A) تأیید شده به منبع اصلی UK (240VAC RMS) متصل شد. دوشاخه در 5A ذوب شد.

تمام کابلهای تغذیه اصلی به مدار عایق نوری از طریق تماس pheonix MKDSN2 ، 5/3-5.08 پایانه های پلی آمید با 16A در 400V قادر به حمل کابل 2.5 میلی متر (sq) CSA ، و در نتیجه ظرفیت کافی برای دو کابل در هر موقعیت

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

توجه داشته باشید:

  • OD = قطر خارجی
  • VAC = ولتاژ جریان متناوب
  • RMS = مربع میانگین ریشه
  • CSA = منطقه مقطعی
  • CS = Counter Sunk

مرحله 4: آداپتور برنامه نویسی Sonoff

آداپتور برنامه نویسی Sonoff
آداپتور برنامه نویسی Sonoff
آداپتور برنامه نویسی Sonoff
آداپتور برنامه نویسی Sonoff
آداپتور برنامه نویسی Sonoff
آداپتور برنامه نویسی Sonoff
آداپتور برنامه نویسی Sonoff
آداپتور برنامه نویسی Sonoff

هنگام برنامه نویسی مجدد Sonoff 10A از طریق Arduino IDE دو جنبه باید در نظر گرفته شود.

  1. پیکربندی Arduino IDE خود برای برنامه ریزی ESP8266 ،
  2. عمل برنامه نویسی سخت افزار خود.

پیکربندی Arduino IDE خود برای برنامه ریزی ESP8266

برای پیکربندی Ardino IDE دستورالعمل های زیر را دنبال کنید راه اندازی IDE آردوینو برای برنامه ریزی ESP8266-01

برنامه نویسی سخت افزار

این یک فرایند چند مرحله ای است ، مانند همه موارد با ESP8266. در اینجا ، قدرت Sonoff از طریق منبع تغذیه 3v3 DC تثبیت شده خارجی و از منبع اصلی به برد اعمال می شود. یک دستگاه USB به سریال برای ارسال و دریافت داده ها به و از Sonoff مورد نیاز است. همانطور که در عکس 2 و 4 نشان داده شده است ، TX و RX را وصل کنید.

مراحل برنامه نویسی (کلی)

  1. ابتدا اطمینان حاصل کنید که هیچ منبع تغذیه خارجی به Sonoff اعمال نمی شود ،
  2. دکمه دستگاه Sonoff را فشار داده و نگه دارید. (عکس 1 بالا ، دکمه فلاش مجدد مشخص شده است) ،
  3. منبع تغذیه DC 3v3 خارجی را به پین 1 اعمال کنید (عکس 2 بالا) ،
  4. دکمه Sonoff را رها کنید ،
  5. اکنون می توان دستگاه را به روش معمول از طریق Arduino IDE برنامه ریزی کرد.

برای سهولت کار ، دستگاه برنامه نویسی بالا (تصاویر 3 و 4) را ایجاد کردم که از طریق مهار کابل SK1… 3 به Sonoff وصل می شد (همانطور که در این مرحله دستورالعمل 1 توضیح داده شده است). این امکان برنامه نویسی آسان تر ESP8266 را فراهم کرد. همچنین وسیله ای برای آزمایش GPIO14 به عنوان ورودی از طریق استفاده از R1 و مقاومت کششی 4K7 و دکمه S1 ارائه داد.

با استفاده از دستگاه برنامه نویسی بالا (عکس 3 و 4) مراحل برنامه نویسی عبارتند از ،

  1. دکمه فلاش مجدد را در Sonoff فشار داده و نگه دارید ،
  2. با فشردن لحظه ای S2 ، منبع 3v3 را پالس کنید ،
  3. دکمه فلش مجدد را رها کنید ،
  4. اکنون می توان دستگاه را برنامه ریزی کرد.

توجه - هشدار

تحت هیچ شرایطی نباید در حین فعالیت برنامه نویسی مجدد Sonoff از طریق شبکه برق تغذیه شود

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

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

این دستگاه IoT Main Controller در بیشتر قسمتها شامل شش م softwareلفه اصلی نرم افزاری است که در سنسور دما و رطوبت Instructable WiFi IoT Temperature and Humidity Sensor وجود دارد. قسمت: 8 اینترنت اشیا ، اتوماسیون خانگی و در عکس 1 بالا ، با کمی سفارشی سازی نشان داده شده است.

SPIFFS

این سیستم (ارتقاء یافته به 4 مگابایت) SPI Flash Filing System است و برای نگهداری اطلاعات زیر استفاده می شود (تصویر 2 بالا را ببینید).

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

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

سرور mDNS

این قابلیت زمانی مورد استفاده قرار می گیرد که دستگاه اینترنت اشیاء نتواند به عنوان یک ایستگاه WiFi به شبکه WiFi شما متصل شود و در عوض تبدیل به یک نقطه دسترسی وای فای شود که شبیه یک روتر WiFi داخلی است. در مورد چنین روتری معمولاً با وارد کردن آدرس IP چیزی مانند 192.168.1.1 (معمولاً روی برچسب روی جعبه چاپ می شود) مستقیماً در نوار آدرس مرورگر خود به آن متصل می شوید ، در این صورت یک صفحه ورود برای ورود دریافت خواهید کرد. نام کاربری و رمز عبور برای پیکربندی دستگاه. برای ESP8266 در حالت AP (حالت نقطه دسترسی) دستگاه به طور پیش فرض به آدرس IP 192.168.4.1 گفته می شود ، اما با سرور mDNS که اجرا می شود ، فقط باید نام دوستانه "MAINSCON.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 = "MAINSCON" + 6 رقم آخر آدرس MAC دستگاه IoT را پخش می کند. رمز عبور این شبکه بسته به صورت خیالی "PASSWORD" نامیده می شود.

مرحله 6: مرور کلی نرم افزار

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

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

PubSubClient.h

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

Bounce2.h

  • نویسنده: توماس او فردریک
  • هدف: خروج سوئیچ ورودی در نرم افزار
  • از:

مرور کلی کد

نرم افزار از دستگاه حالت استفاده می کند همانطور که در تصویر 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 دستگاه به یک نقطه دسترسی تبدیل می شود. پس از اتصال به این نقطه دسترسی ، "صفحه اصلی پیکربندی کنترل کننده اصلی" را همانطور که در تصویر 2 نشان داده شده است (با وارد کردن "MAINSCON.local" یا 192.168.4.1 در نوار آدرس مرورگر خود) ارائه می دهد. این صفحه اصلی امکان پیکربندی مجدد کنترل کننده اصلی را از طریق مرورگر HTTP فراهم می کند.

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

در تصویر 3 بالا مشخص شده است که نامگذاری برای موضوعات MQTT استفاده می شود و با الگوی مورد استفاده در دستورالعمل قبلی من مطابقت دارد (در اینجا مرحله 5).

موضوعات MQTT مورد استفاده این دستگاه IoT

برای وضوح ، من مباحث و توالی پیامهای مرتبطی را که این دستگاه در آنها منتشر می کند/مشترک می شود ، ثبت کرده ام (تصویر 4). تصویر همچنین تعامل با دکمه کنترل سفید در قسمت بیرونی محوطه را نشان می دهد (اگرچه از قضا دکمه به رنگ قرمز نشان داده شده است).

Remote Config Access در حالی که در حالت ACTIVE هستید

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

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

در حین راه اندازی بوت ، دستگاه Sonoff بازخورد اشکال زدایی زیر را ارائه می دهد ، اگرچه لازم به ذکر است ، برای مشاهده این مورد ، باید جلد را برداشته و مدار را نمایان کنید ، بنابراین توصیه می شود این کار را هنگام توسعه کد و تغذیه دستگاه انجام دهید. با منبع 3v3 ؛

  • 1 فلاش کوتاه: بدون فایل پیکربندی واقع در SPIFFS (secvals.txt) ،
  • 2 چشمک زدن کوتاه: دستگاه اینترنت اشیا در تلاش است به شبکه WiFi متصل شود ،
  • روشنایی مداوم: دستگاه IoT Sonoff در تلاش است به کارگزار MQTT متصل شود ،
  • خاموش: دستگاه فعال است و به کارگزار MQTT متصل است.

توجه 1: "صفحه اصلی پیکربندی کنترل کننده اصلی" از سوکت های امن استفاده نمی کند و بنابراین به امنیت شبکه شما متکی است.

توجه 2: برای برنامه ریزی چندین دستگاه IoT ، رشته MQTT قبل از بارگیری در هر دستگاه نیاز به ویرایش دارد. این به این دلیل است که شماره شناسه کنترل کننده اصلی در رشته موضوع MQTT جاسازی شده است. یعنی در نرم افزار منتشر شده مقدار 100 را انتخاب کردم: 'WFD/MainsCont/100/Relay/Command/1' و برای 2 دستگاه من به ترتیب شماره 1 و 2 است.

  • "WFD/MainsCont/1/Relay/Command/1"
  • "WFD/MainsCont/2/Relay/Command/1"

توجه 3: نرم افزار اینترنت اشیا برای کامل بودن حالت ACTIVE امکان کنترل Sonoff LED و انتشار وضعیت دکمه فلاش مجدد را فراهم می آورد. اگرچه اینها فقط در طول فرآیند اشکال زدایی ارزش دارند زیرا هیچ کدام در حین عملکرد عادی در معرض دید کاربر قرار نمی گیرند.

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

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

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

من پیکربندی OpenHAB.sitemap که در دستورالعمل قبلی (در اینجا) داده شده بود را تغییر دادم و نوشته های جداگانه ای برای "کنترل کننده اصلی 1" و "کنترل کننده اصلی 2" (عکس 2 بالا) اضافه کردم. من همچنین مطالبی (قسمت اصلی اتاق نشیمن شامل 1 و 2) برای نمایش روندهای RSSI اندازه گیری شده در گیرنده دو دستگاه IoT جدید (عکس 3) اضافه کردم.

سرانجام ، من ورودی هایی را به فایلهای.rules و.items اضافه کردم تا امکان همگام سازی پویا با Sonoff و به روز رسانی/تحریک تلاش ضعیف من در تغییر گرافیک (سوئیچ هنگام فعال شدن بسته می شود و هنگام غیر فعال شدن). تصویر 2 نمونه ای از MC1 فعال و MC2 غیر فعال را نشان می دهد.

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

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

توجه 3: RSSI = نشانگر قدرت سیگنال دریافتی. این اندازه گیری این است که دستگاه IoT چگونه می تواند شبکه WiFi شما را ببیند.

مرحله 8: آزمایش دستگاه IoT خود

Image
Image
دستگاه IoT خود را آزمایش کنید
دستگاه IoT خود را آزمایش کنید

همانطور که در سنسور دما و رطوبت Instructable WiFi IoT توضیح داده شده است. قسمت: 8 اینترنت اشیاء ، اتوماسیون خانگی مرحله 7 ، آزمایش اولیه دستگاه IoT از طریق اتصال MQTT از طریق MQTT Spy (مانند نمودار بلوک دیاگرام سیستم 1 در بالا) ، نظارت بر خروجی LED ، ورودی های دکمه (هر دو دکمه فلاش مجدد Sonoff و دکمه سفید خارجی) و اشکال زدایی ترافیک در رابط سریال. این به من این امکان را داد که تمام موضوعات مشترک موجود را تمرین کرده و پاسخ های منتشر شده را بررسی کنم. اگرچه مجدداً ، این کار به صورت دستی انجام می شد و زمان بر بود ، اما پوشش 100٪ پیامها/انتشارات موضوعی را فعال می کرد.

از آنجا که ماشین اصلی حالت نرم افزاری (مرحله 6 بالا) از دستورالعمل قبلی (قسمت 8) به ارث برده است ، به غیر از بررسی عقل ، نرم افزار می تواند به کارگزار WiFi N/W و MQTT متصل شود ، فرض بر این بود که این دستگاه درست کار می کند.

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

این ویدئو جزئیات کامل آزمایشات سیستم را ارائه می دهد و به وضوح نشان می دهد که همگام سازی بین دستگاه های OpenHAB (PC/Chrome و iPad/OpenHAB APP) در زمان واقعی حفظ می شود. همچنین پیام های زنده را از طریق MQTTSpy به کنترلرهای اصلی نشان می دهد (برای اطلاعات بیشتر در مورد راه اندازی یک کارگزار MQTT. قسمت 2: اینترنت اشیا ، اتوماسیون خانگی) و سیستم تهویه سیستم OpenHAB از سرور تمشک pi از طریق اتصال PuTTY SSH (اینجا را ببینید. جزئیات راه اندازی و پیکربندی OpenHAB قسمت 6: اینترنت اشیا ، اتوماسیون خانگی).

توجه: ترافیک اشکال زدایی برای نسخه نهایی نرم افزار تدوین شده است.

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

عمومی

تکمیل پروژه نسبتاً آسان بود و به خوبی کار کرد. تولید نرم افزار جاسازی شده ساده بود ، زیرا یک نسخه قطع شده از کد مورد استفاده برای سنسورهای دما و رطوبت قسمت 8 در این سری بود.

من در ابتدا قصد داشتم فقط قطعات سفید را صرفاً برای کیفیت زیبایی آنها بدست آورم. من این کار را در همه موارد به جز دکمه کنترل به دست آوردم ، تا جایی که می توانستم سعی کنم ، نتوانستم یک دکمه خوب/ارزان کاملاً سفید را تهیه کنم.

دستگاه Sonoff 10A

من موارد زیر را که به نظر من معایب و مزایای منطقی دستگاه Sonoff هستند ، ذکر کرده ام

طرفداران

  • ارزان.
  • پشتیبانی خوب جامعه
  • امکان برنامه ریزی مجدد از طریق Arduino IDE.

منفی

  • محوطه باریک.
  • حداقل ورودی/خروجی (به اتصالات قابل استفاده منتقل می شود).
  • در حالت آرامش داغ کار می کند.
  • فقط 1 مگابایت فلاش SPI روی برد دارد.
  • آیا PITA برای برنامه ریزی مجدد یک بار در محل سیم کشی شده است.
  • هنگام ادغام کد جدید در آزمایش Sonoff بسته شدن رله مشکل ساز بود زیرا رله 5 ولت و منبع تغذیه اعمال شده برای Sonoff برای برنامه نویسی 3v3 بود. فعال سازی رله فقط برای گوش قابل درک است.

نگرانی ها

  • خط خنثی را تغییر نمی دهد. از رله SPST استفاده می کند.
  • ذوب نشده است
  • تسکین ضعیف فشار کابل.
  • PCB در محفظه Sonoff ایمن نشده است.

نظر در مورد طراحی مهندسی

با توجه به اینکه این دستگاه اینترنت اشیا برای تعویض شبکه اصلی بریتانیا (240VAC RMS) مورد استفاده قرار می گرفت ، من از هر دو شیوه طراحی مکانیکی و الکتریکی خوب پیروی کردم و اطمینان حاصل کردم که با عدم افشای هرگونه مواد رسانای الکتریکی ، بیش از مشخص کردن تمام اجزا ، درجه بندی ، خطر شوک به حداقل می رسد. بار خروجی ، اعمال حفاظت از فیوز برای هر دو کنترلر اصلی و سیستم فرعی Opto-Coupled ، گنجاندن اتصال خوب بدون شکستن و استفاده از جداسازی نوری/گالوانیکی.

بهبود احتمالی

با نگاهی گذرا ، می توان یک نشانه بصری مبنی بر فعال بودن خروجی کنترل کننده اصلی (LED یا نئون) را شامل شود. اگرچه در استفاده روزمره مشکلی ایجاد نمی شود ، اما با توجه به روش معمول ، جدا کردن بار از منبع قبل از انجام هرگونه تعمیر و نگهداری ، یا با فشار ساده دکمه کنترل محلی ، خروجی را در صورتی که لامپ هنگام وصل شدن روشن شود ، تغییر می دهد.

یادداشت پایانی

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

  • طناب افزونه Mad Scientist
  • بازخورد جامعه 03 - نگرانی های ایمنی برق!

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

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

PubSubClient.h

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

Bounce2.h

  • نویسنده: توماس او فردریک
  • هدف: خروج سوئیچ ورودی در نرم افزار
  • از:

SPIFFS

https://esp8266.github.io/Arduino/versions/2.0.0/do…

ارتقا فلش Sonoff

  • https://www.andremiller.net/content/upgrading-sonof…
  • https://tech.scargill.net/32mb-esp01/
  • https://www.andremiller.net/content/upgrading-sonof…

نمودار مدار سونوف

https://www.itead.cc/wiki/images/6/6b/Sonoff_schmatic.pdf

ماژول USB UART (معروف به FTDI)

https://www.ebay.co.uk/itm/6Pin-USB-2-0-to-TTL-UART-Module-Converter-CP2102-STC-Replace-FT232-CF-/272249732398؟epid=503069058&hash=item3f6359: g: QVUAAOSw71BXP92B

جوایز داروین (تسکین نور)

https://www.darwinawards.com/

برگه اطلاعات TIL111 Opto-isolator

توصیه شده: