URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 4672
[ Назад ]

Исходное сообщение
"неинтерактивный аналог терминальной программы"

Отправлено San , 22-Сен-05 11:53 
Хочу элементарную программку для работы с модемом через COM-порт,
которой при запуске даешь 2 параметра:
1. AT-команду
2. имя порта (например, "/dev/ttyS0")
Она запускается, кидает в модем AT-команду, ждет ответ модема и выдает его на экран. Все.
Может есть такое в природе?
А если нет... Знатоки С, может есть уже кто-то похожее делал? Или может посоветовать что почитать? С примерами!
Ибо из шелл-скриптов, с помощью echo "ati" > /dev/ttyS0 это не всегда удается сделать. Иногда все ок, а иногда какой-то мусор и дубляж команд в порт пихается. Да и мониторить ответы модема посредством "cat /dev/ttyS0 >> log" - ИМХО извращение.

Содержание

Сообщения в этом обсуждении
"неинтерактивный аналог терминальной программы"
Отправлено favourite , 22-Сен-05 13:25 
>Хочу элементарную программку для работы с модемом через COM-порт,
>которой при запуске даешь 2 параметра:
>1. AT-команду
>2. имя порта (например, "/dev/ttyS0")
>Она запускается, кидает в модем AT-команду, ждет ответ модема и выдает его
>на экран. Все.
>Может есть такое в природе?
>А если нет... Знатоки С, может есть уже кто-то похожее делал? Или
>может посоветовать что почитать? С примерами!
>Ибо из шелл-скриптов, с помощью echo "ati" > /dev/ttyS0 это не всегда удается сделать. Иногда все ок, а иногда какой-то мусор и дубляж команд в порт пихается. Да и мониторить ответы модема посредством "cat /dev/ttyS0 >> log" - ИМХО извращение.

мб поможет chat?


"неинтерактивный аналог терминальной программы"
Отправлено enot , 22-Сен-05 14:27 
>>Хочу элементарную программку для работы с модемом через COM-порт,
>>которой при запуске даешь 2 параметра:
>>1. AT-команду
>>2. имя порта (например, "/dev/ttyS0")
>>Она запускается, кидает в модем AT-команду, ждет ответ модема и выдает его
>>на экран. Все.
>>Может есть такое в природе?
>>А если нет... Знатоки С, может есть уже кто-то похожее делал? Или
>>может посоветовать что почитать? С примерами!
>>Ибо из шелл-скриптов, с помощью echo "ati" > /dev/ttyS0 это не всегда удается сделать. Иногда все ок, а иногда какой-то мусор и дубляж команд в порт пихается. Да и мониторить ответы модема посредством "cat /dev/ttyS0 >> log" - ИМХО извращение.
>
>мб поможет chat?

1. minicom, cu

2.
fd = open("/dev/ttyS0", O_RDWR...);
tcsetattr(fd, ...); // set parameters port
write(fd, ...);
read(fd, ...);
close(fd);


"неинтерактивный аналог терминальной программы"
Отправлено San , 22-Сен-05 16:13 
>1. minicom, cu

Заставить работать cu в неинтерактивном режиме было бы идеальным решением.
Но я не знаю как. Вы могли бы пример привести?

>2.
>fd = open("/dev/ttyS0", O_RDWR...);
>tcsetattr(fd, ...); // set parameters port
>write(fd, ...);
>read(fd, ...);
>close(fd);

Спасибо!


"неинтерактивный аналог терминальной программы"
Отправлено enot , 22-Сен-05 16:33 
>Заставить работать cu в неинтерактивном режиме было бы идеальным решением.
>Но я не знаю как. Вы могли бы пример привести?

Утилита expect. Читал. Сам не пользовался - делает из интерктивной программы неитерктивную. Правда я бы на С быстрее накатал бы ;-)


"неинтерактивный аналог терминальной программы"
Отправлено San , 23-Сен-05 08:05 
>>Заставить работать cu в неинтерактивном режиме было бы идеальным решением.
>>Но я не знаю как. Вы могли бы пример привести?
>
>Утилита expect. Читал. Сам не пользовался - делает из интерктивной программы неитерктивную.
>Правда я бы на С быстрее накатал бы ;-)

Я к сожалению в С не силен.


"неинтерактивный аналог терминальной программы"
Отправлено mezantrop , 23-Сен-05 11:47 
>>>Заставить работать cu в неинтерактивном режиме было бы идеальным решением.
>>>Но я не знаю как. Вы могли бы пример привести?
>>
>>Утилита expect. Читал. Сам не пользовался - делает из интерктивной программы неитерктивную.
>>Правда я бы на С быстрее накатал бы ;-)
>
>Я к сожалению в С не силен.

http://empty.sourceforge.net


"неинтерактивный аналог терминальной программы"
Отправлено pennywise , 22-Сен-05 18:12 
http://www.easysw.com/~mike/serial/serial.html