LINUX.ORG.RU

Прием данных по UART от модема

 ,


0

1

Здравствуйте! Имеется Raspberry Pi и модем. Соединил их по UART. С посылкой команд с Raspberry Pi на модем разобрался (echo -e «AT» > /dev/ttyAMA0). Вопрос! Какой код позволит дождаться ответа от модема? Ответ должен ожидаться некоторое время, а затем опять посылка этой же команды. Если пришел правильный ответ, то прекращается ожидание и посылается следующая команда. Подскажите направление поиска, пожалуйста.

select, poll, epoll

SZT ★★★★★
()
Ответ на: комментарий от anonymous

В rasbiane нет Chat. А с expect можно организовать связь? Какой процесс запустить для связи с сом-портом? Т.е. spawn ....?

vash_sa
() автор топика
Ответ на: комментарий от anonymous

В bash можно это сделать командой read, но тебе, скорее всего, нужен именно «chat» из пакета «ppp».

ABW ★★★★★
()
Ответ на: комментарий от anonymous

Какие настройки ppp нужно использовать чтобы установить телефонное соединение по последовательному порту /dev/ttyAMA0. И запустить chat. Инфы много, но все вокруг да около.

vash_sa
() автор топика
Ответ на: комментарий от vash_sa

Я пытался использовать minicom и expect. Почему-то конфликтуют гады. Expect не желает запускать spawn minicom -b 115200 -o -D /dev/ttyAMA0. Пишет, что приступает к загрузке и сразу выплевывается из скрипта.

vash_sa
() автор топика
Ответ на: комментарий от vash_sa

Желательно организовать обмен в Bash. А большинство примеров в Си или Питоне.

Может, таки быстрее на C или Python будет сделать?

Нет не быстрее. Это нужно написать свой программный модем.

А на баше не нужно?

Нужно.

Где логика?

Krieger_Od ★★
()
Ответ на: комментарий от vash_sa

Выяснил, что expect загружаемый так: sudo apt-get install expect перестал работать. В нем не воспринимаются команда send. Месяца 2 назад устанавливал expect, использовал в скриптах все было нормально. Сейчас ситуация такая: буру старые прошивки с expect - работают. Загружаю rasbian инсталлирую expect, старые рабочие скрипты перестают работать. У кого есть отдельный пакет с рабочим expect? Поделитесь.

vash_sa
() автор топика
Ответ на: комментарий от vash_sa

Это нужно написать свой программный модем.

нет, не нужно

тебе вообще что от того модема надо? Доступ в интернет? Тогда установи ppp

Harald ★★★★★
()
Ответ на: комментарий от Krieger_Od

Логика проста - минимизировать труд для достижения положительного рабочего результата. Я не знаю как в баше организовать прием сообщений от GSM. Загвоздка в том, что сообщения идут с большим количеством \r и \n - т.е. пустых строк. Если я использую read, то она мне читает только 1 строку вывода. А там пусто. И стопор. Если бы можно было сделать конструкцию, чтобы игнорировались символы \r и \n, а читался только текст этого было бы вполне достаточно.

vash_sa
() автор топика
Ответ на: комментарий от Harald

Мне надо обрабатывать обычные AT команды телефонного соединения. Устанавливал ppp запускал chat не получается через него посылать AT команды.

Пример: Посылаю AT\r\r\n

должен получить \r\nOK\r\n

Посылаю AT+CSQ\r\r\n

Получаю \r\n+CSQ: 17,0\r\n\r\nOK\r\n

Я должен в ответах отбросить \r\n (переводы строк (пустые)) и выделить только текст.

vash_sa
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.