文章目录

  • 第1步:登录华为云平台
  • 第2步:获取开发者免费资源
  • 第3步:进入开发中心
  • 第4步:产品开发->新建产品
  • 第5步:定义Profile。
  • 第6步:编解码插件开发



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

第1步:登录华为云平台

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

iot 云平台 终端 连接 iot平台搭建_字段


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

iot 云平台 终端 连接 iot平台搭建_iot 云平台 终端 连接_02

很多网友反馈第2步教程现在不适用了,因为华为的界面改动较大(我也找不到了),现在附上新的链接:https://iot-dev.huaweicloud.com/(该链接新用户已经登陆不了了,请参考开头的新IOT平台入口链接,使用新的平台“IoTDA”)进入后选择使用华为云账号登陆。大家可以跳过第二步了。

第2步:获取开发者免费资源

选择“开发者”—>“开发者资源”—>“资源”—>“IoT专区(点击直接跳转)”,开通IoT业务(开发者资源可以免费使用,但是创建项目以及连接的设备有限,适合新手学习使用)。

iot 云平台 终端 连接 iot平台搭建_nb-iot_03


iot 云平台 终端 连接 iot平台搭建_物联网_04


iot 云平台 终端 连接 iot平台搭建_字段_05

新用户这里还需要一个开通业务的步骤,需要你填企业名称、企业类型、解决方案场景等信息,企业用户可以填自己企业信息,如果是个人用户随便填即可

iot 云平台 终端 连接 iot平台搭建_物联网_06

第3步:进入开发中心

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

iot 云平台 终端 连接 iot平台搭建_字段_07


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

iot 云平台 终端 连接 iot平台搭建_nb-iot_08


项目创建成功,保存好应用ID与应用秘钥,日后做北向开发会用到,也可以直接选择进入项目,日后用到时可以重置秘钥。所以不用担心,这里我们直接进入项目。

iot 云平台 终端 连接 iot平台搭建_iot 云平台 终端 连接_09

第4步:产品开发->新建产品

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

iot 云平台 终端 连接 iot平台搭建_iot 云平台 终端 连接_10

选择自定义产品(虽然华为物联网开发平台有智能路灯的模板,但我们重点要学的是如何创建自己的产品,这样以后才能开发我们各类有趣的、脑洞的各类产品)

iot 云平台 终端 连接 iot平台搭建_物联网_11


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

iot 云平台 终端 连接 iot平台搭建_nb-iot_12


填好后点击创建->点击确定

iot 云平台 终端 连接 iot平台搭建_物联网_13

第5步:定义Profile。

那么Profile到底是什么呢?官方解释是:“设备的 Profile 文件是用来描述设备类型和设备服务能力的文件。它定义了设备具有的服务能力,每个服务具备的属性、命令以及命令的参数。”
新手:???
Profile就是配置文件,很多新手刚接触都是比较懵的,其实说白了就是设置云平台与你的设备需要通信哪些数据
我们现在的示例项目是智能路灯,所以我们需要设置最简单的就是2个数据;
一是从我们的设备发送当前环境的亮度值;
二是从云平台发送命令到设备,控制设备上的灯(开或者关)。

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

iot 云平台 终端 连接 iot平台搭建_iot 云平台 终端 连接_14

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

iot 云平台 终端 连接 iot平台搭建_物联网_15


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

iot 云平台 终端 连接 iot平台搭建_物联网_16


接着我们点击添加命令,这里起名为Switch

iot 云平台 终端 连接 iot平台搭建_物联网_17


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

iot 云平台 终端 连接 iot平台搭建_物联网_18


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

iot 云平台 终端 连接 iot平台搭建_物联网_19

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

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

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

iot 云平台 终端 连接 iot平台搭建_iot_20

第6步:编解码插件开发

搞完Profile后,我们点击“编解码插件开发”->点击“新增消息”

iot 云平台 终端 连接 iot平台搭建_物联网_21


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

iot 云平台 终端 连接 iot平台搭建_iot_22


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

iot 云平台 终端 连接 iot平台搭建_iot_23


点击完成

iot 云平台 终端 连接 iot平台搭建_字段_24


再点击新增消息

iot 云平台 终端 连接 iot平台搭建_字段_25


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

iot 云平台 终端 连接 iot平台搭建_nb-iot_26


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

iot 云平台 终端 连接 iot平台搭建_nb-iot_27


iot 云平台 终端 连接 iot平台搭建_nb-iot_28


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

iot 云平台 终端 连接 iot平台搭建_物联网_29


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

iot 云平台 终端 连接 iot平台搭建_物联网_30


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

iot 云平台 终端 连接 iot平台搭建_字段_31


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

iot 云平台 终端 连接 iot平台搭建_iot 云平台 终端 连接_32


点击确定部署

iot 云平台 终端 连接 iot平台搭建_物联网_33


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

iot 云平台 终端 连接 iot平台搭建_nb-iot_34


插件部署成功

iot 云平台 终端 连接 iot平台搭建_iot 云平台 终端 连接_35


然后直接点击在线调测->点击新增测试设备

iot 云平台 终端 连接 iot平台搭建_nb-iot_36


先创建一个虚拟设备,真实设备的添加及连接、调试等,我将在我下一篇博客写出来,写到现在已经凌晨2点了,谅解一下。

iot 云平台 终端 连接 iot平台搭建_物联网_37

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

iot 云平台 终端 连接 iot平台搭建_物联网_38


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

iot 云平台 终端 连接 iot平台搭建_字段_39


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

iot 云平台 终端 连接 iot平台搭建_字段_40

———————————————————————————————————————————————
END
———————————————————————————————————————————————

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

iot 云平台 终端 连接 iot平台搭建_iot_41


iot 云平台 终端 连接 iot平台搭建_物联网_42