我知道如何使用Arduino Uno的 GSM/GPRS屏蔽拨打电话和发送短信。但是我在该位置有一个网络服务,我想使用 GSM/GPRS 屏蔽将传感器数据发送到这个 URL,因为我不能指望在操作位置存在 Wi-Fi。这是我的盾牌,我还有一张 3G SIM 卡,并且在 Arduino Uno 上运行。http://mydomain.com/rest/receiveSensorData
我该怎么做呢?
我知道如何使用Arduino Uno的 GSM/GPRS屏蔽拨打电话和发送短信。但是我在该位置有一个网络服务,我想使用 GSM/GPRS 屏蔽将传感器数据发送到这个 URL,因为我不能指望在操作位置存在 Wi-Fi。这是我的盾牌,我还有一张 3G SIM 卡,并且在 Arduino Uno 上运行。http://mydomain.com/rest/receiveSensorData
我该怎么做呢?
您可能已经完成了这项工作,但以防万一:
在我的设置中,我使用的是使用 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”更改为您的变量和传感器数据。
让我知道你是否能正常工作。我可以帮你弄清楚这不是太难。
祝你好运。
如果数据很小并且您将接收 SMS 信息的功能添加到您的 Web 应用程序,则实际上可能更容易继续发送 SMS。
请参阅以下问题的答案,特别是第一个建议: http: //www.twilio.com/sms/:
使用 SMS 的一个优点是它可以节省屏蔽必须设置 GPRS 连接的时间,这通常需要更长的时间并且可能会使用更多的电量。需要注意的一个缺点是 SMS 不是一个有保证的消息传递系统,尽管如果您愿意,您可以在 SMS 之上构建某种确认。
顺便说一句,除非调制解调器也支持 3G,否则拥有 3G SIM 将无法在 GPRS 调制解调器上使用 3G。