Предлагаю добавить считывание технической информации (IMEI, ICCID, Уровень сигнала, Версия ПО) у модема USR-GPRS232-730, как это происходит например у модемов LERS GSM Plus.
Получить данную информацию возможно через установленное модемом TCP соединение.
Необходимо отправить отправить команду вида usr.cn#AT+...
И в ответ модем направит запрашиваемую информацию.
Таким образом к примеру запрос уровня сигнала будет выглядеть следующим образом: usr.cn#AT+CSQ
в ответ мы получим:
usr.cn#
+CSQ: 17,99
Дамп обмена при этом будет выглядеть следующим образом:
Отмечу что для отправки команд через TCP соединение должен быть включен параметр “AT+NATEN” (по умолчанию включен).
Последовательность символов usr.cn, предшествующая посылаемой AT команде является паролем по умолчанию, но в подавляющем большинстве его никто не меняет.
Я вижу две проблемы, которые могут возникнуть при добавлении этого функционала:
Если параметр AT+NATEN не будет включён, тогда контроллер не ответит на этот запрос, а переадресует его сразу к подключенному устройству. Как поведёт себя устройство при получении неизвестной команды, не понятно. Устройство может промолчать, а может прислать ответ, в котором будет ошибка типа “Неизвестная команда”. Пока не ясно, как обработать данную ситуацию и как отличить ответ устройства от ответа контроллера.
На устройстве может быть изменён пароль. Как правило пользователи меняют пароль при вводе устройства в эксплуатацию, поскольку, если оставить пароль по умолчанию какой-нибудь злоумышленник может произвести перенастройку устройства. У нас система передаётся пароль контроллера в драйвер контроллера, однако, она это делает после того, как считана техническая информация по контроллеру. То есть нам потребуется вносить существенные изменения в архитектуру. Сколько это займёт по времени, пока не могу ответить, требуется изучить код.
Согласен с вашими доводами.
В данный момент самостоятельно разрабатываю внешний модуль, который позволит подключаться к контроллеру, считывать упомянутую выше информацию, и при необходимости менять некоторые настройки.
После того, как получим опыт использования такого модуля - предлагаю вернуться к обсуждению данной темы, т.к. обе проблемы, описанные в вашем сообщении, решаемые.
В рамках данной темы можно устройству “USR-GPRS232-730” открыть(добавить) поле “Пароль” в свойствах оборудования ?
На данный момент оно недоступно.
Насколько я понимаю в своем внешнем модуле я смогу получить значение пароля и использовать для формирования команд контроллеру?
Это было бы очень удобно - хранить пароль каждого контроллера в свойствах самого контроллера.
Просьба: если такие работы будут запланированы - добавитье пожалуйста значение по умолчанию - “usr.cn” - чтобы людям не приходилось его забивать для каждого контроллера в случае, если они не меняли пароль по умолчанию.
Спасибо!
Мы пока подумаем насчёт чтения в системе. Возможно, мы сможем получить дополнительные параметры, но только если у модемов включен AT+NATEN. Пароль можно будет задать на том интерфейсе, который вы показали.
Если кто-то из пользователей хочет помочь в тестировании - напишите мне в ЛС и я скину вам файл внешнего модуля.
Сейчас там из настроек правда только конфигурация последовательного порта, но можно и любые другие доступные параметры добавить. Так же есть возможность по данным БС определить приблизительное местоположение модема и отобразить на карте. Ну и уровень сигнала соответственно оценить.
@7in, я тут ознакомился с документацией для устройства и меня смутила информация о том, что перед отправкой АТ команд необходимо менять режим
прозрачной передачи на режим AT-команд, а затем назад в прозрачный.
Выше вы писали:
Но не писали, нужно ли менять режим работы для этого? Так как исходя из описания, если я правильно понял, нужно.
Можно пожалуйста ссылку на страницу в документации, где указано что нужно менять режим, и как это сделать?
Я ничего такого не делал - просто направлял строку модему и он её воспринимал как команду.
Дампы обмена я приводил в начале темы, никаких подготовительных операций(перевод в режим AT команд) перед этим не проводил.
Открыл последний UserManual V1.0.14.01 с сайта, там как раз информация как вы и говорили.
Возникает теперь вопрос, менялось ли ПО устройства… Есть вероятность, что на каком-нибудь старом ПО данный функционал так просто не заработает, как описано в свежей документации.
Могу лишь сказать что команды через сеть у меня заработали на всех имеющихся модемах (более 100 шт.). На некоторых из них было установлено достаточно старое ПО, которое например не поддерживало объединение команд в одном смс сообщении, но на команды по сети они реагировали в соответствии со свежей документацией.
Как проверить данный момент я к сожалению больше не знаю.