получение и отправка смс через gsm модем - PullRequest
5 голосов
/ 22 февраля 2012

Как я могу получить SMS через GSM-модем, чтобы я мог использовать это SMS для дальнейшей обработки и отправить ответное SMS.У меня нет определенной идеи о том, как этого добиться ....... Я предпочитаю использовать язык Java для этого проекта, и я использую ОС Linux.

Ответы [ 7 ]

5 голосов
/ 22 февраля 2012

Возможно, вы захотите взглянуть на SMSLib :

SMSLib - библиотека программиста для отправки и получения SMS сообщения через GSM модем или мобильный телефон. SMSLib также поддерживает несколько Операторы массовых SMS.

3 голосов
/ 18 ноября 2012

привет, я использую библиотеку RXTX, код здесь! .. и он отлично работает для меня, я искал много вещей, чтобы получить правильный метод, наконец, получил ключ к смс! ..: D

                String mValue = "AT\r";// strating to communicate with port starts here!
    mOutputToPort.write(mValue.getBytes());
    mOutputToPort.flush();
    Thread.sleep(500);
    mInputFromPort.read(mBytesIn);
    value = new String(mBytesIn);
    System.out.println("Response from Serial Device: "+value);
                mValue = "AT+cmgf=1\r";
    mOutputToPort.write(mValue.getBytes());
                mOutputToPort.flush();
                mValue="at+cmgs=\" Mobile number\"\r";
                System.out.print(mValue);
                mOutputToPort.write(mValue.getBytes());
            mOutputToPort.flush();
            mValue="at+cmgs="\032";//calling ctrl+z
                System.out.print(mValue);
                mOutputToPort.write(mValue.getBytes());
            mOutputToPort.flush();
          mOutputToPort.close(); 
    mInputFromPort.close();
3 голосов
/ 22 февраля 2012

Чтобы отправить SMS-сообщение с помощью 3G-модема, вам необходимо использовать соответствующие AT команды.Сначала необходимо установить модем в текстовый режим:

AT+CMGF=1

Затем отправьте сообщение:

AT+CMGS=<number><CR>
<message><CTRL-Z>

Где <CR> - возврат каретки (ASCII 13) и <message> - это сообщение, которое вы хотите отправить, <CTRL-Z> - это ASCII 26, а <number> - номер, на который вы хотите отправить свое сообщение.

Чтобы прочитать полученные сообщения, вы делаете следующее:

AT+CMGL=<stat><CR>

Где <stat> - это одно из: "ALL", "REC UNREAD", "REC READ" (с кавычками), означающее все сообщения, непрочитанные сообщения и прочитанные сообщения соответственно.

Комусделать это в Java, вам нужно использовать API связи Java.Вот краткий пример: http://java.sun.com/products/javacomm/reference/docs/API_users_guide_3.html

2 голосов
/ 22 февраля 2012

Обратите внимание на SMSJ : полнофункциональную библиотеку, которая позволяет отправлять и получать SMS-сообщения с помощью модема GSM или нескольких популярных веб-служб.

1 голос
/ 22 февраля 2012

Взгляните на Java SMSLib API .

С веб-сайта: «SMSLib - это библиотека программистов для отправки и получения SMS-сообщений через GSM-модем или мобильный телефон. SMSLib также поддерживает несколько операторов массовых SMS».

0 голосов
/ 01 октября 2013

U может использовать множество методов ...

  • SMS Enabler
  • SMS Lib для Java
  • Ozeki sms gateway

Для получения SMS лучшим и простым решением будет SMSenabler, оно мгновенно сохранит ваши SMS в файл или базу данных, и вы сможете получить их. Бесплатная версия поддерживает до 12 символов, и если вы хотите отправить смс, вы можете использовать [введите описание ссылки здесь] [Ozeki] Ozeki серверный шлюз

0 голосов
/ 22 февраля 2012

Вы должны взглянуть на руководство по модему.Некоторые устройства поддерживают подключение через telnet, и вы можете отправлять AT-команды через командную строку.

Если это ваш случай, вам нужно узнать о (иногда специфично для каждого устройства) и написать приложение, котороеиспользует telnet для связи с вашим модемом. Проект Apache Commons Net может быть полезен.

Некоторые руководства AT-команд:

В качестве альтернативы вы можете попробовать использовать одну из библиотек, предложенных другими.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...