Hallo,
ich bekomme es einfach nicht hin, dass mein sim 800l modul daten an meinen server sendet. Vor ein paar Wochen hat es schon einmal funktioniert. Die LED des sim 800l hat dabei schnell geblinkt, als das board verbunden war. Jetzt blinkt es immer in 1 sekunden abständen schnell und hört dann wieder auf, dass ganze wiederholt sich dann immer. Das ist eigentlich ein zeichen dafür, dass es sich nicht im Netz befindet.
Im Anhang befinden sich Bilder von der Ausgabe des Seriellen Monitors. Bei vielen At Befehlen kommt sogar ein ok. Bei einigen allerdings ein error. Zudem befindet sich ein Bild des php skriptes im Anhang über die Daten mittels Post Befehl in der mysql Datnebank gespeichert werden.
Den Anschluss des sim 800 l an das Arduinoboard habe ich schon mehrmal getestet. Als Serielle Schnittstelle verwende ich Pin 7 und 8 und der Sim 800l wird über eine externe Stromquelle betrieben.
Hier ist mein Code:
#include <SoftwareSerial.h>
#include <Wire.h>
SoftwareSerial mySerial(8, 7); // RX, TX Pins
String apn = "pinternet.interkom.de"; //APN
String apn_u = ""; //APN-Username
String apn_p = ""; //APN-Password
String url = "http://server.bplaced.net/datenbankeintrag.php"; //URL for HTTP-POST-REQUEST
//String url = "http://www.aeq-web.com/tests/index.php"; //URL for HTTP-POST-REQUEST
String data1; //String for the first Paramter (e.g. Sensor1)
String data2; //String for the second Paramter (e.g. Sensor2)
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
// set the data rate for the SoftwareSerial port
mySerial.begin(9600);
delay(10000);
}
void loop() { // run over and over
data1 = "2";
data2 = "ABC";
gsm_sendhttp(); //Start the GSM-Modul and start the transmisson
delay(7000); //Wait one minute oder 7000
}
void gsm_sendhttp() {
mySerial.println("AT");
runsl();//Print GSM Status an the Serial Output;
delay(4000);
mySerial.println("AT+SAPBR=3,1,Contype,GPRS");
runsl();
delay(100);
mySerial.println("AT+SAPBR=3,1,APN," + apn);
runsl();
delay(100);
//mySerial.println("AT+SAPBR=3,1,USER," + apn_u); //Comment out, if you need username
//runsl();
//delay(100);
//mySerial.println("AT+SAPBR=3,1,PWD," + apn_p); //Comment out, if you need password
//runsl();
//delay(100);
mySerial.println("AT+SAPBR =1,1");
runsl();
delay(100);
mySerial.println("AT+SAPBR=2,1");
runsl();
delay(2000);
mySerial.println("AT+HTTPINIT");
runsl();
delay(100);
mySerial.println("AT+HTTPPARA=CID,1");
runsl();
delay(100);
mySerial.println("AT+HTTPPARA=URL," + url);
runsl();
delay(100);
mySerial.println("AT+HTTPPARA=CONTENT,application/x-www-form-urlencoded");
runsl();
delay(100);
mySerial.println("AT+HTTPDATA=192,10000");
runsl();
delay(100);
mySerial.println("params=" + data1);
runsl();
delay(10000);
mySerial.println("AT+HTTPACTION=1");
runsl();
delay(5000);
mySerial.println("AT+HTTPREAD");
runsl();
delay(100);
mySerial.println("AT+HTTPTERM");
runsl();
}
//Print GSM Status
void runsl() {
while (mySerial.available()) {
Serial.write(mySerial.read());
}
}



