我使用SIM900盾牌与arduino UNO。我尝试用xively服务器进行连接。我按照以下说明操作:http://arduino.cc/en/Tutorial/GSMExamplesXivelyClient?from=Tutorial.GSMExamplesPachubeClient
这个例子适用于其他GSM屏蔽,但它告诉我应该如何看起来像xively的连接。我已经制作了这样的代码:
gsm.SimpleWrite("PUT /v2/feeds/");
gsm.SimpleWrite(1055165076);
gsm.SimpleWriteln(".csv HTTP/1.1");
gsm.SimpleWrite("Host: api.xively.com\n");
gsm.SimpleWrite("X-ApiKey: ");
gsm.SimpleWriteln("j2AlGTCLxJzArQhL7dqrLYG6BtJd5aI8LoJmc7ha0mgsPWPD");
//gsm.SimpleWrite("User-Agent: ");
//gsm.SimpleWrite(arduino);
gsm.SimpleWrite("Content-Length: ");
gsm.SimpleWriteln(10);
gsm.SimpleWrite("Content-Type: text/csv\n");
gsm.SimpleWriteln("Connection: close");
gsm.SimpleWriteln("");
gsm.SimpleWrite("sensor1,");
gsm.SimpleWriteln(16);
gsm.SimpleWrite(end_c);
通过这段代码,我想发送sensor1值:16。
执行此代码后,xively服务器会给我一些答案:
HTTP/1.1 403 Forbidden
Date: Mon, 25 Nov 2013 08:19:27 GMT
Content-Type: text/plain; charset=utf-8
Transfer-Encoding: chunkd
oncin ls
4
Yud o aetencesr emsin oacs hsrsuc
在网络上https://xively.com/dev/docs/api/communicating/http/http_status_codes/我发现错误意味着:
403 Forbidden Xively了解您的要求,但拒绝履行。附带的错误消息应解释原因。(注意:在V2 API中,这是超出API速率限制时返回的错误。)
如果我更改例如API-KEY,服务器会给我404错误。我试图解决这个问题好几天了。也许有人知道出了什么问题?
答案 0 :(得分:0)
尝试添加“接受:* / *”
我相信你的内容长度应为11(包括换行符)。