2

Arduino UNO R3 マイクロコントローラーと GSM-900a SIM モジュールを使用しています。SIM カードのデータ接続を有効にして、特定のサーバーにデータを送信したり、サーバーにアップロードされた特定の .php ファイルにアクセスしたりしたいと考えています。このコードを試しましたが、サーバーでデータを送信できません。しかし、私は SMS をテストしました。これは機能していますが、データ接続ベースの作業は何もしていません。さらに、誤解の場合に例外は表示されません。このコードブロックを実行しました。

#include <avr/io.h>
#include <avr/interrupt.h>
#include <SoftwareSerial.h>

SoftwareSerial GPS(12,13); //RX,TX
SoftwareSerial GSMM(10,11); //RX,TX

#define SIZE 64

//volatile word seconds = 0;
//byte state = 1;
//long lati = 0;
//long longi = 0;
//long lati_temp;
//long longi_temp;

//const unsigned char UBX_HEADER[] = { 0xB5, 0x62 };
unsigned char buffer[SIZE]= ""; 
int count=0;




void setup() 
{
  Serial.begin(9600);
  delay(500);
  GSMM.begin(9600);
  delay(20000);
  delay(20000);
  delay(20000);
}

void gsm_read()
{
  if (GSMM.available()){         // if date is comming from softwareserial port ==> data is comming from gprs shield
      while(GSMM.available()){          // reading data into char array 
        buffer[count++]=GSMM.read();     // writing data into array
        if(count == SIZE)break;
      }
  Serial.write(buffer,count);            // if no data transmission ends, write buffer to hardware serial port

  count = 0;
  }  
}
void SendData(String a,String b)
{

  GSMM.println("AT");
  delay(1000);
  GSMM.println("AT+CREG?");
  delay(1000);
  GSMM.println("AT+SAPBR=1,1");
  delay(2000);
  GSMM.println("AT+SAPBR=2,1");
  delay(2000);
  GSMM.println("AT+HTTPINIT");
  delay(1000);
  GSMM.println("AT+HTTPPARA=\"URL\",\"ehealthmonitor.comli.com/pritam.php?lat=20.0&lon=55.66\"");
  delay(1000);
  GSMM.println("AT+HTTPPARA=\"CID\",1[[|]]");
  delay(1000);
  GSMM.println("AT+HTTPACTION=0");
  delay(10000);
  GSMM.println("AT+HTTPREAD");
  delay(300);
  GSMM.println("AT+HTTPTERM");
  delay(1000); 
}

void loop() {

  Serial.println("Sending");
      SendData("a","b");  
      delay (5000);
      count=0;
      Serial.println("Sent");
}
4

0 に答える 0