JavaRush /Blog Java /Random-VI /SMS từ modem 3g
Izhak
Mức độ
Москва

SMS từ modem 3g

Xuất bản trong nhóm
Tiếp nối câu chuyện ngày hôm qua, mình đã nghiên cứu một chút về chủ đề gửi tin nhắn từ modem 3g. Tôi đã thử với modem MTS, SMS từ modem 3g - 1 sau khi kết nối và cài đặt chương trình, phát hiện có 2 cổng com MobileConnect - Giao diện ứng dụng (COM34) MobileConnect - Giao diện PC UI (COM33) Để gửi tin nhắn, bạn phải kết nối với cổng COM33. Mã Tôi đã nhận được 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); } } } } } một COM33 Open For close type: close OK > +CMGS: 6 OK ^RSSI: 17 close COM33 close successfull; tin nhắn SMS có nội dung qwweqwe . Đúng là tôi vẫn chưa đọc được gì cả. Nhưng cho đến nay vẫn rất tốt :) http://stackoverflow.com/questions/9393097/receive-and-sending-sms-through-gsm-modem http://stackoverflow.com/questions/9257302/sending-sms-at- lệnh-to-3g-modem-USE-php http://habrahabr.ru/post/133085/ http://serj.kz/content/3
Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION