Sa pagpapatuloy ng
kwento kahapon, gumawa ako ng kaunting pananaliksik sa paksa ng pagpapadala ng mga mensahe mula sa isang 3g modem. Sinubukan ko ito gamit ang isang MTS modem.
Pagkatapos ikonekta at i-install ang program, dalawang com port ang nakita MobileConnect - Application Interface (COM34) MobileConnect - PC UI Interface (COM33) Upang magpadala ng mga mensahe, kailangan mong kumonekta sa COM33 port.
Code Nakatanggap ako
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); } } } } }
ng
COM33 Open For close type: close OK > +CMGS: 6 OK ^RSSI: 17 close COM33 close successfull;
SMS na may text na
qwweqwe . Totoo, wala pa akong nababasa. Ngunit sa ngayon napakahusay :) 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
GO TO FULL VERSION