我正在尝试使用Skywire LTE CAT 1调制解调器(http://nimbelink.com/skywire-4g-lte-cat-1/)来更新AWS IoT上的东西阴影。我让设备通过http与aws对话,并且能够根据他们的教程执行get命令。
现在我试图执行一个post命令来更新我的东西的阴影。但是,每当我试图发送我的post命令时:
POST /things/AWS_Test_Thing/shadow HTTP/1.1
BODY: {"state":{"reported":{"Temp":55}}}
AWS向我发送以下错误:
HTTP/1.1 Bad Request
{"message":"Payload contains invalid json","traceId":"e53be1d6-7967f52c-4dd6-d7b95cc20628"}
我以前从未使用过json,但据我所知,
{"state":{"reported":{"Temp":55}}}
应该是有效的json并符合aws iot文档(http://docs.aws.amazon.com/iot/latest/developerguide/thing-shadow-document-syntax.html#thing-shadow-example-request-json)。我错过了什么?
最佳答案
如果通过post请求更新阴影,则应该使用“期望”语句而不是“报告”语句。