写点什么

教你如何使用华为云的 DLV 平台搭建无人机飞行轨迹大屏,教科书级别的文章,非常详细

作者:wljslmz
  • 2022-10-23
    江苏
  • 本文字数:3480 字

    阅读完需:约 11 分钟

教你如何使用华为云的DLV平台搭建无人机飞行轨迹大屏,教科书级别的文章,非常详细

近三年来,公司倒闭了无数个,但是崛起的也有无数个,就拿我们公司来说,那还真的是崛起再崛起,因为什么?因为我们做的是无人机的应用,从智慧城市、电力巡检、风机巡检、智慧警务等都是我们的业务。在我们的技术圈中,物联网就是我们的基石。今天针对本文的主题”物联网可视化“,我就想以平时接触的技术最简单的点来与大家分享一下:无人机的飞行轨迹。

一、我对物联网的看法

因为我是从事物联网行业的,所以我觉得物联网对于我们来说就是一个”宝“,但是客观上来说,物联网真的是改变了我们的生活。


假如没有物联网,智能家居带来的方便你能享受到?智能音响、智能冰箱、智能马桶甚至智能门铃都是空想。


假如没有物联网,电动汽车能那么快占据汽车市场,你能享用到智能电动汽车带来的科技感、舒适感?


假如没有物联网,啥刷脸支付、无人超市你想都别想?


在这个时代,物联网无处不在,我们对之又习以为常,但是讲真的,世界真的是因为物联网而变得富有科技感,而变得便捷。


物联网改变了世界!也改变了人们的生活方式!


二、无人机的飞行轨迹

上面我提到了物联网的部分应用,相信大家都能感受到,毕竟那些都是跟咱们日常生活息息相关的,但是无人机这块,假如你不是这个行业的,还真的不太了解


试想一下,你是无人机的飞手,在飞行过程中,虽然你能通过无人机的云台实时看到飞行的画面,但是无人机的飞行轨迹你不知道,更不用谈轨迹分析、飞行分析这些深层次的事情了。所以说飞行轨迹可视化对于无人机来说非常重要。


在无人机飞行轨迹这块,飞机上报的信息非常多,比如:


  • 经纬度

  • 高度

  • 电池电量

  • 云台角度

  • 等等


那么本文,我就简单点,只用到经纬度和高度。

三、基于华为云搭建飞机飞行轨迹大屏

想要做成飞行轨迹大屏,一般要经历这样的过程:


  • 设备上报数据

  • 存储数据

  • 拉取数据

  • 展示数据


下面我们一步一步基于华为云的产品进行实现。

3.1 华为云 OBS 配置

首先我们就把数据存储的地方选好,这里我们选择的是华为云的 OBS。


华为云的 OBS 是对象存储服务器,基于 S3 协议,一般存储图片、视频、文件等。


访问 OBS 官网:


https://www.huaweicloud.com/product/obs.html
复制代码



我们直接点击【立即购买】,根据需要进行资源选择:



点击【去支付】:



点击【确认付款】:




我们在控制台就可以看刚刚购买的资源包:



在对象存储中,数据是放在存储桶中,所以我们需要创建一个桶,用来放无人机产生的数据。


点击【桶列表】,然后点击【创建桶】:



给桶起个名字,这里我们填的是 drone-flight-data,代表无人机飞行数据,其他配置可以默认,然后点击【立即创建】:



桶列表中就看到了我们刚刚创建的桶 drone-flight-data:



至此存储的地方 OBS 配置好了,接下来我们正式要进入无人机建模,造数据,存数据,展示数据了。

3.2 创建无人机产品

访问网址:


https://www.huaweicloud.com/product/iothub.html
复制代码


进入【设备接入 IoTDA】界面:



点击【管理控制台】,进入【设备接入服务】界面:



点击【产品】页签,进入产品列表:



我们看到已经有两个产品,其中无人机的产品是之前创建的,这里我们重新创建一个无人机的产品用来测试无人机的飞行数据。


点击页面右上角的【创建产品】:



填写产品信息:


  • 产品名称:无人机飞行

  • 协议类型:MQTT

  • 数据格式:JSON

  • 厂商名称:DJI

  • 所属行业:智慧城市

  • 所属子行业:公共服务

  • 设备类型:无人机



点击确定后,我们就能在产品列表中看到我们刚刚创建的无人机飞行了:


3.3 无人机建模

上一步我们已经建好了无人机飞行的产品,下面就是给这个产品建立模型,也就是设置一些属性。


我们点击刚刚创建的无人机飞行,进入到产品配置页面:



在模型定义中,官方给的例子是智能水表,导入的模型中也没有无人机相关的模型:



所以这里我们选择的是【自定义模型】:



在服务列表中看到 flight-001 服务已经建立好:



下面我们添加一下属性,点击【添加属性】:



如上图,首先我们创建了纬度的属性,经度和高度属性的创建和纬度类似,创建好后,在属性列表就能看到:



设备进行上报的时候就类似这样的:


3.4 数据转发

模型建好了,下面就是将这个无人机上报的数据进行转发到我们创建的 OBS 中。


在”设备接入“界面,点击【规则】,点击【数据转发】:



点击【创建规则】:



第一步:设置转发数据:



  • 规则名称:drone_flight_data

  • 规则描述:无人机飞行数据转发

  • 数据来源:设备属性

  • 触发事件:设备属性上报

  • 资源空间:根据情况选择


然后点击【创建规则】,点击【继续设置】:



