一、打开华为云首页
二、注册账号
如果有华为云账号则跳过该步骤。
没有账号则点击右上角注册。
三、实名认证
已实名认证跳过该步骤。
注册完账号之后登录账号,点击主页右上角账户左边的控制台。
填入自己的个人信息进行实名认证。
四、创建产品
点击左上角华为标志旁边的三个叠一起的横杠。
找到“设备接入Io TDA ”,注意看,我这里是最近用了这个玩意,他才出现在“最近访问”里的,如果你没有用过这玩意,那么直接在搜索栏里输入“设备接入”,它也会出现的,然后鼠标右键点击。
进来之后点击左侧栏中的 “产品”。
点击创建产品。
因为我之前创建过,所以产品列表里有东西,如果你的没有东西,是正常的。请不要焦虑,不要在脑子里想“啊啊啊啊啊,怎么跟教程又双叒叕不一样了”
所属资源空间 默认不用动;填写 产品名称,越短越好,尽量英文;协议类型默认MQTT也不用改,我们用的也是 MQTT ; 数据格式 JSON 也不用改;设备类型选择 选 自定义类型;下面设备类型的框框手动输入 无;最后点击 确定。
他会弹出来这么个界面,点击 “查看详情” 。如果手滑了,不消息点到了确认也不要着急,他会显示在下面产品列表中,点击右边操作栏里的 “详情” 即可。
五、添加服务 创建属性
紧接着他会来到这么个界面,鼠标滚轮下滑,找到“自定义模型”并点击。
服务ID最好填写英文,服务类型和服务描述可以自拟或者不写,填完之后点击确定。
点击新建属性。
属性名称最好英文,这里举了温度作为例子,属性描述是对这个属性的描述,自拟或不写,数据类型根据情况自行选择,访问权限我一般给完,可根据实际情况更改,取值范围根据实际情况更改,步长和单位自拟或者不写。保证头上带红星的不留空之后,即可点击确定进行下一步。
这样下面属性列表里就会出现刚刚新建的属性了,若是需要额外的服务可点击标红的“添加服务” 按钮,若是需要添加新的属性可以点击属性栏上面的 “新建属性按钮”。
六、注册设备
点击左侧栏中“设备”右边的倒三角符号让他变成正三角,这项就会显示出来“所有设备”,然后点击“所有设备”,点击页面中标红的“注册设备”。
这一页的东西建议都写上。
所属资源空间选默认的(其实没得选,只有那一个);所属产品选择我们刚刚创建的那个产品;设备识别码自拟;建议写的简短一些且用英文;设备ID最好也要自己写,后要用到,如果不自己写,他会给你生成个又臭又长的;设备名称、设备描述自拟;设备认证类型默认密钥就行;密钥和确认密钥也最好自己写,不然也会给你生成一个又臭又长的。
当然了,不写也没关系,后面都能自己查找到,并且可以修改。填完之后点击确定,进入下一步。
.
然后他会提示你设备创建成功,然后点击标红的“保存并关闭”。
七、整理需要用到的数据
7.1、准备工作
左上角就会弹出一个名字设下图这样的文件,点击另存为,放到桌面上,方便找到,这些都是后面要用到的。
保存路径是桌面,放当然其他能找到的位置也刑,类型.txt不变,文件名字我也改了一下,点击保存。
找到存放这个路径,打开小本本,看看里面都是些什么内容。
这里面有两项内容,一项是device_id,另一项是secret。
7.2、三元组
1、打开下面的网站。
Huaweicloud IoTDA Mqtt ClientId Generator
2、打开小本本,把对应的device_id和secret分别复制粘贴进去。注:不要把引号复制进去。
3、点击网页中标蓝的“Gennerate”,便会生成三元组,即ClientId、Username、Password。
4、把三元组分别复制到小本本里,标注好每一项是什么。
7.3 域名及端口号
在保存完三元组之后,我们再次回到华为云的界面。
点击左侧栏中的 “总览”,点击页面中标红的“接入信息”,会从右边弹出一个页面,找到页面中的表格倒数第条“MQTT(1883)”,鼠标向右移动,直到出现一个复制的图标,点击复制,复制的内容就是域名了。则前面的MQTT(1883),括号里的1883便是端口号了。
把域名和端口号一并记小本本里。
若是有的地方需要IP,可以按住win+R键,输入cmd,打开命令行窗口,输入指令:ping 域名,如下图所示的红框中的东西就是IP了,一并记在小本本上。
至此,连接华为云需要的参数已经全部整理完毕,接下来开始连接华为云
八、MQTT.fx工具连接华为云
8.1、下载安装MQTT.fx工具
打开下面的连接,即可下载MQTT.fx工具。
https://iotda-document.obs.cn-north-4.myhuaweicloud.com/mqttfx-1.7.1-windows-x64.exe
整个安装过程还是挺简单的,因此详细安装步骤不再赘述。
8.2、打开MQTT.fx连接华为云
打开MQTT.fx之后点击Cinnect右侧的齿轮状的设置按钮。
先点击左下角的加号,新建一个协议,然后给起一个有辨识度的名字(主要是让自己知道什么是什么)。
点击User Credentials。
按照我标出来的不同颜色的箭头和框框,分别把内容粘贴进去。
最后把鼠标移到左下角,从右到左依次点击“Apply”,“OK”,“Cancel“。
至此配置完成。
点击齿轮左边的框框,会来列出来所有的协议,选择我们刚刚创建的那个协议。
然后点击齿轮右边标蓝的Connect按钮,即可连接上华为云。右上角的小圈圈也会冒绿光,证明连接完成。
我们再回到华为云界面,点击右侧栏中的设备中的 “所有设备”,此时会发现我们创建的设备的状态由之前的未激活变成了在线。
九、属性上传及消息下发
9.1、准备
点击左侧栏中的产品,找到产品栏中我们创建的设备,点击右侧的详情
点击Topic管理
鼠标滚轮下滑,找到如下图中我画框的两条Topic。
蓝色框是平台下发消息给设备。
红色框是设备上报属性给平台。
把这两条topic复制粘贴到小本本里。
对于这两条topic还需要修改一下,需要修改的地方为我画红框的位置。
那么怎么修改呢?他给的提示是device_id,还记得你的device_id 是什么吗?
不记得了也没关系,全都记在了小本本上了,打开小本本网上翻,找到我们最初记的那一条。device_id就在这里。
我的device_id是10086,因此,只需要把{device_id}替换成10086即可。
在注册设备的时候如果不是手动填写的device_id,则这里的topic就会又臭又长。
注意:修改的时候也要把花括号给去掉。
对比修改前和修改后的topic为:
除此之外,还需要属性上报时发送的数据格式,这里就不带着大家找了,我直接写在下面:
{
"services": [{
"service_id":"gyj"
"properties": {
"temperature":20
}
}]
}
这些最好也记在小本本里面,以便不时之需。
要注意的时我标红框的两个东西,一个是服务ID,另一个是属性名称,属性名称冒号的就是我们要上传的值。
服务ID和属性名称都可以在 产品———>详情中找找到。
这里我画红框的就是服务ID,蓝框的是属性名称。把上面我提到的两个需要注意到的地方替换成这两个即可。
这时,该有人问了,如果说我要发送的不只一个温度,还要湿度怎么办呢?
那么我们只需要点击上图的服务ID下面的 “新增属性”,先创建一个湿度属性:
点击确定之后,属性列表里就会多了一个湿度的属性。
然后再修改一下我们需要发送的数据包的格式,记在小本本里。
{
"services": [{
"service_id":"gyj",
"properties": {
"temperature":20,
"humidity":40
}
}]
}
注意,箭头处加一个英文逗号,一定是英文的。再按上述格式在我标红框的地方填写湿度的属性名称和值,末尾无需加逗号,如需再添加属性,则重复步骤即可,一定记得加属性之前加一个英文逗号,结束的时候就不要加逗号了。
最重要的一点:无论华为云里设置什么数据类型,只要冒号后面的只要有一个英文字母,发送的时候必须用引号括起来,
举个栗子:如果service_id 是纯数字,比如1,可直接写1,如果是1a,则必须写成 "1a"
至此,我们已经准备停当,接下来就开始使用MQTT.fx与华为云进行交互,实现属性上传以及消息下发。
9.2、属性上传
点击上面的Publish,打开小本本,把上报属性的topic复制粘贴到下面的横条小框里,把要发送的数据按照上述格式复制粘贴在下面的大白框里。点击右边的Publish即可发送到华为云。
打开华为云,设备——>所有设备——>详情
观察更新时间与实际时间,观察数据是否与发的一致即发送成功,如下图所示:
9.3、消息下发
使用云平台下发之前,也需要先配置一下MQTT.fx,不用担心,到了这里,我们该配置的巨大多数已经配置完了,只需要打开MQTT.fx,点击“Publish” 左边的 “Subscribe” ,打开小本本,找到平台下发的topic,同样复制到下面的条小框里,然后点击右边的“Subscribe”按钮。
打开华为云,依次点击云端下发、下发消息,只需在消息内容框框里写入要发的内容即可,最后点击确定,消息就会发送出到我们的MQTT.fx
返回到我们的MQTT.fx,在下面的黑框框里就有我们在云平台发送的消息,至此与华为云的通信成功。