超详细“华为IoT物联网(OceanConnect)平台环境搭建教程

举报
Micah 发表于 2020/01/12 10:11:58 2020/01/12
【摘要】 该文章详细的讲述了“华为IoT物联网(OceanConnect)平台环境的搭建”教程,适合新手阅读,让新手更快的上手华为物联网开发平台。

写在前面:由于华为云IoT平台升级,本博客里的操作指引可能与实际不符,但也可以作为参考使用,如果后期有空的话我再根据新平台写过一篇文章吧!其实核心操作都差不多的。

华为云IoT平台从这里进哈https://www.huaweicloud.cn/product/iothub.html
原来的OceanConnect已经进行功能拆分了,大家在操作上有问题都可以在文档里找到指引,https://support.huaweicloud.cn/iothub/index.html
如果有其他问题欢迎来论坛求助,专家实时在线解答哦https://bbs.huaweicloud.cn/forum/forum.php?mod=forumdisplay&;orderby=lastpost&fid=727&filter=typeid&typeid=559


1步:登录华为云平台,官网:https://www.huaweicloud.cn/。(建议使用Chrome浏览器)

右上角登陆或者注册一个账号,这里我已经登陆了(怎么注册这里我就不说了,如果平台需要你提供企业信息,企业用户可以填自己企业,如果是个人用户可以随便填)


注册完了别忘了实名认证哦!


很多网友反馈第2步教程现在不适用了,因为华为的界面改动较大(我也找不到了),现在附上新的链接:https://iot-dev.huaweicloud.cn/

(新用户已经登陆不了了,请参考开头的新IOT平台入口链接,使用新的平台“IoTDA”)

进入后选择使用华为云账号登陆。大家可以跳过第二步了。


2步:选择“开发者”—>“开发者资源”—>“资源”—>IoT专区”,开通IoT业务(开发者资源可以免费使用,但是创建项目以及连接的设备有限,适合新手学习使用,如果你需要大量的设备连接,以及数据的传输等,那就需要购买服务了,而且现在有9.9/月的活动,特别划算)。



新用户这中间还需要一个开通业务的步骤,需要你填企业名称、企业类型、解决方案场景等信息,企业用户可以填自己企业信息,如果是个人用户随便填即可,填完信息后就可以进到下图界面,点击进入开发中心。


3步:进入开发中心后可以看到如下界面,新用户是没有项目的,点击下面的加号新建项目。这里我们以经典的智能路灯作为例子(可能有人会问为什么又是智能路灯?因为我们的教程是新手向的,就像我们接触一个新语言时输出hello world一样,更因为智能路灯要传输的数据简单又适合教学)


填写:项目名称、所属行业、描述(带红色“*”的是必填项),点击确定。


项目创建成功,这里我们直接进入项目。(应用ID与应用秘钥,日后做北向开发会用到,日后用到时可以重置秘钥。所以不用担心。当然你也可以先点击下载秘钥保存下来。)


4步:点击:产品开发à新建产品,新用户可能还要多一个步骤,那就是填写厂商信息,还是一样:企业用户填自己企业信息,个人用户随便填即可


选择自定义产品(虽然华为物联网开发平台有智能路灯的模板,但我们重点要学的是如何创建自己的自定义产品)


然后填写产品信息,产品名一般可以跟项目名一样。协议类型选:CoAP,数据格式:二进制码流。其他选项倒没那么重要。


填好后点击创建à点击确定



5步:定义Profile

那么Profile到底是什么呢?官方说法是:“设备的 Profile 文件是用来描述设备类型和设备服务能力的文件。它定义了设备具有的服务能力,每个服务具备的属性、命令以及命令的参数。”


新手:???

Profile就是配置文件,很多新手刚接触都是比较懵的,其实说白了就是设置云平台与你的设备需要通信哪些数据。

我们现在的示例项目是智能路灯,所以我们需要设置最简单的就是2个数据;

一个是从我们的设备发送当前环境的光照强度值(Light);

二是从云平台发送命令到设备,控制设备上的灯(开或者关)。

 

