#原来的阿里云平台自25年2月1日起就不能用了,所有很多都开始纷纷转战Onenet平台,功能大差不差,欢迎交流讨论#
前面是小程序部分,后面是stm32部分
准备工作:
首先需要注册onenet云平台的账户,实名认证,认证好后就可以开始使用onenet云平台了。随后找到产品服务栏下的物联网开放平台,点击立即体验。进去之后划到最底下点击立即体验。就可以看到我们的界面了。
一、新建产品和设备
1.创建产品
首先点击产品开发,右边界面出现创建产品,点击创建产品,弹出创建界面之后,产品种类随便选,这里选的是其他行业其他设备等。智能化方式选择设备接入,主要是下面的产品信息:名称自己填写,城市随机,节点类型我们选择直连设备,协议选择mqtt协议,数据协议选择Onejson,联网方式选择WIFI,产品开发方案选自定义方案如下图,点击确定就可以了。
创建好产品我们可以给他创建几个物模型如(温湿度,光照)。点击刚才创建的产品右侧的产品开发,如下图:
点开有个功能定义,我们选择设置物模型,添加自定义功能点:
添加我们后期需要的物模型就可以了,我这里添加了温湿度和光照强度。
2.创建设备
点击左侧栏的设备接入管理,展开有个设备管理,点击进去右侧出现添加设备,出现所属产品,我们选择刚才新建的产品,后面有个设备名称,自填就好,点击确定,设备创建完成。
设备创建好就是这样了:
二、小程序访问onenet的物模型数据
这里我们需要一个获取token(auth_info)的程序叫tokenV2.0,这个可以帮助我们生成小程序连接onenet的密钥(AUTH_INFO)。Method为sha1。(stm32通过tokenV1.0生成连接onenet的密钥,后面讲stm32通过esp32-01s连接onenet)
res格式是userid/xxxx,在onenet平台的右上角点击头像访问权限。里面有个用户信息和accesskey,后面的key就是accesskey,其中et是指时间戳,可以在浏览器搜索时间戳,(时间戳(Unix timestamp)转换工具–在线工具 (tool.lu)),然后修改下方的时间即可。也可以用我这的1958243260。
将那些数据填充到小程序所需要连接onenet平台的元素,就可以正常访问onenet云平台了。下图是通过上面那些参数获取设备在线状态的小程序代码,通过小程序界面可以看到连接成功。
连接成功返回数据的图片如下图:
三、stm32通过esp8266(esp32-01s)上行数据到onenet云平台。
我这里keil工程里面有三个连接的代码,分别是esp8266.c、mqtt.c以及onenet.c,我们需要初始化配置esp8266以及连接WIFI并且访问onenet地址,部分代码如图所示:
接下来是mqtt.c,这部分我们只需要修改一个地方,就是我们通过mqtt协议推送数据到onenet平台下的topic(也可以认为是一个地址),onenet平台下有相关API文档说明推送的数据到那个接口可以实现数据可视化。如下图代码,用这个代码的可以直接改成自己的产品ID以及设备名称
最后一个就是onenet.c,这个代码是让我们的esp32-01s访问onenet云平台的的代码,这里需要我们的token工具,类似于阿里云的三元组。
其中PROID就是我们的产品ID,AUTH_INFO就需要token工具来生成,它是通过设备的信息来访问。
res是product/产品ID/devices/设备名称的格式,et还是可以使用刚才小程序用的1958243260,现在这里的key是我们的设备密钥,点击刚才创建的设备的详情,进去如下界面,最重要的参数如图所示位置,主要上面的method现在是md5。
最后把PROID、AUTH_INFO还有DEVID粘贴到工程中烧录进去就可以了。
四、实现结果
最后插上stm32部署好传感器实现的图片如下图: