Демонстрационная прошивка отладочного комплекта МТС NB-IoT
|
Основным предназначением прошивки отладочного комплекта МТС NB-IoT является иллюстрация принципов построения устройств и систем телеметрии, передающих данные через сеть LTE Cat. NB1 (NB-IoT), а также демонстрация методик работы с поставляемым аппаратным обеспечением.
Прошивка реализует сервисное меню, обеспечивающее доступ к функциям настройки и диагностики, а также предоставляющее прямой доступ к радиомодулю. Кроме этого доступен режим периодической передачи телеметрии.
Взаимодействие с пользователем осуществляется в текстовом режиме через последовательный порт, доступ к которому обеспечивается с помощью преобразователя USB-UART, подключенного к USB-разъему XS8.
С документацией на код можно ознакомиться в разделе "Группы".
Исходный код имеет модульную структуру с выделенными слоями уровня абстракции от оборудования, драйверов установленных на плате устройств, поддержки протокола CoAP, а также собственно кода приложения.
Исходный код не имеет внешних зависимостей и соответствует стандарту ISO C99.
Телеметрия передается на сервер в формате, совместимом с JSON. Строка телеметрии имеет вид
{'interface':'telemetry', 'ICCID':'[s]', 'Tamb_degC':[d], 'aX':[d], 'aY':[d], 'aZ':[d], 'RSSI_dBm':[d], 'latitude':[%.6f], 'longitude':[%.6f], 'GNSS_data_valid':[d]}
Она содержит маркер используемого интерфейса, идентификационный номер SIM-чипа, установленного на плате, значения температуры, измеренной датчиком, установленным на плате, проекций ускорения на оси акселерометра, уровень мощности сигнала сотовой сети, измеренный устройством, а также координаты GNSS с маркером их корректности.
В случае передачи данных через IP строка инкапсулируется в сообщение CoAP, которое затем передается на сервер по протоколу UDP.
В случае передачи данных без использования технологии IP, строка передается в исходном виде с помощью non-IP сервисов сети.
Выбор метода передачи данных осуществляется в сервисном меню.
Прошивка реализует меню настроек, предназначенное для установки рабочих параметров, диагностики, а также доступа к некоторым другим возможностям.
Если при старте платы в области EEPROM контроллера не обнаружено корректных настроек, либо при компиляции был определен макрос ALWAYS_ENTER_SETUP, вход в сервисное меню в любом случае осуществляется автоматически.
1 - установить URL, по которому будут передаваться данные телеметрии
2 - установить IP-адрес сервера
3 - установить номер UDP-порта, на котором сервер будет ожидать сообщения CoAP
4 - установить APN для доступа с использованием NIDD; эта же опция позволяет включить либо выключить использование NIDD
5 - инициировать однократную передачу пакета телеметрии с выбранными настройками (тест)
6 - тест NIDD: ожидание входящих данных через канал NIDD в течение заданного интервала времени
7 - тест функции OBSERVE протокола CoAP
8 - режим ручной передачи AT-команд модулю
9 - режим прямой передачи данных радиомодулю
10 - команда идентификации: вывод ICCID, IMEI, IMSI, серийного номера микроконтроллера и т.п.
11 - отображение информации о сети: RSSI, SNR, Cell ID, EARFCN
12 - установка интервала передачи для режима периодической отсылки телеметрии
13 - установка режима сокрытия данных об истинном местоположении
14 - установка режима функционирования прошивки
15 - чтение показаний датчиков, установленных на плате, и координат GNSS (если соответствующий модуль установлен и находится в состоянии готовности)
16 - перезагрузка контроллера
17 - программная перезагрузка радиомодуля
18 - заводской тест и настройка; для использования на производстве.
Важной особенностью сети LTE Cat NB1 является поддержка режима PSM, по сути предоставляющего возможность полностью отключить радиомодуль, но при этом не потерять регистрацию в сети; таким образом, при повторном его включении экономится время на регистрацию.
С другой стороны, микроконтроллер STM32L152RE поддерживает режим STOP, также позволяющий снизить энергопотребление до незначительных значений.
Указанные возможности позволяют эффективно экономить энергию источника питания; однако особенности работы радиомодуля накладывают некоторые ограничения на целесообразность использования энергосберегающих функций.
Модуль переходит в режим PSM только самостоятельно, по истечении шести секунд с момента включения, либо по истечении времени, определяемого параметром сети T3324.
По этой причине в случае, если интервал передачи телеметрии на сервер составляет менее шести секунд, использование режима PSM не имеет смысла, поскольку модуль не успеет перейти в него.
В режиме сервисного меню функции энергосбережения недоступны.