RU2774639C1 - Способ удаленной прошивки микроконтроллера автономного устройства - Google Patents

Способ удаленной прошивки микроконтроллера автономного устройства Download PDF

Info

Publication number
RU2774639C1
RU2774639C1 RU2021126859A RU2021126859A RU2774639C1 RU 2774639 C1 RU2774639 C1 RU 2774639C1 RU 2021126859 A RU2021126859 A RU 2021126859A RU 2021126859 A RU2021126859 A RU 2021126859A RU 2774639 C1 RU2774639 C1 RU 2774639C1
Authority
RU
Russia
Prior art keywords
microcontroller
firmware
data
communication module
crc
Prior art date
Application number
RU2021126859A
Other languages
English (en)
Inventor
Даниел Сергеевич Иванов
Райгедас Йонович Поцюс
Александр Витальевич Скрылев
Original Assignee
Общество с ограниченной ответственностью "БИНОЛОДЖИ"
Filing date
Publication date
Application filed by Общество с ограниченной ответственностью "БИНОЛОДЖИ" filed Critical Общество с ограниченной ответственностью "БИНОЛОДЖИ"
Application granted granted Critical
Publication of RU2774639C1 publication Critical patent/RU2774639C1/ru

Links

Images

Abstract

Изобретение относится к области вычислительной техники. Технический результат заключается в обеспечении возможности удаленной прошивки микроконтроллеров автономных устройств в беспроводных сетях, работающих в мобильных сетях стандарта GSM, NB-IoT, LoRaWAN. Технический результат достигается за счет того, что данные для обновления прошивки микроконтроллера скачиваются в область памяти модуля связи, предназначенную для буферизации и хранения прошивки самого модуля связи по мобильным сетям стандарта GSM, NB-IoT, LoRaWAN в виде данных прошивки микроконтроллера с прикрепленными к ним данными о CRC-сумме, которые формируются на стороне пользовательского приложения и скачивание которых производится микроконтроллером из модуля связи по АТ-команде от самого микроконтроллера, который формирует ее после получения соответствующей команды от удаленного пользовательского приложения, а обновление программного обеспечения микроконтроллера производится после полного скачивания прошивки и проверки на совпадение полученной CRC-суммы с рассчитанной в самом микроконтроллере при получении данных прошивки микроконтроллера с прикрепленными к ним данными о CRC-сумме, при этом, если CRC суммы не совпадают, то данные прошивки удаляются из области памяти модуля связи и в пользовательское приложение отправляется сообщение о неудачной попытке обновления прошивки. 1 ил.

Description

