JavaRush /Blog Java /Random-MS /SMS daripada modem 3g
Izhak
Tahap
Москва

SMS daripada modem 3g

Diterbitkan dalam kumpulan
Sambungan cerita semalam, saya membuat sedikit kajian tentang topik menghantar mesej dari modem 3g. Saya mencubanya dengan modem MTS. SMS daripada modem 3g - 1 Selepas menyambung dan memasang program, dua port com telah dikesan MobileConnect - Antara Muka Aplikasi (COM34) MobileConnect - Antara Muka UI PC (COM33) Untuk menghantar mesej, anda perlu menyambung ke port COM33. Kod Saya menerima package ComKEB; import jssc.*; import java.util.Scanner; /** * Created by ipolma on 8/15/2014. */ public class ComKEB { public static void main(String[] args) { String[] retPorts = SerialPortList.getPortNames(); //for (String port: retPorts){System.out.println(port);} SerialPort serialPort = new SerialPort(retPorts[3]);//"COM4"); указываем второй порт System.out.println(serialPort.getPortName()); if (openSerialPort(serialPort)) { System.out.println("Open"); System.out.println("For close type: \nclose"); } else System.out.println("Not open"); try { Scanner scanner = new Scanner(System.in); String in; serialPort.writeBytes("AT+cmgf=1\r".getBytes()); serialPort.writeBytes("at+cmgs=\"+7926*******\"\r".getBytes()); serialPort.writeBytes("qwweqwe\032".getBytes());//calling ctrl+z while (true) { Thread.sleep(1000); if (scanner.hasNext()) { if ("close".equals((in=scanner.nextLine()))) { if (serialPort.closePort()) System.out.println(serialPort.getPortName() +" close successfull;"); System.exit(0); }else{ } } } }catch(Exception e){e.printStackTrace();} } private static boolean openSerialPort(SerialPort serialPort) { try { //Открываем порт if (serialPort.isOpened()) serialPort.closePort(); //Здесь бывает ситуация Busy, которую не обработаешь - только если ожидать serialPort.openPort(); //Выставляем параметры serialPort.setParams(SerialPort.BAUDRATE_9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); //Включаем аппаратное управление потоком serialPort.setFlowControlMode(SerialPort.FLOWCONTROL_NONE); PortReader portReader = new PortReader(serialPort); serialPort.addEventListener(portReader, SerialPort.MASK_RXCHAR); return true; }catch(Exception e){ e.printStackTrace(); return false; } } private static class PortReader implements SerialPortEventListener { SerialPort serialPort; public PortReader(SerialPort serialPort) { this.serialPort = serialPort; } public void serialEvent(SerialPortEvent event) { if (event.isRXCHAR() && event.getEventValue() > 0) { try { //Получаем ответ от устройства, обрабатываем данные и т.д. byte[] data = serialPort.readBytes(event.getEventValue()); for (byte b:data) { System.out.println(b); } } catch (SerialPortException ex) { System.out.println(ex); } } } } } SMS COM33 Open For close type: close OK > +CMGS: 6 OK ^RSSI: 17 close COM33 close successfull; dengan teks qwweqwe . Benar, saya belum dapat membaca apa-apa lagi. Tetapi setakat ini bagus :) http://stackoverflow.com/questions/9393097/receiving-and-sending-sms-through-gsm-modem http://stackoverflow.com/questions/9257302/sending-sms-at- commands-to-3g-modem-using-php http://habrahabr.ru/post/133085/ http://serj.kz/content/3
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION