почему GSM модем не отвечает на программы, но отвечает на гипертерминал или док-свет? - PullRequest
1 голос
/ 20 декабря 2011

РЕДАКТИРОВАНИЕ:

Я занимаюсь разработкой SMS-приложения на Java для чтения SMS . Я отправляю AT-команды в режим GSM для отправки SMS, сообщения отправляются успешно , но я не получаю никаких сообщений. ответ от модема . Если я посылаю AT-команды через Гипертерминал, я получаю ответ. Какова точная проблема?

            InputStream inputStream;
            OutputStream out;


            this.inputStream = serialPort.getInputStream();
            this.out = serialPort.getOutputStream();
            out.write(("AT"+"\r").getBytes());
            try {
                Thread.sleep(1500);
            } catch (InterruptedException ex) {
                Logger.getLogger(MainClass.class.getName()).log(Level.SEVERE, null, ex);
            }
            out.write(("AT+CMGF=1"+"\r").getBytes());
            try {
                Thread.sleep(1500);
            } catch (InterruptedException ex) {
                Logger.getLogger(MainClass.class.getName()).log(Level.SEVERE, null, ex);
            }
            out.write(("AT+CMGS=\""+"+91xxxxxxxxxx"+"\""+"\r").getBytes());
            try {
                Thread.sleep(1500);
            } catch (InterruptedException ex) {
                Logger.getLogger(MainClass.class.getName()).log(Level.SEVERE, null, ex);
            }
            out.write(("TEST "+cntrlZ).getBytes());
            try {
                Thread.sleep(1500);
            } catch (InterruptedException ex) {
                Logger.getLogger(MainClass.class.getName()).log(Level.SEVERE, null, ex);
            }


 //Im using SerialPortEventListener to  read the input from modem
int a = inputStream.available();
System.out.println(inputStream.available() + "  BYTES AVAILABLE ");
inputStream.read(readBuffer, 0, a);

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

Ответы [ 2 ]

2 голосов
/ 02 января 2012

Проблемы при получении в RXTX

После настройки контроля потока для последовательного порта он работает нормально.

serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_RTSCTS_IN |    SerialPort.FLOWCONTROL_RTSCTS_OUT);
0 голосов
/ 20 декабря 2011

Убедитесь, что у вас установлены все библиотеки, необходимые для SMSlib , и ваш модем включен в список поддерживаемых модемов .Поддержка модема не обязательна, но может устранить проблему совместимости сразу.

Также вам следует проверить, правильно ли подключен модем.Вы можете выполнить некоторые операции непосредственно с помощью AT-команд .

...