Как получать СМС на ПК с телефона Samsung?
-
21-12-2019 - |
Вопрос
Я подключил свой телефон Samsung (GT-S3350) к компьютеру через USB-кабель и установил для него USB-драйвер.Я могу отправлять SMS на любой номер телефона через свой компьютер с помощью AT-команд.Я пробовал использовать Hyperterminal и через Java.
Чтобы настроить мобильный телефон в текстовом режиме и получать сложные ошибки, я отправляю следующие команды в Гипертерминал.
АТ+CMGF=1
ХОРОШО
АТ+СМЕЕ=2
ХОРОШО
Как я уже говорил ранее, я вполне могу отправить SMS с помощью команды CMGS, она работает отлично.Но когда я пытаюсь составить список сообщений, я получаю длинный список ОК, как показано ниже.
AT+CMGL="ВСЕ"
ХОРОШО
ХОРОШО
ХОРОШО
ХОРОШО
ХОРОШО
ХОРОШО
ХОРОШО
ХОРОШО
.
.
.
ОШИБКА
ХОРОШО
То же самое происходит, когда я даю «REC READ», «REC UNREAD» и т. д.вместо «ВСЕ».
Кроме того, когда я использую команду CNMI для прослушивания уведомлений о новых сообщениях, я сразу получаю ОК.Ожидается, что он покажет индекс вновь полученных SMS, но у меня он остается пустым.
АТ+CNMI=1,1,0,0,0
ХОРОШО
Я пробовал получать SMS с другого телефона.Сообщение получено, но я не вижу индекса памяти на своем терминале.
Я узнал об этом в основном из блогов и просмотра API.Я также попробовал метод, предложенный этим нить.Я делаю что-то не так или я что-то упускаю?
Я полностью открыт для альтернатив получения SMS на ПК.Пожалуйста, предложите.
Решение
Ой, это выглядит не очень хорошо.AT-команды никогда не должны1 доставьте более одного итогового кода результата, поэтому получите массу OK
за которым следует ERROR
это определенно не правильно.
Некоторые вопросы и предложения по дальнейшему тестированию/отладке:
Применимо ли это и в режиме PDU?
Применимо ли это ко всем различным хранилищам сообщений (проверьте
AT+CPMS
)?Пока вы не выполняете вызов данных, начатый с помощью ATD, имеет ли значение установка
<mode>
до 2 заAT+CNMI
?А
<bfr>
Аргумент гласит, что нежелательные коды результатов будут промыты при введении режимов с 1 по 3.Сразу после получения сообщения (во время тестирования), имеет ли это какое -либо значение, чтобы кратко установить режим в 0, а затем вернуться к 1 (или 2), тем самым вынуждая ввод в режим, который должен выводить все буферные показания?Пробовали ли вы использовать разные операционные системы?Разные терминальные программы?(На самом деле это не должно иметь никакого значения, но кто знает)
1Ну, кроме одной ошибки в спецификации (см. примечание 1).
Общий совет о том, как узнать больше о AT-командах, можно найти по ссылкам на Информационная страница тега at-command, в частности 27.005 для команд обмена сообщениями (но если вы раньше не читали V.250, начните с него).