物联网开发esp8266通过HTTP协议连接新版onenet云平台(一)

背景介绍

因为项目需求,需要STM32板子与上位机通信,偷懒不想设计app所以采用物联网方式,本来是打算通过MQTT连接阿里云平台,但是不知道是ESP8266模块的问题还是烧录固件出现问题。

在等待新的ESP8266模块到来,先尝试用HTTP协议连接云平台,但是后面发现问题,HTTP协议只能上报,如果要设备能接收云平台的消息还需要开通推送比较麻烦。

onenet平台创建设备

1.进入中国移动物联网开放平台:https://open.iot.10086.cn/doc/v5/fuse/
2.点击开发者中心,然后进入物联网中心,先创建产品
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
3.产品品类可以随便选,接入方式选择【设备接入】,产品名称可以随便起,重要的是产品id(创建完可以看到),
在这里插入图片描述
红色框住的需要按图选择【直连设备】,【HTTP】,【WIFI】,其他的可以根据自己的需求设定,最后点确定。
在这里插入图片描述
4.创建完产品后创建设备,点击设备管理-添加设备
在这里插入图片描述
在这里插入图片描述
填写设备名称即可,填写完成后我们就能看创建的设备,此时还是未激活状态,激活需要MQTT等协议,具体可以看onenet的开发文档,HTTP协议属于短连接,并不能激活产品。
在这里插入图片描述
在这里插入图片描述
5.查看设备id,产品id等信息,点击详情。
可以看到红线框住的设备密钥和产品id,这个在之后的连接中会起到作用,设备id没有显示,那么test的设备id就是test。接下来可以通过POSTMAN软件进行API调试
在这里插入图片描述

POSTMAN软件进行API调试

使用POSTMAN软件调试,有两个优点,一是POST命令可以减少出错,二是通过报错可以找到问题。POSTMAN软件的下载在这里就不再叙述,可以百度搜索下载,了解基本的使用方法。
这里的POST指令介绍的比较简略,具体参数设定可以去onenet的HTTP接入章节查看。
1.点击【collections】-【create new collection】-【add request】然后进入这个界面
在这里插入图片描述
2.首先在这里输入Address+URL,需要对HTTP 接入API格式进一步了解的可以查看官方文档
以直连设备属性上报为例
Address:https://open.iot.10086.cn
URL:/fuse/http/device/thing/property/post
在这里插入图片描述

3.接下来添加这两个参数
在这里插入图片描述
HTTP的topic有如下:
在这里插入图片描述
我们使用的是$sys/{pid}/{device-name}/thing/property/post
其中{pid}是产品id,{device-name}是设备id,根据自己的产品进行修改
我们采用的是HTTP协议,所以protocol填写http。
4.接下来是Token,红色框柱的需要通过软件生成,其他按图中填写即可。软件相关算法:
https://open.iot.10086.cn/doc/v5/fuse/detail/1486
https://open.iot.10086.cn/doc/v5/fuse/detail/1487
工具:https://open.iot.10086.cn/bbs/fo … TUxN3w4ODc2OA%3D%3D
在这里插入图片描述
5.接下来是Headers参数,确实红色框柱的是图中的文字即可,其他可以默认,也可以根据需求更改
在这里插入图片描述
6.最后是Body参数,这个格式是固定的,{“id”:“123”,“version”:“1.0”,“params”:{“xxx”:{“value”:aaa}}}
xxx:上报的属性
aaa:属性值,数字的话不需要“”双引号。
可以根据需求更改

在这里插入图片描述
这些都设置完成后点击send,可以看到返回成功,没有报错。
在这里插入图片描述

然后点击图中按钮可以生成上报请求,用于之后ESP8266模块连接云平台时直接复制使用。
在这里插入图片描述

点击复制得到:

POST /fuse/http/device/thing/property/post?topic=$sys/产品id/设备id/thing/property/post&protocol=http HTTP/1.1
Host: open.iot.10086.cn
Content-Type: application/json
Token: token
Content-Length: 58

{“id”:“123”,“version”:“1.0”,“params”:{“temp”:{“value”:6}}

其中产品id,设备id,token需要替换成自己产品对应的信息。

后记

esp8266模块连接云平台下一篇文章再写,内容太多,而且最好有一些基础比较容易看懂,如果不对的地方,大家可以指出,写的比较粗糙,主要是记录一下,使用新版onenet云平台连接折腾了我很久。

  • 37
    点赞
  • 62
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值