【问题标题】:xively status:400 with arduino and sim900 gprs shieldxively status:400 with arduino and sim900 gprs shield
【发布时间】:2014-01-05 02:18:17
【问题描述】:

我正在使用带有 arduino 的廉价 Sim900 GPRS 扩展板,并且希望能够积极地使用。我可以使用 tcp 连接到 xively,但是当我发送数据时,我得到这个响应“状态”:400,“正文”:“语法错误:解析错误:”。 我正在使用来自http://www.seeedstudio.com/wiki/GPRS_Shield_V1.0#SoftwareSerial_library_Notes 的示例,并且我尝试了一些修改,但没有任何运气。我没有找到关于这个字符串应该是什么样子的文档。

我的串行字符串如下所示: {"method": "put","re​​source": "/feeds/feednumber-removed/","params": {},"headers": {"X-PachubeApiKey":"设备密钥已删除"},"body ": {"version": "1.0.0","datastreams": {"id": "Sensor1","current_value": "1031"}]},"token": "123"}

有人可以帮我解决这个问题吗?

【问题讨论】:

    标签: arduino gprs xively


    【解决方案1】:

    看起来您的 JSON 可能缺少一些括号。你也有一些你不需要的论点。试试这样的:

    {
        "method": "put",
        "resource": "/feeds/FEED_ID_HERE",
        "params": {},
        "headers": {"X-ApiKey":"API_KEY_HERE"},
        "body":  {
            "version" : "1.0.0",
            "datastreams": [
                {
                    "id": "Sensor1",
                    "current_value": "1031"
                }
            ]
        }
    }
    

    我已尝试使括号尽可能详细和对齐,以便您可以看到括号需要在哪里才能符合 Xively JSON 格式,并且通常只是正确的 JSON。我还更新了自 Pachube 时代以来已更改的标题名称。

    【讨论】:

    • 感谢 calumb,现在我看到 xively 收到了提要,但数据流没有更新(图表上的值没有更新)。这是 xively URL /api/v2/feeds/38068201 Method PUT At REQUEST HEADERS Version HTTP/1.0 Host api.xively.com X-Request-Start 1388932274952115 X-Apikey ixvIuwUdqviAcsIwhgUT2Wvfz9cwpzyGDIysEyJAK9Q16cl0 User-Agent Paws/0. xively.com Origin REQUEST BODY { "version": "1.0.0", "datastream": [ { "id": "Sensor1", "current_value": "980" } ] }
    • 如果您看到请求日志中显示了数据,那么它正在被存储。尝试将图表切换为 5 分钟,看看数据是否显示。
    • 感谢 calumb 的回复,我试过了,但我看不到任何数据。上次更新和当前值不会改变。一切看起来都像数据已存储,至少已收到,但我无法弄清楚为什么它无法进入数据图表。你有什么可以尝试的建议吗?
    • 想通了,“datastereams”在我重写时错过了 s。谢谢 calumb,没有你的帮助是做不到的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多