Чи є якісь готові хмарні сервіси або рамки для оновлення прошивки в ефірі?


9

У мене є прототип пристрою з обмеженими ресурсами (8-бітний MCU з прошивкою без ОС), що взаємодіє з веб-сервером. Цікаво, чи є рішення, фреймворки або хмарні сервіси для оновлення вбудованого програмного забезпечення мого пристрою. З мого дослідження є Microsoft IoT Hub, але я боюся, що він не підходить для таких обмежених ресурсів пристроїв. Я знайшов ще одне рішення - я знайшов хмарний портал mbed, але я не впевнений, як це працює. Хтось може мені допомогти будь-якою порадою, можливо, є кілька найкращих практик щодо вдосконалення вбудованих програм в ефір для вбудованих пристроїв надійним та надійним способом?


Поки що таких послуг немає. Загальна реалізація цього дуже втомлива, може бути реалізовано націлювання на конкретний тип пристрою.
bravokeyl

Існує mender.io , який є приблизно тим, що ви хочете. Але я вважаю, що він орієнтований на вбудовані пристрої високого класу та на 8-бітні вузли.
мат

Відповіді:


4

Я відповім лише на цю частину, оскільки я не знаю, що немає системи «поза коробкою» для невідомої вогневої стріли.

можливо, є кілька найкращих практик для впровадження оновлень вбудованого програмного забезпечення в ефір для вбудованих пристроїв надійним та надійним способом?

Що стосується практики, я б робив наступне:

1) Майте дуже мінімальний завантажувач: щось настільки немічне, що відповідає тільки для завантаження мікропрограмного забезпечення з такими обмеженнями:

  • Можливість запису останнього успіху / відмови завантаження (відкат до робочої версії у разі відмови)
  • Якийсь екстрений процес прийому нової мікропрограми у випадку катастрофічного збою (необов’язково, можна уникнути, якщо "цегляний" пристрій допустимий)

2) Встановіть у вашому сховищі два "завантажувальні банки" розумного розміру для подальшої еволюції та зростання прошивки.

3) Перевірте зображення вбудованого програмного забезпечення після завантаження, щоб переконатися, що він правильний перед записом, перевіряйте суму банку призначення після запису, щоб знову переконатися, що він не провалить кудись зниклий біт.

Забачена точка зазвичай є контрольною сумою завантаженого зображення до і після запису, в результаті чого пошкоджена система, записана на пристрої. Використання двох банків та чергування зазвичай полегшують процес оновлення.


5

mbed хмара пропонує повний функціонал оновлення програмного забезпечення, але я думаю, у вас виникнуть проблеми з перенесенням його на вашу платформу, якщо ви працюєте без ОС. Я не думаю, що джерело є сьогодні відкритим, тому ви навіть не можете використовувати його для довідки. Я також не впевнений, які критерії зараз отримують доступ.

Вам потрібно подумати про необхідні функції - це масштабне розгортання, де вам потрібно мати змогу робити поетапні розгортання прошивки, чи не переймаєтесь ви підписанням мікропрограмного забезпечення, чи ваша платформа повністю відкрита для всіх, хто має фізичний доступ? Скільки ви дбаєте про можливість відновлення цегляного пристрою без JTAG?

Реально такі функції, як оновлення OTA, ймовірно, є тим, що сприяє вибору вашої ОС та пристроїв - коли ви враховуєте витрати на розробку.


5

Перевірте OTA, яка є абревіатурою Over The Air. Ардуїно має таку властивість .

Можна оновити за допомогою Arduino IDE, веб-браузера або HTTP-сервера.

Опція Arduino IDE призначена головним чином на етапі розробки програмного забезпечення. Інші два варіанти будуть більш корисними після розгортання, щоб забезпечити модуль оновленнями програм вручну за допомогою веб-браузера або автоматично за допомогою http-сервера.


Одна з найнеприємніших речей про цю бібліотеку та взагалі Ардуїно - це відсутність безпеки. Це рішення підходить для проектів самостійно чи для школи, але не для комерційних пристроїв. Особливо мені не подобається відсутність будь-якої автентифікації: це незахищеність від заміни вбудованого програмного забезпечення на зловмисне, правильне дайджест MD5.
Вадимчик


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.