使用Arduino GSM/GPRS Shield将数据发送到我的Web服务

cod*_*iac 8 web-services gsm arduino sensor gprs

我知道如何使用GSM/GPRS 屏蔽Arduino Uno拨打电话和发送短信.但我在该位置有一个Web服务http://mydomain.com/rest/receiveSensorData,我想使用GSM/GPRS屏蔽将传感器数据发送到此URL,因为我不能指望操作位置存在Wi-Fi.这是的盾牌,我也有一张3G SIM卡,我正在使用Arduino Uno.

我该怎么做呢?

Cry*_*ios 9

你可能已经有了这个工作,但以防万一:

在我的设置中,我使用的是使用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());
  }
}
Run Code Online (Sandbox Code Playgroud)

只需将"epc.tmobile.com"更改为您的运营商的apn,将"YOUR.DOMAIN.COM"更改为您的服务器信息,并将"sensorval1 = blah"更改为您的变量和传感器数据.

如果你有这个工作,请告诉我.我可以帮你解决它并不太难.

祝好运.


Mic*_*ick 0

如果数据很小并且您向 Web 应用程序添加了接收 SMS 信息的功能,那么实际上继续发送 SMS 可能会更容易。

请参阅以下问题的答案,特别是建议的第一个问题的答案:http://www.twilio.com/sms/

在美国托管服务器上的 Web 应用程序中接收 SMS 消息

使用 SMS 的优点之一是,它可以节省防护罩建立 GPRS 连接的时间,而建立 GPRS 连接通常会花费更长的时间,并且可能会消耗更多的电量。需要注意的一个缺点是 SMS 不是一种有保证的消息传递系统,尽管如果您愿意,您可以在 SMS 之上构建某种确认。

顺便说一句,拥有 3G SIM 卡将无法让您在 GPRS 调制解调器上使用 3G,除非调制解调器也支持 3G。