基于阿里云物联网平台的数据可视化
作者:程德昊 何元清 蔡春昊
来源:《电脑知识与技术》2020年第22期
        摘要:2019年可以说是当之无愧的5G元年,随着5G的初露峥嵘,物联网和云计算正走进我们生活中的各个领域,影响着我们工作的各个方面。物联网的兴起,离不开云计算的发展。通常搭建一个云平台需要具备一定的财力物力,但是借着这个“万物互联”时代的东风,可以使用阿里云平台来进行各种各样的开发。本文通过使用阿里云物联网平台和传感器组成物联网,记录该传感器的各项参数,并在该平台实现了数据可视化。
        关键词:阿里云;物联网;数据可视化;MQTT协议
        中图分类号:TP311 文献标识码:A
        文章编号:1009-3044(2020)22-0050-02
        开放科学(资源服务)标识码(OSID):
        随着5G的快速发展,物联网与云计算也在慢慢影响着我们的生活,互联网通过信息改变了我们的生活,人和消息进行实时的碰撞。而物联网将会真正将网络连接到现实。物联网,实现了把物用网连接了起来,硬件设备收集数据进而在网络上流转处理,最终显示在我们面前。本文通过使用阿里云物联网平台,将XDK上收集的数据进行处理并使其可视化,并
在其平台上进行显示。
        1 物联网
        1.1阿里云物联网平台
        在物联网架构中,物联网平台属于中间部分,起着承上启下的作用。硬件传感器感知数据并将其传送数据到物联网平台上,同时可以在平台上进行编程开发,调用相应的API进行编程。所以说物联网平台在物联网体系中属于类似战略要塞的作用。本文选择国内常用的阿里云物联网平台进行开发编程。
        阿里云物联网平台有三点主要功能,分别是:硬件设备接人以及管理和维护;具备不同网络如2/3/4G的接人;具有多种不同协议的设备端SDK,如MQTT、CoAP、HTTP/S。在本次开发中,本文使用MQTT协议进行安全与权限管理和设备数据计算与存储。
        阿里云物联网平台提供的能力可以分为两大部分,即边缘端和云端。此外,使用阿里云物联网平台有以下几个优势:
        1)在其设备接入方面上,可接受多种设备连接,所以范围广,可以支持全球设备、异构网络设备和多协议设备的接人;
        2)阿里云物联网平台具有性能强的特点,可以保持亿级设备的长连接,并发量可以达到百万级;
        3)该平台安全性高,可提供多重防防护;
        4)平台具有极高的稳定性,其服务可用性99.9%,具有单点故障,自动迁移的特點;
        5)平台使用方便,具备人性化界面,一站式服务。L2 MQTT协议
        MQTT(Message Queuing Telemetry Transport.消息队列遥测传输协议)是一种基于发布/订阅的模式的“轻量级”的、构建在TCP/IP协议上的通讯协议。MQTT应用广泛,它有着许多优点,其中最大的一个优点就是可以在有限的带宽下通过少量甚至极少的代码连接远程设备,并且最为重要的是其消息服务不仅是稳定可靠而且是即时的。也正是因为其开销低,相对不高的带宽占用以及及时的通讯协议,使其在物联网、移动应用和小型设备等很多领域都有广泛的应用。在我国工业级物联网中,MQTT已经成为首选的云通信协议。值得一提的
数据可视化大屏设计是,MQTT是运行在TCPfIP协议上的,并且它提供的是无损和有序的双向连接。
        MQTT具有以下特点:
        1)它使用的是一种发布和订阅消息的模式,它的消息分发方式是一个对多个的形式,这样使得与程序的关联性降低,达到解耦的目的。
        2)对负载内容屏蔽的消息传输机制。
        3)关于发布消息方面,该协议有三种消息发布服务质量。
        (1)至少一次,即发消息次数>=1,在这一级别中,消息会被确保达到,但是在这过程中消息可能会重复发送。
        (2)最多一次,即其发送消息的次数<=1,这种级别的消息发布完全依赖了底层的TCP/IP网络,在这一级别下,发送的消息可能发生丢失,也有可能发生重复。这种级别适用于在对数据的丢失不致命的情况。比如使用传感器测试环境时丢失一份数据影响并不大,因为马上就会有下一份数据过来。当有时我们主要着眼点在整体时,单个数据影响不大时我们可以使用这种级别。
        (3)只有一次,即发送次数=1,该级别要确保发送的消息到达一次,不能有丢失。这种级别比较严格,常常在计费系统中使用,如果消息重复或者丢失,会造成严重的后果。
        4)MQTT协议是小型传输的。它的消息体由固定报头,可变报头和有效载荷三部分组成。其中它的头部是固定的,甚至仅有两字节,这样使得它的花销很小。正是因为这些方法,协议交换达到了最小化,最终达成降低网络流量这个目的。也是这些特性使得它能在物联网信息的传输中有一席之地。这其中很大的原因是因为嵌入式设备因为其自身原因导致运算能力和带宽相对来说不是很好,所以使用MQTT来传输信息可以说是最好不过的了。
        5)MQTT协议有特殊的机制,当遇到有异常导致中断时会通知双方。这种特殊机制即为Last Will和Testament。 Last Will:也被称为遗言机制,这种情况用于在同一主题下的其他设备发送遗言的设备已经断开了连接的场景。
        Testament:遗嘱机制,功能类似于Last Will。
        那么MQTT协议实现方式如图1所示。
        MQTT协议中有三种身份,分别为发布者,代理(服务器)和订阅者。客户端由于发送
