目录
1、物联网项目必备功能模块
1.1物联网项目的产品架构
1.2物联网项目的软件部分
1.3物联网项目的硬件部分
1.4物联网项目的边缘计算部分
2、物联网传输协议
2.1HTTP协议
2.2MQTT协议(重要)
2.3其他协议
3、物联网和云平台
3.1公有云厂家的物联网平台
3.2运营商提供的物联网平台
3.3其他的物联网平台
3.4如何选择适合自己的物联网平台
3.4.1从场景出发
3.4.2从地域出发
3.4.3从技术储备出发
1、物联网项目必备功能模块
1.1物联网项目的产品架构
物联网产品架构是指在充分理解了产品功能和用户需求之后,从零开始设计完整产品的体系方案,并将其实现的一个过程。
物联网我们通常认为分为三层(感知层,网络层、应用层)
感知层(各种传感器及传感器数据收集的这种物理设备)传感器将数据收集之后,经过网络发送到应用层。网络的传输层有多种传输方式(基于以太网的传输方式、有线、WiFi,基于蓝牙低功耗的传输方式、基于Zigbee的传输方式以及低功耗广域网,比方说Lora的网络等等。
互联网的系统将感知层的遥测数据经过网络传输到应用层之后,我们能够根据需求构建不同的应用程序。比方说针对安全相关的下水道井盖的监控、医疗领域的疫苗,冷链车、智能家居(我们可以远程遥控家里的空调打开或关闭)再往上还有智慧城市或物流等等。
右侧是一个非常典型的简单的智能家居系统,有一盏灯,灯通过网络可以将信号发送到服务器上,用户可以通过手机调用服务器的一些API或指令实现远程控制灯的一个功能。
随着技术的发展,越来越多的物联网设备可能要求接入到应用系当中,比方说现在经常使用的二维码技术,比方说经常看到的各种监控摄像头技术,都对整个物联网体系的结构提出了新的要求(第一个:感知层的传感器越来越多,第二个:网络传输的要求越来越高,第三个:应用的多样化越来越高,第四个:我们期待从物联网项目当中得到的见解要求也越来越高)因此随着时代的发展,我们认为互联网产品架构已经发生了演进。
(基于阿里云的物联网平台架构,我们能够做什么样的产品出来?)
整个的物联网平台包含了设备侧,平台侧以及与其他阿里云产品的一些集成。通过这三部分的内容,我们能够构建智慧城市、智能生活等一些物联网应用。
在下层设备侧,设备可以通过阿里云的IoT SDK将设备集成到物联网平台的PaaS服务当中,Paas服务(一个叫IoT中心的产品)同样这个PaaS服务也具备控制边缘计算,能够连接边缘计算盒子的能力。
在物联网平台当中,内部已经内置了一些功能模块,比方说数据解析等。经过这些功能模块,我们能够构建一个简单的小型的物联网系统。
如果我们要构建大型的海量设备的物联网系统,通常我们还需要对数据进行进一步的处理,我们可以通过规则引擎将数据转发到不同的阿里云的其他产品当中,比方说消息队列等。将传统设备的遥测消息转发到不同的阿里云其他产品之后,我们就可以利用阿里云其他产品的一些能力去进行更复杂的运算和业务系统,物联网应用台的构建。
1.2物联网项目的软件部分
基础软件功能:
- 设备的遥测消息通常是指设备到云端发送的报警消息、持续消息等一系列的发送消息的功能。 比方说我有一个二氧化碳传感器,那它需要实时监测空气中二氧化碳含量,然后通过遥测消息的形式往云端汇报当前二氧化碳含量。
- 云端控制设备是指从云端反向控制设备的一个能力,这个通常是云端软件侧实现的功能,但需要设备侧的配合。非常典型的场景是可以在手机上通过一条指令让家里的空调打开或关闭。
- 文件上传,比方说智能摄像头、智能门铃的音视频文件上传。
- OTA是一个非常重要的功能,通常况下互联网项目会存在一些bug,尤其是设备侧,这个时候就需要通过OTA对物联网设备进行升级。
高阶软件功能:
随着联网设备的越来越多,我们想象一下智能家电,海尔、格力空调,每年有数10万台销量,我们如果要构建一个智能空调的智能家居系统,我们的物联网平台能够至少包含上百万量的设备接入能力。设备每一分钟上传的数据,我们就会产生海量的数据。因为设备每时每刻都在往云端发送数据。
如何降低整个楼层的能耗都是我们需要考虑的一些高级功能,同样随着设备接入的要求增大,那么我们要求平台能够承载的设备数量也会逐渐增多。
SLA保障:如果是扫地机器人项目,其在云端宕机的几分钟之内,这个影响不是特别大,顶多扫地机器人不能正常工作。但在某些特定的场景下,比方说我们的消防场景,一旦云平台出现故障,设备检测到火警,但不能正常报警,这个将带来巨大的社会灾难。通常我们在设计互联网项目的时候,要根据项目的实际内容去选择如何支撑某一个比例的SLA,我们通常建议选用公有云产品去构建物联网平台,因为使用公有云构建的物联网平台本身就已经提供了比较高的SLA,例如微软Azure的IOT Hub的物联网接入平台,这一部分就已经提供了99.9%的SLA。
1.3物联网项目的硬件部分
设备类型众多:
不同的设备类型使用在不同的场景当中,比方说我们家用的智能台灯,通常就是嵌入式受限设备,它的CPU和运行内存都很小,操作系统上也通常会进行一些裁剪。
ARM设备:比方说电视机顶盒,可以运行安卓应用。
X86设备:地铁闸机,银行自助取款机,有时候在系统故障的时候,我们都能够看到下层运行的一些操作系统
通讯协议和网络类型众多:
物联网项目的硬件除了设备类型众多之外,对通讯协议和网络类型也有更多的要求,通常情况下是根据我们得实际需求来决定采用何种协议和何种网络类型的。比方说共享单车系统要求每一辆车都会有一张4G或5G的网卡,直接连接到云端的应用平台上。再比方说智能家居的很多台灯门禁都会通过一个叫网关的产品,然后将物联网硬件设备的信息汇总到网关之后,经过网关最终连接到云端的应用部分。那设备和网关之间的传输通常会选择自增协议或者其他的局域网的一些短距离的传输协议。
1.4物联网项目的边缘计算部分
边缘计算的需求也越来越多,但当下社会对边缘计算的需求往往是以人工智能为主的。当然以人工智能为主,不代表所有的边缘计算项目都是为了人工智能应用的。我们还是可以边缘计算设备上做一些协议转换,数据缓存等其他的一些常规操作。
2、物联网传输协议
2.1HTTP协议
2.2MQTT协议(重要)
MQTT的服务品质:
MQTT的模式:
2.3其他协议
后续的章节,我们主要介绍如何利用公用云Azure上的MQTT这样功能的一个服务,利用IoT Hub去做物联网平台的构建,IoT Hub本身也是支持MQTT3.1的。
3、物联网和云平台
为什么物联网往往和云平台绑定在一起???
最典型的原因有随着物联网项目接入的物联网设备越来越多,云计算能够帮我们提供更多的数据存储、数据分析以及人工智能的能力。
3.1公有云厂家的物联网平台
如何快速开发物联网平台?在课程当中,我们会使用到Iot Hub这款paas的物联网设备接入网关,我们会使用设备和边缘网关的设备两种情况去连接到Iot Hub当中。在云端我们也同样会使用函数应用低代码开发平台将设备发送到云端的消息取出来,取出来之后通过低代码开发平台Power Apps去开发手机端的应用APP。也会将手机应用APP中嵌入Power BI数据报表,数据报表接收来自于物联网设备传输的实时的数据,展示一条数据曲线。
除此之外,在边缘网关的案例当中,我们还会做一个边缘网关和人工智能的案例,人工智能的案例是我们通过戴口罩和不戴口罩的图像,训练出是否戴口罩检测的这样一个AI算法,通过云端的容器注册表远程部署到边缘网关当中,以实现在就地网络中去识别是否戴口罩的案例。
3.2运营商提供的物联网平台
3.3其他的物联网平台
3.4如何选择适合自己的物联网平台
实际上,基本的物联网功能,各家平台都是具备的,因此我们如何选择物联网平台,需要从场景、地域、技术储备以及其他的客观的自身条件出发,并没有一个固定的选择标准。
3.4.1从场景出发
如果我要做一个基于4G或5G网络的物联网平台,我优先会选择中国移动的物联网平台或者阿里云的物联网平台。因为他们针对中国的国情做了特殊的针对4G或5G网络的支持,尤其是运营商的物联网平台,天生具备物联网卡设备接入的能力。
3.4.2从地域出发
如果我们的客户或者说我们的物联网应用要部署在全球,那么我们建议选择微软Azure。因为Azure在全球提供了物联网的数据中心,我们能够在客户就地的区域选择最近的物联网平台建设。如果物联网业务主要集中在国内,我优先选择阿里云,中移物联网,甚至百度云,阿里云等等,因为这几家云厂商在国内的数据中心的数量是最多的。
3.4.3从技术储备出发
很多公司都有自己的技术储备能力,部分公司可能长期依赖于Windows、长期依赖于C#语言、长期依赖于Windows的微软Azure云,因此这一类人员优先选择微软Azure的公有云物联网平台作为整体物联网平台方案。如果你公司其他的项目都已经搭建在阿里云上,相对而言你对阿里云可能会比较熟悉,因此你的物联网方案便可以选择搭建在阿里云的物联网上。
本文章来源于互联网,如有侵权,请联系删除!原文地址:Aiot——>第三章物联网相关