Войти в систему

Home
    - Создать дневник
    - Написать в дневник
       - Подробный режим

LJ.Rossia.org
    - Новости сайта
    - Общие настройки
    - Sitemap
    - Оплата
    - ljr-fif

Редактировать...
    - Настройки
    - Список друзей
    - Дневник
    - Картинки
    - Пароль
    - Вид дневника

Сообщества

Настроить S2

Помощь
    - Забыли пароль?
    - FAQ
    - Тех. поддержка



Пишет zimopisec ([info]zimopisec)
@ 2003-06-11 15:16:00


Previous Entry  Add to memories!  Tell a Friend!  Next Entry
Вопрос к программмоделам ,писавшим для модемов.
Пытаюсь написать программку , которая говорила бы со стандартным сименсовским модемом.
Гипертерминал возвращает те или иные ответы в соответствии с протоколом.
А при попытке послать команду на модем ( через кабель rs232 , COM порт) через обычный контрол получаю просто копию посланной команды
Чего там не хватает?


(Добавить комментарий)


[info]losiki@lj
2003-06-11 02:56 (ссылка)
Хреновый, конечно, ответ, но может, посмотреть исходники какой-нить cu? Кстати, а больше ничего не приходит? Эхо-то как раз нормально.

(Ответить)


[info]igor_a@lj
2003-06-11 03:15 (ссылка)
А перевод строки делаете - 0x0D ?

(Ответить) (Ветвь дискуссии)


[info]zimopisec@lj
2003-06-11 03:24 (ссылка)
Угу, перевод как раз делаю, проблема была в том, что посылал блоком, а не покарактерно.
С этим в порядке. Теперь проблема- заставить его СМС посылать
Кстати, не помните- CTRL-Z это 26, я ничего не напутал?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]igor_a@lj
2003-06-11 03:53 (ссылка)
Да, Ctrl-Z это 26.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re:
[info]zimopisec@lj
2003-06-11 04:01 (ссылка)
Тогда ни фига не понимаю...
Вы с этим имели дело?
Устанавливаю текстовую моду, затем посылаю строку ( по протоколу) AT+CMGS="054857019"text- и получаю ошибку, причем эхо скипит часть текста

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]igor_a@lj
2003-06-11 05:28 (ссылка)
С этим я дела не имел, но номер и текст должны быть разделены переводом строки, а в Вашем примере они в одной строке. Может быть, Вы этот перевод в программе делаете, тогда ничего посоветовать не могу.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re:
[info]zimopisec@lj
2003-06-11 05:39 (ссылка)
Пробовал и так, и так...
И ждать ответа от модема, и посылать сразу.
Пока безрезультатно

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]igor_a@lj
2003-06-11 07:55 (ссылка)
А посылать сразу, но в варианте AT+CMGS="054857019\r"text
не пробовали?

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re:
[info]zimopisec@lj
2003-06-11 08:30 (ссылка)
Пробовал, но в варианте \r после кавычки.
Быть может, проблема в СИМ-карте или еще в чем-то...

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]igor_a@lj
2003-06-11 09:13 (ссылка)
Всё-таки похоже, что модем почему-то не воспринимает разделитель номера и текста. Проверьте на всякий случай комбинацию "перевод строки + возврат каретки" -
AT+CMGS="054857019\r\n"text

(Ответить) (Уровень выше)


[info]igor_a@lj
2003-06-11 21:18 (ссылка)
Кстати, а что значат слова -в варианте \r после кавычки?
Ведь сами кавычки передаваться в порт не должны, они просто задают текстовую строку, а тогда разницы нет - после кавычки \r или до.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re:
[info]zimopisec@lj
2003-06-11 22:42 (ссылка)
Именно что должны- если следовать протоколу и всем примерам.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]igor_a@lj
2003-06-12 02:58 (ссылка)
Да, здесь я был неправ.
A скобку у Вас модем выводит после передачи строки c номером, но до передачи строки текста - ">"? Её надо дожидаться.

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re:
[info]zimopisec@lj
2003-06-12 04:33 (ссылка)
В том-то и фигня, что ни фига не выводит

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]igor_a@lj
2003-06-12 06:21 (ссылка)
А до этого, когда Вы включаете текстовый режим, на команду AT+CMGF=1 он возвращает "OK"?

(Ответить) (Уровень выше) (Ветвь дискуссии)

Re:
[info]zimopisec@lj
2003-06-12 09:09 (ссылка)
Возвращает.
А вот на вышесказанное возвращает "еррор"

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]igor_a@lj
2003-06-12 21:09 (ссылка)
ERROR должен быть с кодом ошибки, какой он?

Из терминальной программы пробовали сделать тоже самое? Какой результат?

А, может быть, Ваш модем поддерживает только PDU mode, как телефоны SIEMENS?

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]zimopisec@lj
2003-06-12 22:31 (ссылка)
Это именно SIEMENS, ( mc35) но его родной фирменный мануал описывает как текстовую, так и PDU mode.
А код ошибки не возвращает, как и из гопертерминала- только ОК или ERROR безо всякого кода.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]igor_a@lj
2003-06-13 03:13 (ссылка)
Может быть, если проверять все варианты, попробовать передавать после номера через запятую опциональный параметр - тип номера?

+CMGS= da [, toda] CR text is entered ctrl-Z/ESC

toda - TP-Destination-Address Type-of-Address octet in integer format (when first character of is + (IRA 43) default is 145, otherwise default is 129).

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]zimopisec@lj
2003-06-13 03:20 (ссылка)
Пробовано, есть у меня сей мануал.
Пробую передать вместе с toda и дожидаюсь промпта- вместо оного ошибка без указания.
Пробую сразу- мало того что ошибка, так еще и в эхе скипится часть переданного текста.
Непонятно есть.

(Ответить) (Уровень выше) (Ветвь дискуссии)


[info]igor_a@lj
2003-06-13 04:35 (ссылка)
А оператора сети модем видит?

(Ответить) (Уровень выше)