第二步:设置转发目标:


点击【添加】,填写相关配置:



  • 转发目标:对象存储服务(OBS)

  • 区域:cn-north-4


因为我们创建的桶的区域就是【华北-北京四】:



这个时候,服务还需要授权,我们点击【访问授权】超链接:



点击【同意授权】:



添加转发目标 tab 页面需要填写一下:



  • 转发目标:对象存储服务(OBS)

  • 区域:cn-north-4

  • 存储桶:drone-flight-data

  • 自定义目录:drone_flight

  • 文件名称:drone_flight_data

  • 文件类型:CSV

  • 转发字段:notify_data.body.services[0].properties.latitude,目标存储字段:latitude

  • 转发字段:notify_data.body.services[0].properties.longitude,目标存储字段:longitude

  • 转发字段:notify_data.body.services[0].properties.altitude,目标存储字段:altitude


点击【确定】,点击【设置完成】:



此时规则还未启用,点击【启用规则】:



规则启用后:


3.5 数据上报

规则建好好,意味着上报的数据可以存到 minio 中了,我们来测试一下。


进入【设备接入】页面,点击【在线调试】,点击【新增调试设备】:



选择【虚拟设备】,然后点击【确定】:



这就是我们创建的虚拟设备:



点击设备名称进去后,选择设备模拟器(也就是无人机),属性上报这块填写一下要上报的属性值,然后点击【发送】:



发送后,我们清晰的看到无人机上报的信息,以及应用模拟器接收到的信息:



这个时候我们应该做啥?


当然是看下上报的这条消息有没有存储到 OBS 上。


打开 OBS 控制台,进入到我们创建的桶中,点击【对象】:



我们看到我们上报消息已经形成一个对象,存储在目录【drone_flight】中,点进去,看到了上报的消息已经存为【drone_flight_data.csv】:



下载后,我们看到数据已经成功存入 csv 文件里了:



我们多发一些数据,属性上报这里选择自动发送,周期为 1 秒:



然后我们就能数据就是这样:



至此,从设备上报到数据存储已经打通,下一步就是将上报的数据进行大屏展示。

3.6 创建数据可视化服务(DLV)

访问数据可视化 DLV 网址:


https://www.huaweicloud.com/product/dlv.html
复制代码


点击【体验试用】:



点击【立即开通】:



点击【进入控制台】:



选择【我的数据】,点击【新建数据连接】:



选择【CSV】:



这里的 Access Key 和 Secret Access Key 需要我们创建一下,访问网址:


https://console.huaweicloud.com/iam/?region=cn-north-4&locale=zh-cn#/mine/accessKey
复制代码


点击【新增访问密钥】:



给密钥增加一下说明:



点击【立即下载】:



看到了我们创建的密钥:



然后填写在【数据连接】的表单中,OBS 中选择我们创建的桶:



选择【drone_flight_data.csv】:



点击确定后,看到了刚刚创建的数据:



点击【新建大屏】:



场景中没有我们想要的无人机相关的大屏模板:



所以我们直接创建空白的模板,起个名字:无人机飞行轨迹大屏,点击【创建大屏】:



等待一会:



选择【地图】中的【基础平面图】:



点击【地图】,选择【数据】,选择【CSV 文件】,选择我们创建的数据:



点击【更新查询】后,地图无反应:



我仔细看了一下华为云没有提供地理信息级别的大屏解决方案,这里的地图是跟地区绑定的,能够展示出地区的数据差异性,所以,我们这里将数据以表格的形式展示出来。在我们的系统中,轨迹图是通过前端的技术绘制出来的,难度比较大,华为云没有提供这种模板也理解。


我们选择【键值表格】:



更新完数据后:



虽然很丑,但是能够展示出来就可以了,因为毕竟前端这块不是专门定制化的。


点击【预览】:



表格就显而易见了:



我们还可以点击【发布】:



我们复制一下创建的链接,在手机上进行访问:



至此从设备数据上报到数据转发、存储、再到最后的可视化数据展示,整个流程全部打通!

四、总结

花了 2 天时间体验了华为的设备接入平台、OBS 和可视化服务 DLV,原本想将我工作时候的无人机飞行轨迹数据展示出来,但是由于行业的小众加上技术的难度,华为云暂时没有我想要的模板,不过最终我把数据展示出来了,有数据展示就相当于成功了,轨迹图无非就是通过代码的形式将数据绘制出来。如果你的需求场景是态势感知、数据可视化展示等,我觉得你可以试用一下这个智慧大屏,操作比较简单,生成后访问速度也还可以。本文展示的教程真的是教科书级别的,非常详细,每做一步都有截图,如果你在使用的过程中遇到问题,可以参考本文。如果本文对你真的有所帮助,请收藏或者帮忙转发一下,有任何问题,欢迎在下方评论区与我讨论。

发布于: 刚刚阅读数: 3
用户头像

wljslmz

关注

极致主义者,追求技术的路上,勇往直前! 2021-05-24 加入

公众号:网络技术联盟站 👍InfoQ签约作者 👍阿里云社区签约作者 👍华为云 云享专家 👍BOSS直聘 创作王者 👍腾讯课堂创作领航员 博客+论坛:https://www.wljslmz.cn 工程师导航:https://www.wljslmz.com

评论

发布
暂无评论
教你如何使用华为云的DLV平台搭建无人机飞行轨迹大屏,教科书级别的文章,非常详细_物联网_wljslmz_InfoQ写作社区