ผมเขียนแบบนี้ครับ
#include "SIM900.h"
#include <SoftwareSerial.h>
#include "inetGSM.h"
InetGSM inet;
/*char msg[50];
int numdata;
char inSerial[50];
int i=0;*/
boolean started=false;
void setup()
{
//Serial connection.
Serial.begin(9600);
Serial.println("GSM Shield testing.");
if (gsm.begin(2400)){
Serial.println("\nstatus=READY");
started=true;
}
else Serial.println("\nstatus=IDLE");
if(started){
if (inet.attachGPRS("internet.wind", "", ""))
Serial.println("status=ATTACHED");
else Serial.println("status=ERROR");
delay(1000);
gsm.SimpleWriteln("AT+CREG=1");
delay(5000);
gsm.WhileSimpleRead();
gsm.SimpleWriteln("AT+CGATT=1");
delay(5000);
gsm.WhileSimpleRead();
gsm.SimpleWriteln("AT+CGDCONT=1,\"IP\",\"internet\"");
delay(5000);
gsm.WhileSimpleRead();
gsm.SimpleWriteln("AT+CIFSR");
delay(5000);
gsm.WhileSimpleRead();
gsm.SimpleWriteln("AT+CIPHEAD=1");
delay(5000);
gsm.WhileSimpleRead();
gsm.SimpleWriteln("AT+CIPSTART=\"TCP\",\" www.pongtongt.freetzi.com\",\"80\"");
delay(5000);
gsm.WhileSimpleRead();
gsm.SimpleWriteln("AT+CIPSEND=1");
delay(1000);
gsm.SimpleWriteln("GET /test.php?val=123 HTTP/1.1");
delay(1000);
gsm.SimpleWriteln("host: www.pongtongt.freetzi.com");
delay(1000);
gsm.SimpleWriteln("0x1A");
delay(3000);
gsm.WhileSimpleRead(); ///มาถึงตรงนี้มันค้างอยู่ที่ > ซึ่งมันจะต้อง ขึ้นว่า SEND OK แก้ยังไงดีครับ หรือผมเขียนผิดตรงไหน
//Serial.println("host:
http://pongtongt.freetzi.com");
//
//Serial.println("Ctrl+Z");
}
};
void loop()
{
//Read for new byte on serial hardware,
//and write them on NewSoftSerial.
// serialhwread();
//Read for new byte on NewSoftSerial.
// serialswread();
};
เขียน Arduino เชื่อมต่อ GSM SHIELD ส่งข้อมูลไม่ได้ครับ ใครรู้ตอบหน่อยครับ 3 วันแล้ว
#include "SIM900.h"
#include <SoftwareSerial.h>
#include "inetGSM.h"
InetGSM inet;
/*char msg[50];
int numdata;
char inSerial[50];
int i=0;*/
boolean started=false;
void setup()
{
//Serial connection.
Serial.begin(9600);
Serial.println("GSM Shield testing.");
if (gsm.begin(2400)){
Serial.println("\nstatus=READY");
started=true;
}
else Serial.println("\nstatus=IDLE");
if(started){
if (inet.attachGPRS("internet.wind", "", ""))
Serial.println("status=ATTACHED");
else Serial.println("status=ERROR");
delay(1000);
gsm.SimpleWriteln("AT+CREG=1");
delay(5000);
gsm.WhileSimpleRead();
gsm.SimpleWriteln("AT+CGATT=1");
delay(5000);
gsm.WhileSimpleRead();
gsm.SimpleWriteln("AT+CGDCONT=1,\"IP\",\"internet\"");
delay(5000);
gsm.WhileSimpleRead();
gsm.SimpleWriteln("AT+CIFSR");
delay(5000);
gsm.WhileSimpleRead();
gsm.SimpleWriteln("AT+CIPHEAD=1");
delay(5000);
gsm.WhileSimpleRead();
gsm.SimpleWriteln("AT+CIPSTART=\"TCP\",\" www.pongtongt.freetzi.com\",\"80\"");
delay(5000);
gsm.WhileSimpleRead();
gsm.SimpleWriteln("AT+CIPSEND=1");
delay(1000);
gsm.SimpleWriteln("GET /test.php?val=123 HTTP/1.1");
delay(1000);
gsm.SimpleWriteln("host: www.pongtongt.freetzi.com");
delay(1000);
gsm.SimpleWriteln("0x1A");
delay(3000);
gsm.WhileSimpleRead(); ///มาถึงตรงนี้มันค้างอยู่ที่ > ซึ่งมันจะต้อง ขึ้นว่า SEND OK แก้ยังไงดีครับ หรือผมเขียนผิดตรงไหน
//Serial.println("host: http://pongtongt.freetzi.com");
//
//Serial.println("Ctrl+Z");
}
};
void loop()
{
//Read for new byte on serial hardware,
//and write them on NewSoftSerial.
// serialhwread();
//Read for new byte on NewSoftSerial.
// serialswread();
};