بازگشت به بلاگ

OTA چیست؟ به‌روزرسانی دستگاه‌های اینترنت اشیا از راه دور

با مفهوم OTA در اینترنت اشیا، مراحل انتشار و نصب میان‌افزار، نکات امنیتی و مدیریت به‌روزرسانی دستگاه‌ها در مقیاس آشنا شوید.

اینترنت اشیا
OTA چیست؟ به‌روزرسانی دستگاه‌های اینترنت اشیا از راه دور

ساخت یک نمونهٔ اولیهٔ اینترنت اشیا ممکن است با یک برد، چند سنسور و کمی کدنویسی شروع شود. اما وقتی دستگاه‌ها در خانه‌ها، کارخانه‌ها یا زمین‌های کشاورزی نصب شدند، به‌روزرسانی تک‌تک آن‌ها با کابل و مراجعهٔ حضوری ساده نیست. دستگاه‌ها باید راهی برای دریافت نسخه‌های تازهٔ نرم‌افزار داشته باشند.

اینجا OTA به کار می‌آید. OTA مخفف Over-the-Air است و به به‌روزرسانی نرم‌افزار دستگاه از راه شبکه اشاره می‌کند. در دستگاه‌های اینترنت اشیا، این نرم‌افزار معمولاً میان‌افزار (Firmware) است؛ برنامه‌ای که رفتار سخت‌افزار را کنترل می‌کند.

میان‌افزار چه کاری انجام می‌دهد؟

سخت‌افزار دستگاه از قطعاتی مانند پردازنده، سنسور و ماژول ارتباطی تشکیل می‌شود. میان‌افزار مشخص می‌کند این قطعات چطور کار کنند: دادهٔ سنسور را چه زمانی بخوانند، چطور آن را پردازش کنند، چه اطلاعاتی بفرستند و به فرمان‌ها چگونه پاسخ دهند.

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

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

چرا OTA در اینترنت اشیا کاربرد دارد؟

در نمونهٔ اولیه، معمولاً می‌توان دستگاه را با کابل به رایانه وصل کرد و میان‌افزار تازه را روی آن نصب کرد. محصول واقعی ممکن است در نقاط مختلف نصب شده باشد و دسترسی حضوری به همهٔ دستگاه‌ها زمان‌بر باشد.

OTA امکان می‌دهد دستگاه واجد شرایط، نسخهٔ تازه را از راه شبکه دریافت و نصب کند. این کار به تیم اجازه می‌دهد میان‌افزار دستگاه را پس از نصب هم نگه‌داری و به‌روزرسانی کند. البته OTA به‌تنهایی تضمین نمی‌کند نصب بدون خطا انجام شود؛ پشتیبانی دستگاه، کیفیت ارتباط و طراحی فرایند به‌روزرسانی هم اهمیت دارند.

فرایند به‌روزرسانی OTA چگونه است؟

جزئیات به نوع دستگاه و زیرساخت آن بستگی دارد، اما یک فرایند معمول چند مرحله دارد:

  1. تیم، نسخهٔ تازهٔ میان‌افزار را می‌سازد و روی سخت‌افزارهای هدف بررسی می‌کند.
  2. فایل و اطلاعات نسخه در سامانهٔ مدیریت انتشار ثبت می‌شوند.
  3. دستگاه بررسی می‌کند که نسخه‌ای برای مدل و نسخهٔ فعلی آن در دسترس است یا نه.
  4. دستگاه فایل را از مسیر امن دریافت می‌کند و پیش از نصب، صحت آن را می‌سنجد.
  5. دستگاه نصب را انجام می‌دهد، دوباره راه‌اندازی می‌شود و وضعیت نسخهٔ در حال اجرا را گزارش می‌کند.

تیم باید بتواند ببیند چه دستگاه‌هایی به‌روزرسانی را دریافت کرده‌اند، نصب کجا با خطا روبه‌رو شده و کدام دستگاه‌ها هنوز نسخهٔ قبلی را دارند. بنابراین OTA فقط انتقال یک فایل نیست؛ پایش انتشار و نتیجهٔ نصب هم بخشی از آن است.

امنیت به‌روزرسانی از راه دور

در فرایند OTA، دستگاه نرم‌افزار تازه‌ای دریافت می‌کند که می‌تواند رفتارش را تغییر دهد. اگر فایل دست‌کاری شده باشد یا از منبع نامعتبر برسد، خودِ به‌روزرسانی به راهی برای آسیب‌زدن به دستگاه تبدیل می‌شود.

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

جزئیات امنیتی به پیاده‌سازی بستگی دارد؛ صرف استفاده از OTA به معنی امن‌بودن فرایند نیست.

انتشار برای تعداد زیادی دستگاه

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

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

OTA در فلووا

فلووا مدیریت انتشار میان‌افزار و فرایند به‌روزرسانی دستگاه‌های پشتیبانی‌شده را در کنار مدیریت دستگاه‌ها و داده فراهم می‌کند. فایل‌های میان‌افزار در کنسول فلووا به‌عنوان نسخهٔ انتشار ثبت می‌شوند و می‌توان انتشار را برای دستگاه‌های سازگار آغاز کرد. وضعیت دستگاه‌ها و نتیجهٔ نصب نیز در جریان انتشار گزارش می‌شود.

در فلووا، پیشنهاد نصب از راه ارتباط احرازشدهٔ پیوند دستگاه (Device Link) به دستگاه می‌رسد و خود دستگاه فایل میان‌افزار را از طریق HTTPS دریافت می‌کند. دستگاه گواهی سرور فایل را بررسی می‌کند و هنگام دریافت، مقدار SHA-256 فایل را می‌سنجد. خود فایل از مسیر ارتباطی دستگاه عبور نمی‌کند.

پشتیبانی از OTA به میان‌افزار و سخت‌افزار دستگاه وابسته است. برای آشنایی با تنظیم کتابخانهٔ توسعه و انتشار نسخه، مستندات فلووا را ببینید.

از دستگاه نصب‌شده تا محصول قابل نگه‌داری

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