概述
文章目录
- 第1步:登录华为云平台
- 第2步:获取开发者免费资源
- 第3步:进入开发中心
- 第4步:产品开发->新建产品
- 第5步:定义Profile。
- 第6步:编解码插件开发
写在前面:由于华为云IoT平台升级,本博客里的操作指引可能与实际不符,但也可以作为参考使用,如果后期有空的话我再根据新平台写过一篇文章吧!其实核心操作都差不多的。
华为云IoT平台从这里进哈:https://www.huaweicloud.com/product/iothub.html
原来的OceanConnect已经进行功能拆分了,大家在操作上有问题都可以在文档里找到指引:https://support.huaweicloud.com/iothub/index.html
本人是原作者,首发原文地址:https://bbs.huaweicloud.com/forum/thread-24008-1-1.html
第1步:登录华为云平台
登录华为云平台,官网:https://www.huaweicloud.com/。(建议使用Chrome浏览器)
右上角登陆或者注册一个账号,这里我已经登陆了(怎么注册这里我就不说了,如果平台需要你提供企业信息,企业用户可以填自己企业,如果是个人用户可以随便填)
注册完了别忘了实名认证哦!
很多网友反馈第2步教程现在不适用了,因为华为的界面改动较大(我也找不到了),现在附上新的链接:https://iot-dev.huaweicloud.com/(该链接新用户已经登陆不了了,请参考开头的新IOT平台入口链接,使用新的平台“IoTDA”)进入后选择使用华为云账号登陆。大家可以跳过第二步了。
第2步:获取开发者免费资源
选择“开发者”—>“开发者资源”—>“资源”—>“IoT专区(点击直接跳转)”,开通IoT业务(开发者资源可以免费使用,但是创建项目以及连接的设备有限,适合新手学习使用)。
新用户这里还需要一个开通业务的步骤,需要你填企业名称、企业类型、解决方案场景等信息,企业用户可以填自己企业信息,如果是个人用户随便填即可
第3步:进入开发中心
进入开发中心后可以看到如下界面,新用户是没有项目的,点击下面的加号新建项目。这里我们以经典的智能路灯作为例子(可能有人会问为什么又是智能路灯?因为我们的教程偏新手向,就像我们接触一个新语言时输出hello world一样)
填写:项目名称、所属行业、描述(带红色“*”的是必填项),点击确定。
项目创建成功,保存好应用ID与应用秘钥,日后做北向开发会用到,也可以直接选择进入项目,日后用到时可以重置秘钥。所以不用担心,这里我们直接进入项目。
第4步:产品开发->新建产品
点击:产品开发->新建产品,新用户可能还要多一个步骤,那就是填写厂商信息,还是一样:企业用户填自己企业信息,个人用户随便填即可
选择自定义产品(虽然华为物联网开发平台有智能路灯的模板,但我们重点要学的是如何创建自己的产品,这样以后才能开发我们各类有趣的、脑洞的各类产品)
然后填写产品信息,产品名一般可以跟项目名一样。协议类型选:CoAP,数据格式:二进制码流。
填好后点击创建->点击确定
第5步:定义Profile。
那么Profile到底是什么呢?官方解释是:“设备的 Profile 文件是用来描述设备类型和设备服务能力的文件。它定义了设备具有的服务能力,每个服务具备的属性、命令以及命令的参数。”
新手:???
Profile就是配置文件,很多新手刚接触都是比较懵的,其实说白了就是设置云平台与你的设备需要通信哪些数据。
我们现在的示例项目是智能路灯,所以我们需要设置最简单的就是2个数据;
一是从我们的设备发送当前环境的亮度值;
二是从云平台发送命令到设备,控制设备上的灯(开或者关)。
好现在我们来看下图,上部分红框里能看到产品的一些基本信息,现在我们点击“新建服务”
这里填写服务名称,服务名称可以自己取,如果跟我一样不知道取什么好,不妨像我一样在产品名称后面加上Service(服务),
点击新增属性,然后填写相关数据,具体数据如下图,因为该属性是用来接收设备上传上来的环境亮度。所以我取名为“Light”,数据类型为整形int,数据值区间为:0~100,因为该属性是用来接收环境光的亮度的,单位可以填亮度单位:cd/㎡,这里我用%,具体单位根据项目实际情况而定,也可以不填。访问模式:这里我们把3个都勾上,(E就是当有数据上报时会产生一个事件,可以用来做北向开发,规则制定等,我们先不用管它到底是干什么的,日后用到再说),
接着我们点击添加命令,这里起名为Switch
然后界面变成下图这样,接着我们添加下发命令字段。
这里类型没有bool类型,所以我们设置为string类型,长度为3(以枚举值里最长的字符串设置)。设置完点击确定。
设置完成后点击下图的小勾保存(这勾好像之前就可以勾上)
可能这时有人会问底下的“响应命令字段”是干嘛的?不用设置么?
这个“响应命令字段”是用来约定当我们云平台下发命令给设备后,当设备接收到命令该返回什么字段给平台,来证明设备确确实实收到命令了,如果设置了该“响应命令字段”而设备没回应对应的字段,这样云平台就知道传输过程中很有可能丢包了,这样可以采取其他动作,比如一定时间后还会再次发送一次命令。因为这教程主要面对新手,所以就不设置“响应命令字段”了。这样命令下发后,平台就不用管你的设备到底有没有收到命令了。
第6步:编解码插件开发
搞完Profile后,我们点击“编解码插件开发”->点击“新增消息”
设置好消息名,选择数据上报,然后添加字段。(添加响应字段的功能跟上面的“响应命令字段”功能差不多,暂时不过多介绍,先不理它)
添加字段如下图,默认值必须输入16进制数
点击完成
再点击新增消息
这里选择命令下发,这边消息名就不能用“Switch”了,因为跟Java语言的关键字冲突了,我名字没起好,大家要注意,既然原先起的名不能用,那这里就填“Button”吧,然后还是点击添加字段。
字符串类型,长度为3,默认值:OFF
如下图点击“StreetLight_Service”下拉框,然后把属性里的Light拖动出来
然后把命令框里的命令也拖动出来
是不是很简单,只需要通过图形化方式就搞定了,然后就如下图一样,可能有些新手还是不太懂什么意思,大概就是如下图所示,左侧我们新增的消息为设备端的数据,右侧就是服务器华为物联网开发平台的数据,也就是我们上一步配置的Profile。
然后别忘了点击保存和部署。
点击确定部署
插件部署时间可能会比较久,只要网络没问题,稍微等一会就好。
插件部署成功
然后直接点击在线调测->点击新增测试设备
先创建一个虚拟设备,真实设备的添加及连接、调试等,我将在我下一篇博客写出来,写到现在已经凌晨2点了,谅解一下。
创建虚拟设备后直接跳转到下图这个界面,该界面是平台的模拟界面,模拟设备与应用之间的通信。一般环境搭建完成后都先从模拟器来测试是否有错误。红框是我们最主要的几个功能。
我们尝试从设备发送数据到应用,从设备模拟器发送数据50(16进制),应用模拟器接收到数据80(10进制),消息跟踪处的警告提示:编码响应结果为空。因为我们没设置编码响应的字段,所以会有警告,我们不用管它。
我们从应用模拟器发送命令ON;可以看到命令发送成功,并且设备模拟器也接收到数据:4F4E(16进制ASCII码)
———————————————————————————————————————————————
END
———————————————————————————————————————————————
(ps:在写教程过程中还发现一件有趣的事情,那就是应用模拟器发送命令到设备时,有个数据迟迟没送达,第一次碰到这情况,我以为丢包了,一想这模拟器好真实啊,还会丢包的,如何接连发送2个命令都很快的收到了,就像上图一样,然后我去该虚拟设备的历史命令里查看那个命令详情,发现居然1分30多秒才收到数据,然后又回到模拟器,发现确实收到数据了)
最后
以上就是高大小甜瓜为你收集整理的超详细“华为IoT物联网(OceanConnect)平台环境搭建教程”的全部内容,希望文章能够帮你解决超详细“华为IoT物联网(OceanConnect)平台环境搭建教程”所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复