View source for Manually using SMS/ru
From Openmoko
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Template used on this page:
Return to Manually using SMS/ru.
You do not have permission to edit this page, for the following reasons:
You can view and copy the source of this page:
Template used on this page:
Return to Manually using SMS/ru.
В этой статье рассказывается о том, как отправлять и получать SMS сообщения через GSM, используя GSM - модуль Neo1973.
Если вы хорошо разбираетесь в технологии SMS, пожалуйста проверьте приведенные здесь AT команды SMS и исправьте их (а также удалите этот параграф), если найдете ошибки. Эта статья написана путем проб и ошибок за один вечер.
Если вы просто хотите приступить к практике без чтения дополнительной информации, то переходите сразу к пункту Организация.
GSM - модуль Neo1973 использует расширенную версию набора (множества) команд Hayes AT для отправки и получения сообщений. Документацию по командам можно найти на форуме CTI, Техническая Спецификация GSM. Так как часто оказывается, что технические спецификации - компиляция ссылок на литературу и заключение, то я рекомендую почитать вместо них документацию SMS на Developer's Home.
Хотя использование команд Gsmd посредством libgsmd-tool должно работать правильно, gsmd would complain about "unsolicited responses" when reading back a список SMS сообщений. Это происходит, когда необходимо прочитать несколько сообщений, а затем вернуть обратно в libgsmd-tool. Скорее всего он работает правильно при выборке одного сообщения. Эта проблема libgsmd-tool проявляется дублированием сообщений, или не показыванием response lines.
Поэтому я рекомендую использовать cu, a program used to "call up" another computer. Если у вас возникнут проблемы при использовании cu, you may want to refer to the article about manually using GSM for more information.
В статье manually using GSM мы подробно разберем путь от проверки отсутствия процессов, использующих GSM - модуль, подготовки системы к блокировке UUCP, а затем и до блокировки GSM - модуля. Если вы можете проверить настройку каталогов для блокировки UUCP, остановить демон gsmd, то вашего опыта работы с Neo будет достаточно. Опять же, если у вас возникнут затруднения, обращайтесь к статье manually using GSM за дополнительными деталями настройки системы.
Это действие гарантирует, что gsmd не будет использовать GSM - модуль и мешать вашим опытам.
root@fic-gta01:~$ /etc/init.d/gsmd stop Shutting down gsmd: Terminated
Это действие может быть выполнено последовательным отключением, а затем включением GMS - модуля. It is inferred this can be done by the Powering up the GSM Modem section of the manually using GSM article. If anyone can validate, or add the proper procedure, please update here.
root@fic-gta01:~$ echo 0 > /sys/bus/platform/devices/gta01-pm-gsm.0/power_on root@fic-gta01:~$ echo 1 > /sys/bus/platform/devices/gta01-pm-gsm.0/power_on
Существует ли файл в /proc, по которому можно узнать состояние GSM - модуля?
Воспользуйтесь программой cu, чтобы подключиться к GSM - модулю через /dev/ttySAC0. Сейчас, если при наборе вы допустили ошибку, не используйте [Backspace] или [Delete] для правки, используйте [Ctrl-H].
root@fic-gta01:~$ cu -l /dev/ttySAC0 Connected. AT-Command Inter
Для проверки соединения наберите "AT" и [Enter] несколько раз. В итоге должны получить ответ "OK".
root@fic-gta01:~$ cu -l /dev/ttySAC0 Connected. AT-Command Inter OK AT OK
К этому моменту, GSM - модуль был сброшен и мы подсоединились к нему. Теперь нам нужно подключиться к сети GSM и настроить тестовый решим SMS несколькими командами. У нас не получится отправлять / получать SMS без применения следующих команд каждый раз при начале работы.
Включение эхо-повтора позволит вам увидеть что вы делаете. Этого можно достичь командой "ATE1".
ATE1 OK
В зависимости от вашего оператора сотовой связи, следующие команды могут быть не нужны для вас. Для T-Mobile США, эти инструкции адекватны. Если ваша SIM - карта PIN - заблокирована, то вам, скорее всего придется использовать команду AT+CPIN = "<PIN #>"; также вам возможно потребуется ввести SMS - центр командой AT+CSCA.
Если вы считаете, что нужны дополнительные настройки, пожалуйста, помогите всем остальным: опишите их на этой странице.
Чтобы включить GSM - модуль воспользуйтесь командой "AT+CFUN=1".
AT+CFUN=1 OK
Самое лучшее описание работы этой команды я нашел в функциях gsmd (usock.c). Согласно им, GSM - модуль можно отключать и включать командой "AT+CFUN". Перейдя по ссылке Сброс GSM - модуля вы узнаете как это сделать в командной строке.
Чтобы отключить модуль:
AT+CFUN=0 OK
Ссылка: Исходный код gsmd - usock.c Ссылка: Mobile Termination Control and Status Commands
Чтобы проверить подключение к сети воспользуйтесь командой "AT+COPS".
Вы можете получать различные ответы в зависимости от текущего состояния GSM - модуля. Результат работы команды дает представления о работе сети.
AT+COPS OK
Чтобы узнать текущую сеть (оператора) воспользоваться командой "AT+COPS?".
AT+COPS? +COPS: 0,0,"T - Mobile"
Ссылка: Network Service Related Commands Ссылка: Введение в AT команды (AT Commands Introduction)
Чтобы перейти в режим SMS text воспользуйтесь командой "AT+CMGF=1". Заметим, что цель gsmd ,по-видимому, в том, чтобы использовать режим SMS PDU (protocol data unit), который лучше подходит для программирования. Вместе с тем использование режима SMS text делает отправку и получение сообщений возможным для простого человека.
AT+CMGF=1 OK
Ссылка: Operating Mode Ссылка: Select the Operating Mode
Чтобы отправить SMS сообщения воспользуйтесь командой "AT+CMGS="<Phone #>"". Появится приглашение командной строки ">". Введите текст сообщения и нажмите [Enter]. Нажатие <Ctrl-Z> - сигнал конца ввода текста. Сообщение будет отправлено адресату.
AT+CMGS="5555551212" > HOWDY > <Ctrl-Z> OK
Отправьте SMS на ваш Neo, воспользовавшись интернет - сервисами или другим мобильным телефоном. Чтобы получить на Neo все сообщения воспользуйтесь командой "AT+CMGL="ALL"". Вы получите что-то похожее.
AT+CMGL="ALL" +CMGL: 1,"REC READ","907",,"07/07/30,18:21:45-20",129,156 Welcome to T-Mobile! To check your balance and refill your account, go to my.t-mobile.com or visit t-zones on your phone. Your T-Mobile number is 5555551212 +CMGL: 2,"REC READ","907",,"07/07/30,18:59:33-20",129,156 Welcome to T-Mobile! To check your balance and refill your account, go to my.t-mobile.com or visit t-zones on your phone. Your T-Mobile number is 5555551212 +CMGL: 3,"REC READ","15555551212",,"07/08/02,15:01:51-20",145,5 Hello +CMGL: 4,"REC READ","501",,"07/08/02,15:14:43-20",129,92 tselfcare@t-mobile.com /Temporary Password /Dear Customer, Your temporary password is XXXXXX +CMGL: 5,"REC READ","724",,"07/08/02,15:18:42-20",129,150 Your balance is 140 minutes ($28.04). You are $75 from Gold Rewards where you get 15% more minutes on subsequent refills & unused minutes last a year. +CMGL: 6,"REC READ","724",,"07/08/02,15:18:42-20",129,145 Free MSG: $25.00 has been added to your account. Your new balance is 140 minutes and the new expiration date is 10-31-2007. Thanks for refilling! OK
Чтобы получить непрочитанные сообщения воспользуйтесь "AT+CMGL="REC UNREAD"".
AT+CMGL="REC UNREAD" ... OK
Чтобы получить прочитанные сообщения воспользуйтесь "AT+CMGL="REC READ"".
AT+CMGL="REC READ" ... OK
Существуют другие команды для выборки (поиска) сообщений. Вы можете познакомиться с ними, почитав в свободное время литературу по ссылкам, приведенным в статье.
Для выхода из cu, воспользуйтесь "~.". Заметим, что ssh также использует escape последовательность для завершения соединения, поэтому вам надо напечатать "~~." в терминале для передачи "~." на другую сторону.
Существуют, как правило, команды для удаления и сохранения сообщений. Вы можете узнать о них больше, прочитав литературу по ссылкам, приведенным в статье.
Languages: |
English • العربية • Български • Česky • Dansk • Deutsch • Esperanto • Eesti • Español • فارسی • Suomi • Français • עברית • Magyar • Italiano • 한국어 • Nederlands • Norsk (bokmål) • Polski • Português • Română • Русский • Svenska • Slovenčina • Українська • 中文(中国大陆) • 中文(台灣) • Euskara • Català |