2014-01-09 2 views
1

Я подключил свой телефон Samsung (GT-S3350) к компьютеру через USB-кабель и установил для него USB-драйвер. Я могу отправить SMS на любой номер телефона через мой компьютер с помощью AT-команд. Я пробовал с Hyperterminal также через Java.Как получать SMS на ПК с телефоном Samsung?

Чтобы настроить мобильный в текстовом режиме и получить сложные ошибки, я отправляю следующие команды в Hyperterminal.

AT + CMGF = 1
OK
AT + CMEE = 2
OK

Как я уже говорил ранее, я полностью в состоянии отправить SMS с помощью команды CMGS, он отлично работает , Но когда я пытаюсь перечислить сообщения, я получаю длинный список OK, как показано ниже.

AT + CMGL = "ALL"
OK

OK

OK


OK


OK


OK


OK


OK
.
.
.
ОШИБКА

OK

То же самое происходит, когда я даю "REC READ", "REC UNREAD" и т.д. вместо "ALL".
Также, когда я использую команду CNMI для прослушивания новых сообщений, я получаю OK сразу. Ожидается, что он отобразит индекс вновь полученных SMS, но для меня он остается пустым.

AT + CNMI = 1,1,0,0,0
OK

Я пытался получать SMS с моего другого телефона. Сообщение получено, но я не вижу индекса памяти на моем терминале.

Я узнал об этом в основном из блогов и просматривал API. Я также попробовал метод, предложенный этим thread. Я что-то делаю неправильно, или что-то не хватает?

Я полностью открыт для получения альтернатив получения SMS на ПК. Пожалуйста, предложите.

ответ

0

Ой, это не выглядит хорошо.AT-команды никогда не должны доставить более одного итогового кода, поэтому получение тонн OK s, за которым следует ERROR, определенно не так.

Некоторые вопросы и предложения для дальнейшего тестирования/отладки:

  • ли это применять в режиме PDU, а?

  • Это относится ко всем различным хранилищам сообщений (отметьте AT+CPMS)?

  • Пока вы не запускаете вызов данных, запущенный с помощью ATD, не имеет значения установить <mode> на 2 для AT+CNMI?

  • <bfr> аргумента говорит, что непредусмотренные результирующие коды будут сброшены при входе в режимах 1 до 3. Сразу после получения сообщения (при тестировании), он делает никакой разницы в короткое время установить режим 0, а затем обратно до 1 (или 2), заставляя таким образом вводить в режим, который должен выводить все буферизированные показания?

  • Вы пробовали с различными операционными системами? Различные терминальные программы? (Это действительно не должен иметь никакого значения, но кто знает)

Ну, одна спецификации ошибки (see note 1) исключения.


Общий наконечник на получение дополнительной информации о AT команд, проверить ссылки с at-command tag info page, в частности 27.005 для команд обмена сообщений (но если вы раньше не читали V.250, начните с этим одным).

+0

Спасибо за ваш ответ. Я получаю тот же ответ в режиме PDU, и с памятью «SM», «ME». Я ограничил знания о команде AT + CNMI, я пробовал с 1,1,0,0,0 и различными другими поддерживаемыми комбинациями, которые Я получил от AT + CNMI =? Поэтому я думаю, что это не имеет никакого значения, когда я устанавливаю в 0. Я пробовал только на Windows 7. Для запуска программы на Linux-машине мне нужен драйвер для телефона для Linux? – Onewildgamer

+0

В linux есть только один общий USB-модемный драйвер (CDC ACM), который работает со всеми телефонами, поэтому маловероятно, что вам нужно установить что-либо особенное. Для терминальной программы вы можете использовать миникомпьютер (консоль) или шпатлевку (графический). – hlovdal

+0

Я попробую это, хотя может потребоваться некоторое время, так как мне нужно пройти множество процедур перед установкой виртуальной машины и программного обеспечения в нем, можете ли вы предложить GSM-модем, который отлично работает для отправки и получения SMS? Я чувствую, что GSM модем поможет в долгосрочной перспективе, также покупка устройства не имеет большого значения. – Onewildgamer

Смежные вопросы