Tu ne sais pas programmer en java ?
Si un exemple de code ne te suffit pas, ça va être dur...
-----
Tu ne sais pas programmer en java ?
Si un exemple de code ne te suffit pas, ça va être dur...
c'est avec l'aide d'un ami informaticien que je me débrouille, mais j'essaye de faire mon mieux avant qu'il intervient .
normalemnt donc mon application je dois cliquer sur un bouton pour envoyer le msg
private void jButton2ActionPerformed(java.a wt.event.ActionEvent evt) {
// TODO add your handling code here:
// ici faut transmertre le message via la commande AT
}
Quelle est la question ?
Maitrises-tu un quelconque langage de programmation ?
oui j'ai eu des cours de plusieurs language ( java, c++,c) mais je suis pas trop fan mais bon je peux me debourouiller
en effet la question c'est : comment faire entrer ces commande de communication et d'ouverure du port serie lorsque je clic sur un bouton j'ai bien compris la démarche que j'ai deja publié dans #120, est ce que je dois l'inserer directement dans ma fonction du bouton dans le #122 ? et les bibliotheque au debut du programme
Etudie l'exemple de code qui est donné...
bonjour j'essaye d'utiliser ce code mais ca ne marche pas je sais pas pourquoi
Code:import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.util.Enumeration; import java.util.TooManyListenersException; import java.util.logging.Level; import java.util.logging.Logger; import javax.comm.CommPortIdentifier; import javax.comm.NoSuchPortException; import javax.comm.PortInUseException; import javax.comm.SerialPort; import javax.comm.SerialPortEvent; import javax.comm.SerialPortEventListener; import javax.comm.UnsupportedCommOperationException; /** * * @author Elkassimi */ public class SimpleRead implements Runnable, SerialPortEventListener { static CommPortIdentifier portId; static java.util.Enumeration<CommPortIdentifier> portList; InputStream inputStream; SerialPort serialPort; Thread readThread; public static void main(String[] args) { portList = CommPortIdentifier.getPortIdentifiers(); while (portList.hasMoreElements()) { System.out.println(1); portId = (CommPortIdentifier) portList.nextElement(); if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) { System.out.println("SMS Sending........"); if (portId.getName().equals("COM4")) { System.out.println("SMS Sending....Port Found"); // if (portId.getName().equals("/dev/term/a")) { SimpleRead reader = new SimpleRead(); } } } } public SimpleRead() { try { serialPort = (SerialPort) portId.open("SimpleReadApp",5000); } catch (PortInUseException e) { System.out.println(e); } try { inputStream = serialPort.getInputStream(); OutputStream out=serialPort.getOutputStream(); try { serialPort.addEventListener(this); } catch (TooManyListenersException e) { System.out.println(e); } serialPort.notifyOnDataAvailable(true); try { serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); } catch (UnsupportedCommOperationException e) { System.out.println(e); } char ch='"'; String line=""; line="AT"+"\r\n"; out.write(line.trim().getBytes()); byte buffer[] = new byte[10000]; // read the response from mobile phone inputStream.read(buffer); System.out.println(new String(buffer)); //Etape 3 line=""; line="ATI"+"\r\n"; out.write(line.trim().getBytes()); // read the response from mobile phone inputStream.read(buffer); System.out.println(new String(buffer)); //Etape 4 line=""; line="AT+CPIN="+ch+"1404"+ch+"\r\n"; out.write(line.trim().getBytes()); inputStream.read(buffer); System.out.println(new String(buffer)); //Etape 5 line=""; line="AT+CMGF=1"+"\r\n"; out.write(line.trim().getBytes()); inputStream.read(buffer); System.out.println(new String(buffer)); //Etape 6 line=""; line="AT+CMGS="+ch+"+33699891159"+ch+"\r\n"; out.write(line.trim().getBytes()); inputStream.read(buffer); System.out.println(new String(buffer)); //Etape 7 line=""; line="Message Test\u001A"; out.write(line.trim().getBytes()); inputStream.read(buffer); System.out.println(new String(buffer)); // line=""; // line="AT+CPIN?"+"\r\n"; // out.write(line.trim().getBytes()); // // line=""; // line="ATD 0599281991"+"\r\n"; // out.write(line.trim().getBytes()); } catch (IOException e) { System.out.println(e); } // catch(InterruptedException E){E.printStackTrace();} readThread = new Thread(this); readThread.start(); } public void run() { try { Thread.sleep(200); } catch (InterruptedException e) { System.out.println(e); } } public void serialEvent(SerialPortEvent event) { switch(event.getEventType()) { case SerialPortEvent.BI: case SerialPortEvent.OE: case SerialPortEvent.FE: case SerialPortEvent.PE: case SerialPortEvent.CD: case SerialPortEvent.CTS: case SerialPortEvent.DSR: case SerialPortEvent.RI: case SerialPortEvent.OUTPUT_BUFFER_EMPTY: break; case SerialPortEvent.DATA_AVAILABLE: byte[] readBuffer = new byte[10]; try { while (inputStream.available() > 0) { int numBytes = inputStream.read(readBuffer); } System.out.println(new String(readBuffer)); } catch (IOException e) { System.out.println(e);} break; } } }
Dernière modification par Jack ; 17/05/2016 à 16h13. Motif: Ajout balises code
Tu peux en dire plus que "ça ne marche pas" ?
ça compile avec/sans erreurs ? Ton application démarre ? L'erreur se situe à quel niveau ?
Au pire, demande à un gentil modérateur de transférer ton sujet dans un forum plus orienté "programmation" sachant que coté électronique c'est bon...!
oui je suis désolé je suis perturbé ,
en fait ca se compile sans erreur, mon application ne demarre pas,
je crois que le code ne detece pas le port com4
merci
Si tu as un screenshot du message, ça aiderait....
Un modo peut passer cette conversation en programmation ?
voila ce qui me donne apres compilation
Il n'y a aucun message d'erreur à priori là dessus...
Montre l'écran au moment où le problème apparait !
oui il affiche pas de problemes mais il detecte pas le port normalement apres detection du port com4 il doit envoyé un message par la commande at et meme avant apres l'insertion du code pin faut que le modem passe en mode marche( LED verte alumée)
Bonjour, s'il vous plait si un administrateur peut transmettre mon code pour une modification a un forum d'informatique Merci
En fait j'ai poster un programme (code), il s’exécute sans erreur mais, il arrive pas a détecter le ports serie, donc je crois qu'il me faut une modification ou quelque chose comme ca ? du coup j'ai besoin d'aide de quelqu'un qui maitrise la programmation
j’espère que j'ai répondu a votre question
Non, Jack te demande dans quel forum tu veux transférer ton sujet (y'a plusieurs forum informatiques).En fait j'ai poster un programme (code), il s’exécute sans erreur mais, il arrive pas a détecter le ports serie, donc je crois qu'il me faut une modification ou quelque chose comme ca ? du coup j'ai besoin d'aide de quelqu'un qui maitrise la programmation
j’espère que j'ai répondu a votre question
dans un forum java
Ok, mais on ne va pas ouvrir un nouveau fil identique dans le forum informatique.
Je pense que pour le moment ton code est bien trop compliqué. Pourquoi ne pas faire un simple programme de test qui envoie tout simplement une commande AT au modem et qui affiche sa réponse? Plus ton code sera simple, moins il y aura de cause de dysfonctionnement.
Éventuellement, tu pourrais ouvrir une discussion dans le forum info / programmation en postant un simple code qui permet de détecter ton port com, envoyer la commande AT, recevoir et afficher la réponse
Oui tres bonne idée je vais le faire et je vais le postuler
moi j'ai fais ca par ce que je sais bien que le probleme est juste lié a la partie de detection du port , par contre j'aimerais bien a travers la discution trouver qulqu'un qui a deja un programme ce qui me faciliterais la tache par la suite, si c'est possible bien sur sinn je ferais cque vous m'avez proposer