Настольная книга по Linux/Вопросы по программной отправке SMS: различия между версиями

Содержимое удалено Содержимое добавлено
Нет описания правки
 
Строка 1:
== отправка SMS программно через AT-команды под Линуксом ==
 
инструкция предоставленная jackLucas-ом (из Новосибирска) для линуксойдов такова:
-подключаем сотовый (Motorola C650) к компьютеру через USB (в ядре должна быть включена поддержка CDC ACM модемов);
-dmesg выдаёт, что обнаружено устройство /dev/ttyACM0
-запускаем minicom (аналог Telix'а, HyperTerminal'а)
-настраиваем com порт на /dev/ttyACM0
-включаем ECHO
-сохраняем настройки minicom'а
-перезапускаем minicom
-набираем ATZ, жмём Enter
-получаем в ответ OK
-набираем AT+CMGF=1, жмём Enter
-получаем OK
-набираем AT+CSCA="+79139869990" (+79139869990 - телефон СМС центра МТС (в Новосибирске, по крайней мере)), жмём Enter
-получаем OK
-набираем AT+CMGS="(номер телефона того, кому отправляем сообщение)", жмём Enter
-получаем >
-набираем текст сообщения, жмём Enter, жмём Ctrl+Z
-через некоторое время получаем сообщение модема, что сообщение отправлено
 
== отправка русских SMS программно через AT-команды под Линуксом ==
 
инструкция предоставленная jackLucas-ом (из Новосибирска) для линуксойдов с использованием minicom такова:
- вводим ATZ, жмём Enter
- получаем OK
- вводим AT+CMGF=1 (переходим в ТЕКСТОВЫЙ режим передачи сообщений, лучше конечно использовать PDU режим (AT+CMGF=0), так как текстовый режим поддерживают не все сотовые, но я в этом режиме пока не разбираюсь ), жмём Enter
- получаем OK
- вводим AT+CSCA="+79139869990", жмём Enter
- получаем OK
- вводим AT+CSCS=?, жмём Enter
- получаем список поддерживаемых кодировок
- вводим AT+CSCS="UCS2", жмём Enter
- получаем OK
- вводим AT+CMGS="(тот номер, на который отправляем СМС)", жмём Enter
- вводим текст сообщения, каждая буква представляется четырьмя шестнадцатиричными цифрами (кодом буквы в UCS2, русская А = 0410). Например, для слова Привет вводим: 041F04400438043204350442, жмём Ctrl+Z
- вот тут самое интересное: я отправил два сообщения, оба дошли до абонентов, оба по-русски, но модем в первом случае сказал OK, во втором - ERROR. Но оба сообщения ДОШЛИ КОРРЕКТНО.
 
ну вот собственно и всё.
 
P.S. для программной реализации лучше конечно использовать PDU режим, изучением которого я и займусь. Но как-то там всё странно с кодированием сообщения