Envoi automatique de SMS


Méthodologie pour un envoi de SMS d'un PC via un modem GSM sur port USB
- Installer les 3 fichiers pour la liaison série(2 .jar + properties) comme indiqué :
Liaison série
- Ajouter les 2 jar de smslib version 3 (smslib-3.3.3.jar et smssever-3.3.3.jar)
Téléchargement de smslib
- Rajouter les .jar (ant.jar et ant-apache-log4j.jar) en prenant le .zip ici :
Jar de Apache
- Rajouter le .jar (log4j-1.2.14.jar) :
jar du login
- Rajouter le fichier smslib-log4j.properties dans le repertoire lib du jdk
ex : C:_Program Files_Java_jdk1.6.0_11_lib
Dans le code source suivant, il y a deux lignes à changer suivant la carte SIM :
- gateway.setSimPin("9377"); //numero code pin
- msg = new OutboundMessage("+0631011351", "Hello Colin!"); //Numéro de tél du recepteur et message
Exemple
Exported from Notepad++
package utilisationgsm;
import com.sun.comm.Win32Driver;
import java.util.Enumeration;
import javax.comm.CommPortIdentifier;
import org.smslib.IOutboundMessageNotification;
import org.smslib.Library;
import org.smslib.OutboundMessage;
import org.smslib.Service;
import org.smslib.modem.SerialModemGateway;
public class SendMessage
{
public void doIt() throws Exception
{
Win32Driver w32Driver= new Win32Driver();
w32Driver.initialize();
//Début d'envoi
Service srv;
OutboundMessage msg;
OutboundNotification outboundNotification = new OutboundNotification();
System.out.println(Library.getLibraryDescription());
System.out.println("Version: " + Library.getLibraryVersion());
srv = new Service();
SerialModemGateway gateway = new SerialModemGateway("com4", "COM4", 110,
"Teltonika", "TM2");
gateway.setInbound(true);
gateway.setOutbound(true);
gateway.setSimPin("9377");
srv.setOutboundNotification(outboundNotification);
srv.addGateway(gateway);
srv.startService();
System.out.println(" Manufacturer: " + gateway.getManufacturer());
System.out.println(" Model: " + gateway.getModel());
System.out.println(" Serial No: " + gateway.getSerialNo());
System.out.println(" SIM IMSI: " + gateway.getImsi());
System.out.println(" Signal Level: " + gateway.getSignalLevel() + "%");
System.out.println(" Battery Level: " + gateway.getBatteryLevel() + "%");
msg = new OutboundMessage("+0631011351", "Hello Colin!");
srv.sendMessage(msg);
System.out.println(msg);
System.in.read();
srv.stopService();
}
public class OutboundNotification implements IOutboundMessageNotification{
public void process(String gatewayId, OutboundMessage msg){
System.out.println("Outbound handler called from Gateway: " + gatewayId);
System.out.println(msg);
}
}
public static void main(String args[]){
SendMessage app = new SendMessage();
try{
app.doIt();
}
catch (Exception e){
e.printStackTrace();
}
}
}

