我有一堆温度数据,我的Arduino监视器,我想放入Google Fusion表。 Fusion表需要OAuth用于Arduino无法处理的记录插入(我不认为),我想创建一个小应用程序Google的App Engine,它将从Arduino接收数据,然后这个应用程序将通过Fusion表进行身份验证并插入一条记录。每条记录大约有65个字段。我还不知道如何在Google App Engine上运行该应用程序,但我会分别认为这是我们的。我想知道的是使用GID请求或来自我的Arduino的POST请求将数据发送到应用程序的优缺点。对于这种情况,一个比另一个更好的选择吗?
答案 0 :(得分:0)
如果您想从Arduino发送数据,则需要使用HTTP POST请求。
两者之间的区别在于GET用于从服务器请求数据,而POST用于将数据发送到服务器。
以下是有关HTTP消息类型的信息的链接: http://www.w3.org/Protocols/rfc2616/rfc2616-sec4.html#sec4
现在,对于Arduino代码,您需要执行以下操作以使用GSM Shield发送POST请求。
//First, establish a connection to the cell tower via GSM
String PIN = "123456"; //The PIN of your SIM card
gsmAccess.begin(PIN);
//Next, connect to your service provider's GPRS network (internet access)
String GPRS_APN = "The APN of your provider";
String GPRS_LOGIN = "Your login name";
String GPRS_PASSWORD = "Your password";
gprs.attachGPRS(GPRS_APN, GPRS_LOGIN, GPRS_PASSWORD);
//Now you need to connect a client to your GAE web server on port 80
client.connect("ServerName", 80);
//Now send the properly-formed HTTP POST request
String message = "The message body of the request, the data you want to send";
client.print("POST ");
client.print("/yourPathToDesiredPage");
client.println(" HTTP/1.1");
client.print("Host: ");
client.println("ServerName");
client.println("Content-Type: text/plain");
client.print("Content-Length: ");
client.println(message.length());
client.println();
client.println(message);
client.endWrite();