GSM1318

Обновление базового программного обеспечения модемов Enfora по Интернету (FOTA)

№ 2’2013
PDF версия
В тех случаях, когда GSM/GPRS-модемы фирмы Enfora размещены на удаленных объектах и физический доступ к ним затруднен, обновление программного обеспечения осуществляется удаленно по Интернету. Особенно удобна эта функция для беспроводных систем контроля электричества, газа, воды, управление которыми осуществляется из одного центрального диспетчерского пункта.

В заводских настройках нового модема ENFORA GSM1318 функция FOTA (Firmware Over The Air) устанавливается по умолчанию. В принципе опцию FOTA можно установить и в предыдущих моделях GSM1308. Для этого нужно, чтобы прошивка модуля была не ниже PKG47 и модуль имел бы объем памяти RAM 8 Мбайт. Программисты Enfora постоянно работают над совершенствованием прошивки базовых модулей, устраняя выявленные недостатки и добавляя новые функции и АТ-команды. При появлении новой версии программного обеспечения Enfora уведомляет своих пользователей об этом и бесплатно предоставляет исполнительный файл для перепрошивки модуля. Процесс удаленного обновления программного обеспечения (FOTA) реализуется с помощью FTP-сервера. В этом случае модем используется в качестве FTP-клиента.

В общем случае программное обеспечение FTP-сервера позволяет открывать доступ по Интернету к определенным папкам на центральном компьютере удаленным абонентам, находящимся в любой точке мира. Доступ к серверу осуществляется через логин и пароль. Для закачки исполнительного файла в удаленный модем используется набор специальных АТ-команд. Подробно об этом будет сказано ниже.

Передача файла в Интернете проводится по протоколу FTP (File Transfer Protocol) с помощью TCP/IP. В самом протоколе поддерживаются средства для докачки файла, для тех случаев, когда передача файла была прервана по каким-либо причинам. При этом пользователи, для которых предназначены материалы, смогут использовать для скачивания файлов стандартные FTP-клиенты, обеспечивающие докачку и скачивание в несколько потоков.

Протокол FTP реализуется по схеме «клиент-сервер». При этом используются разные сетевые соединения для передачи команд и данных между клиентом и сервером. Так, например, команды и данные передаются на разные порты (порт 20 — данные, порт 21 — команды). Существует несколько вариантов аутентификации. Один вариант допускает передачу логина и пароля открытым текстом. В другом случае пользователь может подключиться к серверу анонимно. Кроме того, есть варианты, позволяющие использовать протокол SSH для безопасной передачи, при которой логин и пароль зашифрованы и скрыты.

Для опытных пользователей создание своего собственного FTP-сервера не вызовет особенных проблем. Для этого необходим современный ПК и соответствующее программное обеспечение. Можно, например, использовать бесплатный FTP-сервер FileZilla. Скачать его бесплатную версию можно здесь: http://filezilla-project.org/. FileZilla — один из лучших бесплатных FTP-менеджеров, эта программа позволяет скачать и загрузить файлы с разнообразных FTP-серверов. Она имеет удобный и простой интерфейс и обладает большим количеством дополнительных возможностей. В процессе установки потребуется создать набор учетных записей, определить для каждого пользователя права доступа и указать служебный каталог на ПК, который будет выделен на жестком диске для обмена данными. Кроме того, нужно будет указать внешний (интернетовский) IP-адрес, по которому пользователи смогут попадать на этот FTP-сервер.

Следует учитывать тот факт, что, если IP-адрес центрального ПК статический, то никаких проблем не возникнет. Если адрес динамический, то при каждом подключении центрального ПК к Интернету IP будет другим, и вам нужно будет сообщать пользователям новый адрес FTP-сервера. В этом случае можно использовать любой сервис Dynamic DNS, на котором центральному ПК присвоят постоянное доменное имя.

Главное окно программы FTP-менеджера FileZilla

Рис. 1. Главное окно программы FTP-менеджера FileZilla

Нужно подчеркнуть, что для надежной работы сервер должен поддерживать работу с AT-командами и незапрашиваемыми откликами, используя формат Enfora UDP API messages. После включения компьютера и запуска программы FTP-сервер будет находиться в режиме ожидания запросов от модема (рис. 1). Для продолжения работы следует ввести пароль (рис. 2). Подробная инструкция по работе с FTP-менеджером FileZilla приведена на сайте http://filezilla.ru/documentation/Using.

Запрос на аутентификацию для работы с FTP-менеджером FileZilla

Рис. 2. Запрос на аутентификацию для работы с FTP-менеджером FileZilla

С помощью специальных АТ-команд можно открыть сессию с удаленным модемом по порту 21.
Это соединение будет оставаться открытым на время работы сессии. Второе соединение, необходимое для передачи данных, может быть инициализировано как сервером из порта 20 к порту соответствующего модема (активный режим), так и удаленным модемом из любого порта к порту сервера (пассивный режим). Следует учитывать, что в варианте FOTA удаленный модем не имеет абсолютно всех свойств, которые в общем случае присущи FTP-клиенту. Подробно свойства FTP-клиента и FTP-сервера в приложении к Enfora FOTA рассмотрены в [1, 2].

