RU2774639C1 - Способ удаленной прошивки микроконтроллера автономного устройства - Google Patents
Способ удаленной прошивки микроконтроллера автономного устройства Download PDFInfo
- 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
Links
- 230000003139 buffering Effects 0.000 claims abstract description 6
- 230000000875 corresponding Effects 0.000 claims description 3
- 238000005516 engineering process Methods 0.000 abstract 2
- 230000000694 effects Effects 0.000 abstract 1
- 239000000126 substance Substances 0.000 abstract 1
- 239000007788 liquid Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 239000010813 municipal solid waste Substances 0.000 description 1
- 238000004092 self-diagnosis Methods 0.000 description 1
- 235000010384 tocopherol Nutrition 0.000 description 1
- 235000019731 tricalcium phosphate Nutrition 0.000 description 1
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)
- Способ удаленной прошивки микроконтроллера автономного устройства, заключающийся в том, что данные для обновления прошивки микроконтроллера скачиваются в область памяти модуля связи, предназначенную для буферизации и хранения прошивки самого модуля связи, отличающийся тем, что данные для обновления прошивки микроконтроллера скачиваются в область памяти модуля связи, предназначенную для буферизации и хранения прошивки самого модуля связи, по мобильным сетям стандарта GSM, NB-IoT, LoRaWAN, в виде данных прошивки микроконтроллера с прикрепленными к ним данными о CRC-сумме, которые формируются на стороне пользовательского приложения и скачивание которых производится микроконтроллером из модуля связи по АТ-команде от самого микроконтроллера, который формирует ее после получения соответствующей команды от удаленного пользовательского приложения, а обновление программного обеспечения микроконтроллера производится после полного скачивания прошивки и проверки на совпадение полученной CRC-суммы с рассчитанной в самом микроконтроллере при получении данных прошивки микроконтроллера с прикрепленными к ним данными о CRC-сумме, при этом, если CRC суммы не совпадают, то данные прошивки удаляются из области памяти модуля связи и в пользовательское приложение отправляется сообщение о неудачной попытке обновления прошивки.
Publications (1)
Publication Number | Publication Date |
---|---|
RU2774639C1 true RU2774639C1 (ru) | 2022-06-21 |
Family
ID=
Citations (5)
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)
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) | 自動検針システム |