Какова оптимальная практика для успешного обновления устройства IoT?
Что нужно сделать, чтобы протестировать OTA-обновления и аутентифицировать устройства? Делая еще один шаг вперед, как вы можете контролировать / управлять версиями программного обеспечения (обновлениями) парка устройств IoT?
testing
authentication
over-the-air-updates
Ноам Хакер
источник
источник
Ответы:
У меня есть программное обеспечение (Windows Server - немного отличающееся от «вещей», но основной принцип тот же), которое вызывает каждые 24 часа - оно отправляет обратно различные метаданные о себе:
Веб-служба анализирует данные и вставляет (или обновляет, если у клиента есть существующая строка) строку в базе данных.
Таким образом, новый клиент автоматически добавляется в БД, существующие клиенты обновляют свою «последнюю увиденную» метку времени, и у нас всегда есть их последняя версия программного обеспечения. Я могу выполнять запросы к БД, которые сообщают мне, какие клиенты используют более старые версии и / или какие клиенты не обращались в течение некоторого времени.
Мы также недавно внедрили автоматическое обновление (например, обновление OTA), и потому что это очень важный процесс, мы внедрили для этого специальную телеметрию, которая записывает:
Это позволяет нам определить, не работают ли определенные аспекты автоматического обновления, и во многих случаях позволяет часто звонить клиенту, прежде чем он даже заметит, что что-то не так.
Большая разница с «вещами» заключается в том, что вы, как правило, ограничены в памяти, поэтому для OTA-обновления
xxx Kb
прошивки вам необходимаxxx Kb * 2
доступная память (существующая прошивка + достаточно памяти для хранения новой прошивки перед началом фактического обновления прошивки)источник
thing
Возможно, на моем компьютере будет мигать светодиод или что-то, предупреждающее пользователя (при условии, что вы хотите, чтобы пользователь «разрешил» обновление), а затемНапример, вы можете отправлять запрос каждые X недель / дней / часов ... на сервер с номером текущей версии программного обеспечения. После этого вы сможете использовать аналитику, чтобы увидеть текущий процент и количество обновленных устройств.
источник
Все дело в умной политике синхронизации
Вам нужна умная политика синхронизации, которая работает в тандеме с вашим подходом к развертыванию обновлений. Наиболее очевидный момент времени, когда устройство IoT должно синхронизировать свою версию, - это сразу после обновления . Остальная часть графика синхронизации сильно зависит от типа устройства.
Всегда ли он включен и подключен через кабельное соединение, когда отдельная синхронизация не стоит (много), имеет смысл периодически выполнять синхронизацию, чтобы поддерживать актуальность ваших данных об устройстве.
Если устройство находится где-то, где каждый бит стоит дорого, потому что вы используете дорогие спутниковые соединения, график синхронизации должен учитывать это обстоятельство.
Проверка синхронизации
В достаточно продвинутом устройстве (считайте ценовой диапазон или область действия, которая его оправдывает) каждое устройство может быть оснащено клиентским сертификатом, который позволяет проверять подлинность синхронизации.
В любом случае, с устройствами конечного пользователя вы всегда будете испытывать падение устройства на радаре из-за разряженных батарей, из-за того, что устройство вышло из строя или просто клиент сменит свой беспроводной пароль и не сообщит устройство IoT. Те, кто может ничего не делать с вашим обновлением, даже если они упадут по времени.
источник