Исполнительный файл, полученный от Enfora, который нужно удаленно загрузить в модем, может быть записан в папке “FOTA”, находящейся в корневом каталоге, например C:EnforaFOTA. Важно то, что эти файлы должны храниться в той директории на FTP-сервере, к которой модем может получить свободный доступ. Параметры исполнительных файлов для текущих версий различных ПО 2013 года приведены в таблице.

Таблица. Параметры исполнительных файлов

Название исполнительного файла

Размер, кбайт

Модем

Текущая версия прошивки

Конечная версия прошивки

Hdr_PKG51_D3PKG53.bin

164

GSM1318

PKG51

PKG53-D3

Hdr_PKG51_D6PKG53.bin

212

GSM2438

PKG51

PKG53-D6

Hdr_D7PKG50_D6PKG53.bin

289

GSM2358

PKG50-D7

PKG53-D6

Hdr_PKG51_D1PKG51.bin

37

GSM0408 (необходим дополнительный файл активации для каждого IMEI)

PKG51

PKG51-D1

На следующем этапе следует загрузить прошивку (дельта-файл) в программу FTP-менеджера. Для этого нужно просто перетащить мышкой файл из левого окна интерфейса, в котором показаны каталоги клиента на жестком диске, в правое окно, соответствующее месту на FTP-сервере (рис. 3).

Интерфейс для загрузки исполнительного файла

Рис. 3. Интерфейс для загрузки исполнительного файла

Перезагружают дельта-файл в модем в обратном порядке. При этом нужно использовать пароль, введенный для этапа update. Схематически процесс реализации функции FOTA показан на рис. 4.

Схема работы функции Enfora-FOTA

Рис. 4. Схема работы функции Enfora-FOTA

Модем (FTP-клиент) первоначально должен быть сконфигурирован для работы с FTP-сервером с помощью АТ-команды AT$FOTACFG=“ftpServer,”“username”,“password”… 0. В этой команде определяется, кроме прочего, режим загрузки — автоматический или ручной (последний параметр — 0 или 1). По команде AT$FOTAGET=“remotefilename” модем инициализирует соединение с FTP-сервером через IP-протокол и создает контрольное соединение. Поскольку протокол FTP работает только через TCP-соединение и последовательный порт, то передача данных происходит в два этапа.

На втором этапе данные в виде IP-пакета пересылаются в буфер временной памяти модема. Затем они конвертируются в поток последовательных данных, пригодный для передачи через COM-порт. Пользователь может контролировать процесс получения модемом файла данных с помощью АТ-команд: AT$FOTAGET?. Если процесс обновления ПО прошел успешно, ответ на эту команду будет такой: $FOTAGET: 0, fota.bin, 0, 0,0.

Со своей стороны сервер обеспечивает контроль передачи данных через последовательный порт. По окончании получения данных модем посылает уведомление об успешной передаче.

Далее соединение с сервером устанавливается автоматически (или в ручном режиме, с помощью другой АТ-команды). При этом принятые данные автоматически сохраняются в памяти модема, и пользователю не нужно принудительно использовать команду AT&W. Затем модем автоматически перезапускается (или с помощью АТ-команды перезапускается в ручном режиме). На этом процесс обновления ПО модема заканчивается.

Функция FOTA в модемах Enfora позволяет прерывать и автоматически перезапускать процесс перезагрузки в случаях обнаружения ошибок или потери связи. Эта процедура реализуется в соответствии со спецификацией FTP RFC3659. Поэтому FTP-сервер должен поддерживать команду FTP File Restart command (REST). Принцип автоматической перезагрузки процесса передачи дельта-файла показан на рис. 5.

Принцип автоматической перезагрузки передачи дельта-файла

Рис. 5. Принцип автоматической перезагрузки передачи дельта-файла

В том случае, когда произошел сбой загрузки, ответ на команду AT$FOTAGET? будет получен в таком виде: $FOTAGET: 0, wrongfota.bin, 0, 0, 176.

При работе в автоматическом режиме процесс загрузки обновления будет остановлен и начат заново без вмешательства оператора. Этот цикл может повторяться многократно до тех пор, пока обновление ПО не будет успешно реализовано.

Литература
  1. SAG+, User Guide, GSM13X8UG001. Ver.:1.01. Jan. 01, 2012.
  2. Enabler-G Firmware Upgrade.
  3. Enfora FOTA. Application Note ENF0000AN002. Rev. 1.02. Feb. 10. 2009.
  4. Application Note GSM0308AN001. Enfora. Enabler III. AT-Commands Over SMS.
  5. Network Configuration Worksheet.
  6. Sending AT Commands over SMS.
  7. Configure the Modem to talk to the Enfora Server.

Добавить комментарий

Ваш адрес email не будет опубликован.