我目前从事的行业是无人机应用开发,每天都是跟物联网打交道,所以看到了华为云推出的关于物联网相关的技术就来了兴趣。在我的研究领域中,物模型已经是一个非常基础、非常常见的模型了。
如果没有物模型,那么最直接的,各种物体结合开发的时候就难以区分和归类,最终就是一团糟,所谓物模型,其实就是将某个物体进行建模,本文我将利用无人机领域的物联网技术阐述一下物模型相关的技术点,并使用一下华为云IoT平台,给出使用体验。
物模型什么是物模型?正如文章开头所说,物模型就是将某个物体进行建模,是对设备在云端的功能描述,主要包含设备的属性、服务和事件。这个怎么理解呢?
比如我现在研究的无人机领域,一般分为三种物体:
飞机遥控器机场每种物体都有自己的物模型,飞机有自己的设备属性、服务和事件,遥控器也有自己的设备属性、服务和事件。
比如飞机有飞机状态、飞机电池、飞行速度、飞行经纬度、飞行高度等设备属性。
飞机还会有云台旋转、拍照、录像等事件。
每个事件和服务都会通过命令上报的形式进行传递,一般使用的协议就是MQTT,消息体格式为JSON。
比如拍照功能,会朝无人机发送相关指令:
Topic:uav/product/parent_id/eventdata:{ "method": "take_photo", "id": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx", "timestamp:": xxxxxxxx}
当然了,在我们研究的工作中,肯定不止传这些参数,这里我只是提炼了一下。
以上就是理论方面的普及,下面我们直接试用一下华为云的IoT平台。
华为云IoT平台实战在开始之前,我们先简单的介绍一下华为云IoT平台。
华为云IoT平台是基于华为云底座的物联网平台,可以让接入的设备进行上云,将设备进行云化,可以更好的管理以及资源分配。
体验地址为:https://www.huaweicloud.com/product/iothub.html
下面我们正式体验一下华为云IoT平台:
创建产品-无人机1、访问网址https://www.huaweicloud.com/product/iothub.html,点击【管理控制台】:
选择第二个,点击【使用虚拟设备体验】:
我们需要给无人机这个产品进行建模,也就是设置一些属性、动作等等。
官方给的例子是水表,我们是无人机,所以需要自定义,点击【自定义模型】:
服务创建好了,接下来就是为这个服务创建一系列的属性,比如这里我们创建的是无人机的基础服务,那么无人机的基础服务会有哪些属性呢?在文章开头我们也说了,一般会有飞机状态、飞机电池、飞行速度、飞行经纬度、飞行高度等设备属性,真实业务场景会有100多个,我们这边就以飞机电池电量举例吧。
为了方便演示,这里我们选择虚拟设备:
创建好后,我们就看到了设备列表中新增了我们刚刚创建的设备,点击【调试】进入调试界面:
调试
在调试页面,我们可以清晰看到设备之间的交互图。
还是分为三端:
应用模拟器IoT平台设备模拟器应用模拟器相当于我们客户使用的界面,这个界面有好多控制按钮,IoT平台就是华为云的IoT平台,设备模拟器就相当于是上云的实体设备,这里相当于就是无人机了。
应用层想要跟设备端进行通信,必须经过中间的IoT平台,下面我们就来演示一下用户想要查看无人机的电量的流程:
1、应用模拟器进行【命令下发】:
2、设备模拟器进行【属性上报】:
发送成功后,我们注意到应用模拟器端有数据进行接收了:
{serviceId: manage_id, data: {"uav_battery":"10"}}
此时用户就能拿到无人机的电池电量10了。
整体流程大概就是这样。
总结我自己研究的领域中,物联网平台没有用到云IoT,但是今天体验华为云IoT后,我觉得也是非常不错的,省去了中间层很多麻烦的事情,包括部署、运维等等,希望本文手把书的教程,能够让您对华为云IoT有所了解,如果感兴趣的话,可以去实战看看哦。
花粉社群VIP加油站
猜你喜欢