JavaRush /Java Blog /Random-TL /SMS mula sa 3g modem
Izhak
Antas
Москва

SMS mula sa 3g modem

Nai-publish sa grupo
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. SMS mula sa 3g modem - 1 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
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION