Терминал — GSM DIALOG
В предыдущей статье был представлен терминал для работы с модулем SIM900 – SIM900_DIALOG, главная идея программы – избавить пользователя от необходимости ввода вручную команд в терминале и от необходимости заглядывать в руководство по AT-командам за пояснениями, которые в кратком виде отображаются в окне слева при наведении указателя мыши на соответствующую кнопку с командой. Так было задумано, но я осилил написать пояснения только для основных команд, после чего появилась идея предоставить пользователю возможность самому выполнять редактирование заготовок команд и пояснений к ним. В итоге получилась программа-терминал, которую можно применять для работы с любым GSM-модулем через последовательный порт, также добавил пару полезных кнопок для навигации по окну диалога, затем напряг фантазию и назвал её GSM_DIALOG.
Программу писал на основе исходников SIM900_DIALOG, поэтому часть функций и назначение кнопок совпадают, в данной статье расскажу о новых возможностях терминала и продемонстрирую его универсальность.
После запуска скачанного с данного сайта программы появится сообщение, что не найден файл конфигурации. Файл будет создан программой и при последующих запусках это окно с сообщением появляться не будет. В данном файле хранятся все AT-команды и описания к ним.
Опишем более подробно специализированные функции терминала. На рисунке ниже представлен один из скриншотов программы.
Нажимаем кнопку OK и видим программу с кнопками без надписей.
Команды-надписи следует создать вручную, для этого заходим в меню Настройки и выбираем пункт Редактирование команд. Программа примет следующий вид:
Создадим заготовку команды проверки состояния модуля AT+CPAS
Запишем её в верхнее левое окно
При получении фокуса любой строкой ввода справа в окне подсказок появляются символы звёздочек в начале каждой строки. Это сделано для удобства редактирования и их следует вручную убрать перед сохранением описания. После создания заготовки команды следует щёлкнуть по окну подсказки, не заходя в другие окна редактирования команд. Иными словами, после введения заготовки команды следует передать фокус ввода окну подсказок, если требуется выполнить в этом окне какое-либо редактирование.
Заполним окно справки для введённой команды и нажмём кнопку «Сохранить описание команды»
Во время редактирования текста в окне справки жёлтым цветом подсвечивается команда, к которой относится редактируемый в правом окне текст. Это сделано для минимизации недоразумения, когда в процессе перемещения указателя мыши к окну справки случайно нажимается кнопка мыши и фокус ввода кратковременно передаётся совсем не той строке с заготовкой команды.
После нажатия кнопки сохранения подсветка команды меняется на зелёную. Сохраняется описание пока не в файл, а в оперативную память. Сохраниение в файл выполняется после выбора команды Настройки — > Сохранить и вернуться в рабочий режим.
В итоге имеем такую картину:
В программе на кнопке появилась введённая в соответствующей строке ввода надпись и при наведении на неё указателя мыши в окне справа появляется введённый при редактировании текст. После перезапуска программы всё остаётся на своих местах, если не изменять вручную и не удалять созданный программой файл ComandConfig.
При редактировании команд есть возможность вводить названия вкладок:
Данные названия тоже сохраняются в файле конфигурации.
Всего в программе 11 разделов команд (Общие, Настройки, …. Разное2), в каждом разделе по 3 вкладки, в каждой вкладке можно разместить по 45 команд, т.е. всего можно сохранить заготовки для 1485 команд, что более чем достаточно для любого GSM-модуля.
Теперь о новых полезных кнопках. Одним из способов ввода команды является выделение соответствующей строки с командой в окне диалога:
В данной момент кнопка «К исходной позиции ([номер строки])» неактивна, т.к. окно диалога не прокручивали после выделения строки. После отправки команды данное окно автоматически прокрутится к последней позиции и активируется кнопка перехода на исходную для возможности выбрать следующую команду. Это удобно для воспроизведения считанных в режиме сниффера команд – не нужно каждый раз запоминать номер строки с последней командой, введённой способом выделения строки диалога и соответственно, не нужно вручную прокручивать сотни-тысячи строк диалога.
Кнопка «Перейти к строке» в связке с окном ввода говорят сами за себя – при нажатии кнопки выполняется переход на строку диалога, номер которой задан в окне ввода:
Следует иметь ввиду, что номер строки окна и номер строки в тексте диалога могут не совпадать, если диалог начался после открытия ранее записанного лог-файла. В обработчиках кнопок навигации задействованы номера строк окна диалога.
Если дойдут руки до следующей версии терминала, то постараюсь продумать этот момент и учесть возможные замечания.
Скачать программу GSM DIALOG v2
Программа обновлена 31 марта 2016.
Иван Абдулхаев | 09.06.2015 | Программы |
adrin02 пишет 19.11.2015 в 02:33 #
Может кто поделиться заполненным конфигом?
adrin02 пишет 19.11.2015 в 02:47 #
А в свободном доступе исходников этих программ нету?
adrin02 пишет 19.11.2015 в 02:51 #
Хотел переделать чтоб команды в списке показывались бы не командами, а человеческими словами. А то очень уж неудобно искать да вспоминать команды, особенно с параметрами.
Иван Абдулхаев пишет 22.11.2015 в 23:08 #
Могу прислать исходники, но не для всеобщего обозрения 🙂 Написаны без расчёта, что кто-то в них будет разбираться, никаких комментариев в них нет. Пишите на адрес указанный в программе.
Иван Абдулхаев пишет 22.11.2015 в 23:14 #
Человеческие команды могут быть разного уровня абстракции. Можно сделать одной командой создание коннекта, а можно одной командой сделать скачивание файла с сервера, тут фантазия безгранична и это будут уже другие программы, заточенные под конкретные задачи. Я ограничился только отправкой AT-команд. Для удобства справа добавил описание конкретной команды при наведении курсора мышки, сгруппировал команды по вкладкам и этим ограничился.
Иван Абдулхаев пишет 04.03.2016 в 13:33 #
Подправил замеченные опечатки, отправил директору сайта программу, чтобы перезалил.
Изменения:
уменьшил количество COM-портов
исправил опечатки, которые привели к неправильной работе 4 кнопок с командами — в консоль отправлялись не те команды, которые написаны на кнопках.
Иван пишет 07.01.2017 в 21:25 #
Не получается скачать файл по ссылке gsm-dialog-v2.rar
Alex_EXE пишет 07.01.2017 в 22:26 #
Исправил
Иван Абдулхаев пишет 13.03.2017 в 21:27 #
Встретил девайс, у которого ответы заканчиваются не на \r\n, а на \r, т.е. данная программа не будет отображать ответы. В исходнике для себя подправил, но если кому нужно, то поделюсь.
Alex_EXE пишет 20.03.2017 в 18:25 #
Работая с разными версиями esp8266 встречал подобное. В своём терминале дал возможность пользователю выбирать окончание строки, причём реализовал все комбинации, ну а вдруг: \r\n, \n\r, \r, \n и произвольный вариант, т.е. пускай сам вводит то, что хочет.
Иван Абдулхаев пишет 20.03.2017 в 20:46 #
Можно посмотреть терминал? Ссылка есть?
Alex_EXE пишет 22.03.2017 в 09:17 #
Al Terminal
Иван Абдулхаев пишет 24.03.2017 в 00:29 #
«Al Terminal»
Интересная программа. Пожалуй сворую оттуда некоторые идеи и в свою добавлю 🙂