Изобретение относится к телекоммуникационным технологиям, в частности, к мобильным устройствам и может быть использовано для удаленной прошивки микроконтроллеров автономных устройств в беспроводных сетях, работающих в стандартах GSM, NB-IoT, LoRaWAN.
В основу изобретения положено решение технической задачи удаленного обновления программного обеспечения автономного устройства, заключающееся в использовании для буферизации и временного хранения области памяти модуля связи, предназначенную для скачивания и хранения прошивки самого модуля связи.
Известно техническое решение [RU 200930, U1, G06F 1/28, 19.11.2020] в области средств питания ИТ оборудования, в котором обеспечивается возможности добавлять поддержку новых потребителей путем смены прошивки микроконтроллера без изменений в составе аппаратной части платы логики за счет подключения микроконтроллера в шину I2C в качестве посредника между цифровыми микросхемами платы логики и коммутатором, для чего плата логики содержит микросхему защиты, микроконтроллер для реализации функции самодиагностики и обмена данными с коммутатором по шине I2C, микросхему генератора тактовых импульсов и микросхему памяти для хранения служебных данных.
Недостатком реализованного в этом техническом решении способа является относительно узкая область применения, поскольку не предусмотрена возможность удаленной прошивки микроконтроллера.
Наиболее близким по технической сущности к предложенному является способ удаленной прошивки микроконтроллера, реализованный в устройстве, представленном в техническом решении [RU 178204, U1, G04G 9/00, 21/07/2017] и которое снабжено модулем беспроводной связи, связанным с микроконтроллером по интерфейсу RS232. В качестве модуля беспроводной связи предпочтительно используется микроконтроллер ESP8266, поддерживающий стандарты беспроводной связи IEEE 802.11b/g/n и стек сетевых протоколов ТСР/IP. Модуль работает по стандарту IEEE 802.11n на частоте 2,4 ГГц. Модуль ESP8266 выполнен с возможностью отправлять на устройства, подключенные к нему по беспроводной связи, веб-страницу, на которой размещены показания датчиков температуры, давления и влажности, а также элементы управления часами на газоразрядных индикаторах. Кроме того, модуль ESP8266 выполнен с возможностью поддержки обновления прошивки по беспроводному соединению, а именно по сети Wi-Fi.
Таким образом, в известном устройстве используется распространенный способ прошивки микроконтроллера через модуль связи ESP8266, заключающийся в том, что прошивка осуществляется подачей управляющего сигнала модулю связи от главного микроконтроллера, по которому он проверяет наличие новой прошивки по определенному адресу в интернете и, при ее наличии, побитно по интерфейсу RS232 записывает новую прошивку в загрузочную область памяти главного микроконтроллера.
Недостатком наиболее близкого технического решения является относительно узкая область применения, поскольку реализованный в нем способ и используемый для этого модуль ESP8266 может быть использован только в сетях стандарта Wi-Fi и не может быть использован для систем и устройств, работающих в стандартах GSM, NB-IoT, LoRaWAN, модули связи в которых существенно отличаются своими техническими характеристиками и возможностями.
Так модуль ESP8266 имеет встроенную память для пользовательских целей (до 1 МБайта), которая доступна для хранения любой информации, в том числе прошивки микроконтроллера. В модулях связи, работающих в стандартах GSM, NB-IoT, LoRaWAN такого объема энергонезависимой памяти для пользовательских целей нет. Поэтому мы предлагаем использовать раздел памяти, который недоступен для непосредственной с ней работы, а именно раздел памяти, предназначенный для буферизации и временного хранения прошивки самого модуля связи.
Задача, которая решается в изобретении, направлена на создание способа, обеспечивающего удаленную прошивку микроконтроллеров для систем, работающих в стандартах GSM, NB-IoT, LoRaWAN.
Требуемый технический результат заключается в расширении области применения способа удаленной прошивки микроконтроллера путем обеспечения такой операции в системах, работающих в стандартах GSM, NB-IoT, LoRaWAN.
Поставленная задача решается, а требуемый технический результат достигается тем, что в способе, заключающемся в том, что данные для обновления прошивки главного микроконтроллера скачиваются в область памяти модуля связи, предназначенную для буферизации и хранения прошивки самого модуля связи, согласно полезной модели, данные для обновления прошивки главного микроконтроллера скачиваются в область памяти модуля связи, предназначенную для буферизации и хранения прошивки самого модуля связи, по сетям, работающих в стандартах GSM, NB-IoT, LoRaWAN, в виде данных прошивки микроконтроллера с прикрепленными к ним данными о CRC-сумме, которые формируются на стороне пользовательского приложения и скачивание которых производится главным микроконтроллером из модуля связи по АТ-команде от самого микроконтроллера, который формирует ее после получения соответствующей команды от удаленного пользовательского приложения, а обновление программного обеспечения микроконтроллера производится после полного скачивания прошивки и проверки на совпадение полученной CRC-суммы с рассчитанной в самом микроконтроллере при получении данных прошивки микроконтроллера с прикрепленными к ним данными о CRC-сумме, при этом, если CRC суммы не совпадают, то данные прошивки удаляются из области памяти модуля связи и в пользовательское приложение отправляется сообщение о неудачной попытке обновления прошивки.
На чертеже представлено устройство, иллюстрирующего пример реализации предложенного способа.
На чертеже обозначены:
1 - модуль связи;
2 - микроконтроллер;
3 - измеритель расстояния;
4 - акселерометр;
5 - датчик температуры;
6 - модуль геолокации.
Устройство предназначено для измерения уровня наполненности различных емкостей и сосудов различными материалами, твердыми коммунальными отходами, жидкостями и др. Оно включает в себя помимо измерителя расстояния 3 и модуля связи 1, предназначенного для передачи данных в пользовательское приложение, акселерометр 4 для измерения фактов опустошения емкостей и сосудов, а также вандальных действий в их отношении, если это требуется, также содержит датчик температуры 5 для регистрации фактов возгорания внутри емкостей и сосудов, и модуль геолокации, предназначенный для определения местоположения емкостей и сосудов, если это необходимо.
Удаленное пользовательское приложение может быть реализовано в WEB-интерфейсе в виде отдельного приложения для ПК под управлением Windows или MacOS, а также в виде отдельного приложения для смартфона на базе Android или iOS и предназначено для приема и передачи данных в сети Интернет.
Предложенный способ удаленной прошивки микроконтроллера автономного устройства реализуется следующим образом.
Особенностью работы устройства является то, что в нем не установлена дополнительная энергонезависимая память и памяти в установленных микросхемах недостаточно для хранения прошивки для устройства.
В модуле связи возможен доступ к области памяти, предназначенной для скачивания и хранения прошивки самого модуля связи 1. Скачивание данных прошивки главного микроконтроллера производится через аппаратные возможности модуля связи 1 после получения АТ-команды от микроконтроллера 2, который формирует ее после получения соответствующей команды от пользовательского приложения. Удаленное пользовательское приложение, которое может быть реализовано в WEB-интерфейсе в виде отдельного приложения для ПК под управлением Windows или MacOS, а также в виде отдельного приложения для смартфона на базе Android или iOS. Оно предназначено для приема и передачи данных в сети Интернет. Данные прошивки могут скачиваться как целиком, так и частями. В мобильных сетях может происходить разрыв соединения и может наблюдаться низкая пропускная способность канала связи. Поэтому предлагается делить данные прошивки на части и докачивать только те, которые «потерялись», тем самым экономить трафик и расходы на передачу данных.
Обновление программного обеспечения производится только после полного скачивания прошивки и проверки CRC суммы. Если CRC сумма не совпадает, то прошивка удаляется из области памяти модуля связи 1 и в пользовательское приложение отправляется соответствующее сообщение.
После успешного обновления программного обеспечения в энергонезависимую память микроконтроллера 2 записывается индикатор, который проверяется микроконтроллером 2 каждый раз при переходе в рабочий режим. Если обнаруживается наличие такого индикатора, то микроконтроллер 2 формирует команду на удаление данных прошивки и направляет ее в модуль связи 1, который, в свою очередь, выполняет очистку области памяти, в которой хранились данные прошивки. После отправки команды микроконтроллер 2 удаляет из своей памяти индикатор.
Таким образом, в предложенном техническом решении достигается требуемый технический результат, который заключается в расширении области применения способа удаленной прошивки микроконтроллера путем обеспечения такой операции в системах, работающих в стандартах GSM, NB-IoT, LoRaWAN.