和接收消息,同时扮演着消息的发布者和订阅者的角,在图1中的消息代理的角是由服务器扮演。
        1.3 IoT studio
        本次开发中,本文使用IoT studio。IoT studio原来称为Link Develop,它是阿里云针对物联网场景提供的生产力工具,所以它也算作是阿里云物联网平台的一部分。它可以运用在物联网的核心场景,加速物联网SaaS构建。
        IoT studio主要有以下几个特点:1)简单,可以完成可视化搭建,可以在操作页面上拖拽和配置操作,相当快速的完成设备数据监控相关的Web页面,移动应用和API服务的开发;2)IoT studio与阿里云物联网平台无缝打通,设备相关的各种参数,比如属性,服务和事件之类的数据可以直接从物联网平台设备接入和管理模块中直接获取;3)开发平台上资源丰富,拥有多种组件和API,很多功能用户不需自己编写,只用调用接口,非常的方便,提高了效率。4)使用IoT studio开发完成后,可以直接托管在云端,支持直接预览使用,无须部署即可交付使用。
        2 连接阿里云物联网平台进行开发
        在了解阿里云物联网平台,MQTT协议以及IoT studio之后,就可以使用以上三个技术来进行实际操作。本次我们选择了BOSCH XDK110作为硬件设备来进行实验。连接的框图2如下所示。
        在阿里云平台侧进行开发,需要注册阿里云账号,接着进入阿里云官方物联网平台( https://sole.aliyun/),创建用户所使用的设备类型的产品,并添加设备,添加所需要的物模型,比如:加速度计,陀螺仪温度、湿度等信息,并使这些信息可视化的显示在web页面。
        物模型是指设备在云端的相关的功能的描述,它包含了设备的事件,属性和服务。在物联网平台中,通过定义一种物的描述语言来描述模型,我们把其称为TSL。用户可以将其理解为一种数据包格式的约定,因为其数据的上传按照物模型进行构造,平台接收的数据也会按照物模型进行相应的解析。构造的数据包要符合常用的JSON格式,其中包含有四个部分,分别是:消息ID,物模型版本(1.0),上报方式,和参数。
        接下来需要在设备端进行开发,连接到阿里云物联网平台上。打开开发工具XDK Workbench进行代码编写。并在此中设置相应的参数。主要设置程序中的连接WiFi的SSID和
密码以及连接服务器的链接地址、端口、配置信息,即可使用MQTT连接。值得注意的一点是,在连接阿里云物联网平台的过程中,存在一个鉴权的过程,其中username和password需要使用规定的鉴权方式才能通过MQTT连接阿里云物联网平台,pass-word是通过加密算法hmac-shal得到的一個哈希值。
        此次代码的总体流程可以总结为:1)配置参数设置;2)使能WiFi,MQTT,传感器等;3)连接MQTT服务器;4)订阅Topic;5)检测连接,断线重连;6)获取传感器等数据;7)推送数据;8)判断平台下发的阈值信息,如果有进行第9步,无则进行第五步;9)处理数据,如果大于阈值,发送报警;小于阈值,消除报警。
        代码编写完成后,点击build进行编译。然后将XDK连接电脑,开启XDK的开关,下载程序烧写到XDK中,就可以看到平台端显示各传感器数据,如图3所示。
        3 物联网数据可视化
        经过以上的操作,相关的硬件设备已经可以通过WiFi传输数据并显示在网页端了,但是并不直观,对于相关人员分析数据并不方便。因此需要一个可视化的页面来展示接收到的数
据,能够直观地显示数据并帮助相关人员进行分析。需要注意的一点是,在IoT studio开发之前用户应该确保平台已经接收到数据并解析到物模型,这样来确保数据不会丢失。
        在阿里云物联网平台中,其平台本身提供了许多相关可视化的组件,比如仪表盘,滑条,曲线图等常用组件。用户可以非常方便地使用相应的组件来调整组件的各个位置。自此可视化的Web界面开发完毕,保存并发布即可,发布展示如图4所示。
        4 结语
        在此次开发中,首先在电脑上编写程序并将其烧录至XDK设备中,然后通过MQTT协议将设备所收集的信息传给阿里云物联网平台,在阿里云物联网平台中添加所需要的物模型,然后进行IoT studio开发,使相关数据可视化地展现出来。利于相关人员分析和处理数据。随着5G的快速发展,物联网一定也会借此“东风”快速的发展,而“万物互联”也会在中国生根发芽,相信在不久的将来,中国也会由“世界工厂”转变为工业互联网强国。
        参考文献:
        [1]高柏,朱兰.从“世界工厂”到工业互联网强国:打造智能制造时代的竞争优势[J/OL].改
革:1-14[2020-05-14].http://knski/kcms/detail/50. 1012.F.202005 13.085 2.002.html.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。