Эмулятор устройств с Serial-интерфейсом

Портфолио

В процессе работы над прошивкой GSM-ребутера возникла необходимость сымитировать GSM-модуль SIM900 в части ответа на АТ-команды. Родилась идея написать программу, которая бы отвечала на определенные команды в определенной последовательности, при этом чтобы позволяла удобно править этот список команд.

Предлагаем Вашему вниманию программу Serial Device Emulator. Это альфа-версия программы, имеет минималистический дизайн, но позволяет решить основные задачи.

serial_device_emulator

Для подключения внешнего устройства к эмулятору использовался виртуальный бридж, созданный с помощью программы com0com

В верхней части окна можно выбрать COM-порт для общения с внешним устройством и параметры скорости. Также можно загрузить существующий файл диалога. Формат файла следующий:

index|command|answer|next

Например, стартовый диалог с модулем SIM900 выглядит так:

0|AT|OK|1
1|ATE0|OK|2
2|AT+IPR=9600|OK|3
3|AT+CPIN?|READY|4
4|AT+CREG?|CREG: 0,1|5
5|AT+CMGF=1|OK|6
6|AT|OK|7
7|AT+CPBR=1|+380501234567|8
8|AT+CPBR=2|+380921234567|9

В программе также возможны ветвления, для этого нужно указать одинаковый индекс и программа переберет все варианты, сравнивая их с запросом, например:

1|CMD1.1|OK|2
1|CMD1.2|OK|3
1|CMD1.3|OK|4
2|CMD2|OK|5
3|CMD3|OK|5
4|CMD4|OK|5
5|CMD5|OK|6

Такое ветвление будет выглядеть следующим образом:

serial_device_emulator2

Для создания или редактирования диалога можно использовать таблицу в самой программе, после чего его можно сохранить кнопкой “Save”

Загруженный диалог также можно править в процессе выполнения, для применения изменений необходимо нажать кнопку “Save”.

В нижнем окне программы синим цветом отображаются принятые команды, а красным – отправленные ответы.

Для работы эмулятора необходимо установить .NET Framework

Сам эмулятор можно скачать по ссылке: Serial Device Emulator v.0.1

Все замечания, пожелания и баг-репорты можно оставлять в комментариях.

com-портSIM900эмулятор

  • Nikolai Boichenko says:

    win xp sp3, программа просто закрывается при попытке отправить в неё данные


Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>