开发者学堂课程【物联网平台开发全栈教程:物联网平台简介】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/562/detail/7691
物联网平台简介
内容介绍
一、 简单介绍
二、 功能
三、 阿里云物联网整体架构
四、 实际操作
一、简单介绍
这一系列课程是基于51单片机接入阿里云 IOT 平台,本节课主题是 LP 的整体介绍。
首先核实阿里云的登陆地址 www.aliyun.com如果是初学者应该先注册阿里云账号,并且完成实名认证。建议下载阿里云 APP,通过扫码登陆本网址。开通并登陆物联网平台,在控制台中管理物联网平台。
1、进入物联网平台的方式
进入控制台之后,点击产品与服务,在应用服务里找到物联网平台,标记上五角星,这样物联网平台就会一直保留在左侧的菜单中,下次登陆时直接点击就可进入物联网平台。
2、物联网平台的文档
学习新知识必须查看说明书,物联网平台的文档相当于说明书的作用,必须要查看本文档。
二、功能
阿里云在物联网平台中扮演的角色
1、设备接入,用作高并发缓冲器
在整个物联网环节中百万级过亿级的设备接入是非常大的难题。个人搭建服务器需要付出很多精力维护成本和可耗性。现在有了廉价的可耗性接入方案,即把设备先接入到物联网平台,让物联网作为高并发缓冲器然后再给数据进行双向通讯,使后期业务开发。
2、保障设备安全接入
物联网设备和生活息息相关,如何保证设备的安全性,信息的可靠性,信息的安全性,保障不被他人破解是一个难题。阿里云物联网平台能够做到一机一密,每一台设备都有一个密码。即使某一台设备被黑客攻破,依然可以保障其他设备安全稳定的与运行。
3、不同类型设备接入
如果是个人开发业务,设备会比较单一。但是如果开发一个系统或者一个公司开发不同类型设备时就需要考虑不同的接入方式,比如 wifi,4G,2G 等等,或者 NB-IoT 。所以平台具有不同类型的接入能力,如果个人搭建服务器接容不同类型的设备是很困难的事情。
4、保障服务器和设备的双向通信
服务器不会随意停机或者出故障,比如建立 TCP 链接或者基于 UDP 的通信等等。
5、转发设备数据
转发设备数据是必须的步骤,设备接入平台之后,一定要把可靠的数据转发到想要的地方,否则设备接入就没有意义。物联网平台通过规则引擎将数据转发出去,甚至可以进行简单的数据处理,数据过滤然后再进行转发。
6、定义设备模型,统一接口规范。
在开发设备时定义一个设备模型,或者在项目立项时首先将设备模型定义好,硬件开发人员开发设备会根据这个模型开发同时软件开发人员直接根据设备模型做后台的业务。两个同步进行,只要遵守统一的模型规范,就会成倍提高开发效率。
三、阿里云物联网整体架构
成百万级的设备通过和服务器建立可靠的双向链接。(无论是 TCP 还是 UDP 只要是可靠的双向链接即可。)建立完链接之后,就会进入第一个环节,LoT Hub。第一个是缓冲器,到平台上做了一个缓冲,缓冲完之后,设备上的数据就会沉淀到平台上,就可以进行数据分析,设备的管理,比如固件升级,数据解析,监控,存储等。这里的存储表示简单的存储,平台本身是不具备存储能力的。
然后通过规则引擎将简单处理过的数据转发出去,可以转发到函数计算中。函数计算简单的作用是在服务器上在云端一直存在一个函数,是编写好的程序在不停的执行,但是函数计算不是购买的服务器。
规则引擎把数据转发出去,编写好的程序进行处理,然后程序把数据传送到任何需要它去的地方,这就是函数计算。
规则引擎还可以把数据转发到表格存储或者云数据库中,这都是常规的做法。
在整个链路上都会有安全认证和权限策略,用来保障数据的可靠性,数据的安全性以及数据的完整性。以上,阿里云的物联网平台对整个物联网开发环节的考虑是非常充足的。个人在搭建平台时可能不会这么周全。
四、实际操作
1、新建一个高级产品
首先登陆 www.aliyun.com,登陆账号,如果没有账号需要注册并完成实名认证。
进入控制台点击菜单的产品与服务,在应用服务中找到物联网平台,进入物联网平台中设备管理的产品栏。
新建一个高级版的产品,产品名称为 Test ,分类是自定义品类,节点类型是设备,不接入网关,联网方式 wifi,蜂窝都可以。数据格式选择 ICA 标准数据格式(Alink JSON),如果数据格式选择透传则还需要编写一个解析脚本。
建好产品只是阿里云平台保障设备的第一步。接下来要给设备定义一个模型,定义完模型才可以进行快速的设备端和云端的同步开发。
在功能定义处添加功能。比如添加冷冻室温度,电源开关两个属性。在硬件开发设备时会遵循这两个属性,软件开发时也只能调用这两个属性。
这样就可以实现同步高效的开发。
2、添加一个设备
添加 Test 设备,DviceName 为123456。要保证DviceName 是唯一的,不能重复。这样在管理时才能区分设备。
3、主流的通信协议是 MQTT
在物联网领域中,要保证设备和服务器之间的通信高并发是基于 MQTT。主流的通信协议是 MQTT。传统的做法是 TCP 透传。TCP 透传有很多弊端,比如自己定义的私有协议在通讯上,链路上可能会出现问题,使用透传会找不到出现问题的地方。
4、打开虚拟设备,简单调试
以 Test 为例,点击在线调试。如果设备上线,就会检测到设备已经上线,就可以在此处下发一些方法或者指令给设备模拟开发。
如果模拟硬件上线,启动虚拟真实设备模拟设备已经上线。如果要调用设备的属性,温度等,就可以虚拟真实设备,虚拟完成之后再调试真实设备,这样就可以检测到设备在线。
虚拟设备在线也可以发送数据,比如设置电源开关,把方法设置为1
发送指令,就可以在日志系统中收到发送的数据。解析数据是否有 powerswitch 就可以打开或者关闭设备。
也可以虚拟真实设备,比如设置温度为-12,推送,就可以在日志系统中收到发送的数据。在虚拟真实设备中把数据上传可以调试业务逻辑是否正确。在调试逻辑时可以给调用 API。只需要检查数据是否合适就可以了。查看运行状态:-12°C已经上传了。
以上就是物联网平台的基本作用。
5、物联网平台其他应用
(1)规则引擎可以理解为把数据扔到数据库中,规则引擎的使用后续会做详细解释。
(2)在数据分析中可以进行数据可视化。
(3)扩展服务中有固件升级,远程配置,简单的规则计算等,可以通过平台完成简单的数据联动,具体内容见后续讲解。