Claims (1)

  1. Способ удаленной прошивки микроконтроллера автономного устройства, заключающийся в том, что данные для обновления прошивки микроконтроллера скачиваются в область памяти модуля связи, предназначенную для буферизации и хранения прошивки самого модуля связи, отличающийся тем, что данные для обновления прошивки микроконтроллера скачиваются в область памяти модуля связи, предназначенную для буферизации и хранения прошивки самого модуля связи, по мобильным сетям стандарта GSM, NB-IoT, LoRaWAN, в виде данных прошивки микроконтроллера с прикрепленными к ним данными о CRC-сумме, которые формируются на стороне пользовательского приложения и скачивание которых производится микроконтроллером из модуля связи по АТ-команде от самого микроконтроллера, который формирует ее после получения соответствующей команды от удаленного пользовательского приложения, а обновление программного обеспечения микроконтроллера производится после полного скачивания прошивки и проверки на совпадение полученной CRC-суммы с рассчитанной в самом микроконтроллере при получении данных прошивки микроконтроллера с прикрепленными к ним данными о CRC-сумме, при этом, если CRC суммы не совпадают, то данные прошивки удаляются из области памяти модуля связи и в пользовательское приложение отправляется сообщение о неудачной попытке обновления прошивки.
RU2021126859A 2021-09-13 Способ удаленной прошивки микроконтроллера автономного устройства RU2774639C1 (ru)