好现在我们来看下图,上部分红框里能看到产品的一些基本信息,现在我们点击“新建服务”


这里填写服务名称,服务名称可以自己取,如果跟我一样不知道取什么好,一般像这样在产品名称后面加上Service(服务),



点击新增属性,然后填写相关数据,具体数据如下图,因为该属性是用来接收设备上传上来的环境光照强度。所以我取名为“Light”,单位可以填亮度单位:cd/㎡,这里我用%,具体单位根据项目实际情况而定,也可以不填。访问模式:这里我们把3个都勾上,(E就是当有数据上报时会产生一个事件,可以用来做北向开发,规则制定等,我们先不用管它到底是干什么的,日后用到再说)。

接着我们点击添加命令,这里起名为Switch(其实起名最好不要跟Java的关键字起冲突,因为这个云平台后台应该是Java写的)



然后界面变成下图这样,接着我们添加下发命令字段。


这里类型没有bool类型,所以我们设置为string类型,长度为3(以枚举值里最长的字符串设置)。设置完点击确定。


设置完成后点击下图的小勾保存(这勾好像之前就可以勾上)


可能这时有人会问底下的“响应命令字段”是干嘛的?不用设置么?

这个“响应命令字段”是用来约定当我们云平台下发了命令给设备后,当设备接收到命令,应该返回什么字段给平台,以此来反馈设备确实接收到命令了,如果设置了该“响应命令字段”而设备没回应对应的字段,这样云平台就知道传输过程中很有可能丢包了,这样可以采取其他动作,比如一定时间后还会再次发送一次命令。因为这教程主要面对新手,所以就不设置“响应命令字段”了。这样命令下发后,平台就不用管你的设备到底有没有收到命令了。


6步:搞完Profile后,我们点击“编解码插件开发”à点击“新增消息”


设置好消息名,选择数据上报,然后添加字段。(添加响应字段的功能跟上面的“响应命令字段”功能差不多,暂时不过多介绍,先不理它)


添加字段如下图,默认值必须输入16进制数


点击完成


再点击新增消息


这里选择命令下发,这边消息名就不能用“Switch”了,因为跟Java语言的关键字冲突了,我名字没起好,大家要注意,既然原先起的名不能用,那这里就填“Button”吧,然后还是点击添加字段。


字符串类型,长度为3,默认值:OFF




如下图点击“StreetLight_Service”下拉框,然后把属性里的Light拖动出来


然后把命令框里的命令也拖动出来


是不是很简单,只需要通过图形化方式就搞定了,然后就如下图一样,可能有些新手还是不太懂什么意思,大概就是如下图所示,左侧我们刚刚新增的消息为设备端的数据结构,右侧就是服务器华为物联网开发平台的数据,也就是我们上一步配置的Profile


然后别忘了点击保存和部署

点击确定


插件部署时间可能会比较久,只要网络顺畅,稍微等一会就好。



插件部署成功


第七步:点击在线调测à点击新增测试设备


先创建一个虚拟设备,真实设备的添加及连接、调试等,我将在我下一篇博客写出来。


创建虚拟设备后直接跳转到下图这个界面,该界面是平台的模拟界面,模拟设备与应用之间的通信。一般环境搭建完成后都先从模拟器来测试是否有错误。红框是我们最主要的几个功能。



我们尝试从设备发送数据到应用,从设备模拟器发送数据5016进制),应用模拟器接收到数据8010进制),消息跟踪处的警告提示:编码响应结果为空。因为我们没设置编码响应的字段,所以会有警告,我们不用管它。


我们从应用模拟器发送命令ON;可以看到命令发送成功,并且设备模拟器也接收到数据:4F4E16进制ASCII码)




end


ps:在写教程过程中还发现一件有趣的事情,那就是应用模拟器发送命令到设备时,有个数据迟迟没送达,第一次碰到这情况,我以为丢包了,一想这模拟器好真实啊,还会丢包的,然后接着2个命令都很快的收到了,就像上图一样,然后我去该虚拟设备的历史命令里查看那个命令详情,发现居然1分28秒才收到数据,然后又回到模拟器,发现确实收到数据了)



【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。