web-services sim卡 - 使用Arduino GSM / GPRS屏蔽將數據發送到我的網絡服務





sensor (3)


如果數據很小,那麼保持發送短信實際上可能會更容易,並且您可以將接收短信信息的功能添加到您的Web應用程序中。

請參閱以下問題的答案,特別是第一個提示: http : //www.twilio.com/sms/

在美國的託管服務器上的Web應用程序中接收SMS消息

使用SMS的一個優點是,它將節省必須建立GPRS連接的屏蔽,這通常需要更長的時間並且可以使用更多的功率。 一個缺點,要知道的是,短信並不是一個有保證的消息系統,雖然你可以建立在SMS之上的某種確認,如果你想。

除此之外,擁有一張3G SIM將不會使您在GPRS調製解調器上使用3G,除非調製解調器也支持3G。

我知道如何撥打電話並使用Arduino Uno的GSM / GPRS 屏蔽發送短信。 但是我在http://mydomain.com/rest/receiveSensorData這個地方有一個網絡服務,我想用GSM / GPRS屏蔽將傳感器數據發送到這個URL,因為我不能指望Wi-Fi出現在運營地點。 這是的盾牌 ,我也有一個3G SIM卡,並運行在Arduino Uno上。

我該怎麼做呢?




你可能已經有這個工作,但以防萬一:

在我的設置中,我使用的是使用Sim900模塊的Seeed Quad Band GPRS Shield。 我相信這個代碼也會和你一起工作,看你的規格。

    #include <SoftwareSerial.h>
SoftwareSerial gprsSerial(7, 8);

void setup()
{
  gprsSerial.begin(19200);
  Serial.begin(19200);

  Serial.println("Config SIM900...");
  delay(2000);
  Serial.println("Done!...");
  gprsSerial.flush();
  Serial.flush();

  // attach or detach from GPRS service 
  gprsSerial.println("AT+CGATT?");
  delay(100);
  toSerial();


  // bearer settings
  gprsSerial.println("AT+SAPBR=3,1,\"CONTYPE\",\"GPRS\"");
  delay(2000);
  toSerial();

  // bearer settings
  gprsSerial.println("AT+SAPBR=3,1,\"APN\",\"epc.tmobile.com\"");
  delay(2000);
  toSerial();

  // bearer settings
  gprsSerial.println("AT+SAPBR=1,1");
  delay(2000);
  toSerial();
}


void loop()
{
   // initialize http service
   gprsSerial.println("AT+HTTPINIT");
   delay(2000); 
   toSerial();

   // set http param value
   gprsSerial.println("AT+HTTPPARA=\"URL\",\"http://YOUR.DOMAIN.COM/rest/receiveSensorData?sensorval1=blah&sensorval2=blah\"");
   delay(2000);
   toSerial();

   // set http action type 0 = GET, 1 = POST, 2 = HEAD
   gprsSerial.println("AT+HTTPACTION=0");
   delay(6000);
   toSerial();

   // read server response
   gprsSerial.println("AT+HTTPREAD"); 
   delay(1000);
   toSerial();

   gprsSerial.println("");
   gprsSerial.println("AT+HTTPTERM");
   toSerial();
   delay(300);

   gprsSerial.println("");
   delay(10000);
}

void toSerial()
{
  while(gprsSerial.available()!=0)
  {
    Serial.write(gprsSerial.read());
  }
}

只需將“epc.tmobile.com”更改為您的運營商的apn,然後將“YOUR.DOMAIN.COM”更改為您的服務器信息,並將“sensorval1 = blah”更改為您的變量和傳感器數據。

讓我知道如果你得到這個工作與否。 我可以幫你弄清楚這不是太難。

祝你好運。




https://www.programmableweb.com/ - 跨Web的所有類別API的精彩集合。 它不僅展示了API的情況,還展示了在其應用程序和代碼示例中使用這些API的開發人員,API的評級等等。 他們不僅僅是api,他們也有sdk和庫。





web-services arduino sensor gsm gprs