本文使用OneNET物联网云平台,进行HTTP接入、创建设备、创建数据流。
并且创建一个多路开关应用,使用Fiddler抓HTTP包进行调试。
stm32、esp8266 可通过解析 HTTP 返回的 JSON包消息,获得开关状态,并用电脑手机APP进行远程控制。
相关文章:esp8266 esp12 AT指令连接wifi热点联网,HTTP获取OneNET物联网平台消息,控制四路远程开关
/Mark_md/article/details/107879589
OneNET是中国移动打造的高效、稳定、安全的物联网开放平台。OneNET支持适配各种网络环境和协议类型,可实现各种传感器和智能硬件的快速接入,提供丰富的API和应用模板以支撑各类行业应用和智能硬件的开发,有效降低物联网应用开发和部署成本,满足物联网领域设备连接、协议适配、数据存储、数据安全以及大数据分析等平台级服务需求。
1. 登入 OneNet官网
OneNET官网
首先注册账号。未认证账号只能添加3个产品,而认证用户可以添加10个,所以尽量认证下,3个实在不怎么够用。
2. 创建产品
登陆账号,点击 "开发者中心"
选择 "多协议接入"。
多协议接入适用于第三方套件接入和调试。
我们简单试用,选择比较简单的HTTP。之后点击 "添加产品"
在红色*的位置,敲入我们的产品信息。红色*是必填的,注意名称长度不能太长。
只有 " 产品名称 " 是对用户有用的,其他都是移动为了采集信息,可以随意填写。
点击确定,创建完成。在刚刚的产品列表中,点击产品名称,进入产品管理界面。
3. 创建设备
点击"设备列表","添加设备"。
跟上面一样,只有 "设备名称" 有用,其他随意填写。
可见生成了一个设备,并且生成了一个编号唯一的设备 ID。
记住这个 设备ID,后面会有用。
4. 添加数据流
点击 "数据流模板","添加数据流模板"
向其中添加几个数据流
5. 创建应用-多路开关
点击 "应用管理","添加应用"
编辑 "应用名称",添加 "应用LOGO"
"编辑应用",拖入4个开关。
再将4个开关,依次配置 设备、数据流、刷新频率。
刷新频率最快为 3秒,也就是3秒更新一次开关状态。哪怕 查询/下发频率再快,也是3s一更新。
每个开关对应一个不同数据流,来达到控制不同数据流的目的。
配置完成后,点击右上角 "保存"
生成了应用,在此界面可以点击 开关,来控制开关状态。
6. API使用。api-key、device-id获取
OneNET API使用帮助文档
里面介绍了 API调用的方法,以及 api-key 和 device-id 的使用和获取方法。
返回的消息是 JSON 格式。
api-key 获取:需要手机短信验证码。相当于你的密码,请勿泄露给他人。
(api-key 有更安全的方式,这里为了简便操作,只使用Master-APIkey。更安全方式详见 API文档)
device-id 获取:(产品ID、用户ID没有用的,我们要控制的是设备,不要被迷惑了)
方便大家进行测试,我将本篇博客的共享出来:
api-key:gXmRJ0eTdHa7dn7=HQ2a95nt7pg=
device-id:614235347
7. 使用 Fiddler调试
打开 Fiddler,Fiddler 是一款 HTTP调试抓包工具。
在 红框和箭头 位置,填入 url 和包内容。
/devices/614235347api-key: gXmRJ0eTdHa7dn7=HQ2a95nt7pg=
我们使用 OneNET 的 "查询设备详情" api,方法为 GET。
点击右侧的 " Execute " 后,会在左侧面板中查看到包消息。
双击左侧的消息包,会将发送和返回的包消息一并显示出来。
可以选择 JSON 编辑器去查看,还有很多其他的查看工具,使用非常方便。
查看应用的开关状态,使用 "批量查询数据流" api
/devices/614235347/datastreamsapi-key: gXmRJ0eTdHa7dn7=HQ2a95nt7pg=
对比下应用的开关状态。1、0、0、1,结果一致。获取开关状态成功。
8. 手机APP远程控制
手机应用商城,下载 " 设备云 " APP。
我们在网页创建的产品和应用,都会同步显示在APP上,并且会同步操作,方便进行远程控制。
接下来,有空会写写,如何使用 stm32 和 esp8266 进行物联操作,实物做过了差码字,尽请期待。
OneNET物联网云平台HTTP数据流上传与下发 使用Fiddler调试开关应用 stm32 esp8266物联网家居远程开关