Publications (1)

Publication Number Publication Date
RU2774639C1 true RU2774639C1 (ru) 2022-06-21

Family

ID=

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2010139891A (ru) * 2008-02-29 2012-04-10 Шлюмбергер Текнолоджи Б.В. (Nl) Способ, система и устройство для удаленного обновления программного обеспечения встроенного устройства
US20120197973A1 (en) * 2011-01-27 2012-08-02 Wyse Technology Inc. Transferring configuration data from a public cloud server and applying onto a mobile client
US20140082602A1 (en) * 2011-11-28 2014-03-20 Muralidhara Mallur Deployment and updating of applications and drivers on a client device using an extensible markup language (xml) configuration file
US20150020060A1 (en) * 2011-11-11 2015-01-15 Wyse Technology L.L.C. Robust firmware update with recovery logic
US20160269227A1 (en) * 2007-12-18 2016-09-15 Amazon Technologies, Inc. System and method for configuration management service

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160269227A1 (en) * 2007-12-18 2016-09-15 Amazon Technologies, Inc. System and method for configuration management service
RU2010139891A (ru) * 2008-02-29 2012-04-10 Шлюмбергер Текнолоджи Б.В. (Nl) Способ, система и устройство для удаленного обновления программного обеспечения встроенного устройства
US20120197973A1 (en) * 2011-01-27 2012-08-02 Wyse Technology Inc. Transferring configuration data from a public cloud server and applying onto a mobile client
US20150020060A1 (en) * 2011-11-11 2015-01-15 Wyse Technology L.L.C. Robust firmware update with recovery logic
US20140082602A1 (en) * 2011-11-28 2014-03-20 Muralidhara Mallur Deployment and updating of applications and drivers on a client device using an extensible markup language (xml) configuration file

Similar Documents

Publication Publication Date Title
Molina-Pico et al. Forest monitoring and wildland early fire detection by a hierarchical wireless sensor network
US20090231189A1 (en) Vehicle tracking and security using an ad-hoc wireless mesh and method thereof
US8447265B2 (en) Proximity based emergency communication system
KR20100097050A (ko) 컨테이너 트랙킹
WO2018031415A1 (en) Mobile transceiver having device-based alarm profile and a method of operation
BR112012002103B1 (pt) sistema de rastreamento de bens, módulo de estação de base móvel e método de rastreamento de um bem
CN105554861A (zh) 一种基于位置和时间自动联网的方法和系统
WO2013142975A1 (en) Method and system for providing an indication of a path followed by a bicycle
EP3445018B1 (en) Method and system for upgrading firmware and configuration of a low data rate rf module using bluetooth
US20080246604A1 (en) Wireless interface module
CN101888411A (zh) 车用主动式兴趣点搜索系统及其搜索方法
RU2774639C1 (ru) Способ удаленной прошивки микроконтроллера автономного устройства
WO2018013047A1 (en) Method and device for monitoring statuses and positions of goods
US10440541B2 (en) Beacon having multiple communication interfaces
US20230413179A1 (en) Field device, expansion module and method for operation
CN201750444U (zh) 车用主动式兴趣点搜索系统
JP6478871B2 (ja) 無線通信システム及び無線通信装置
CN203298925U (zh) 一种支持gps无线管网压力测量装置
WO2013057346A1 (es) Procedimiento de transferencia de datos entre al menos una boya lagrangiana de medición de corrientes para entornos oceánicos y costeros y una estación base, y boya lagrangiana de medición de corrientes para entornos oceánicos y costeros
CN109164474A (zh) 基于北斗gps定位系统的集装箱监控装置
JP2006277353A (ja) 検針用無線システム
CN109981658A (zh) 一种新型防干扰的数据保护系统
JP2016111436A (ja) 無線テレメータシステム及び無線通信装置
JP2007336130A (ja) 電子式案内システム
JP2001145178A (ja) 自動検針システム