开发者学堂课程【物联网平台云上开发:设备接入物联网平台】学习笔记,与课程紧密联系,让用户快速学习知识。
课程笔记:https://developer.aliyun.com/learning/course/563/detail/7707
设备接入物联网平台
内容介绍:
一.阿里云loT物联网平台
二.MQTT协议接入方式
三.Nodejs通过MQTT协议接入loT平台
一.阿里云loT物联网平台
1.物联网典型场景:
2.用自己的设备通过网络连接到我们自己的服务器
基于阿里云搭建物联网平台:通过MQTT协议直接连接到物联网平台,可以上报数据给设备端接收指令,在数据上报给物联网平台之后可以在云端做存储,或者直接基于阿里云做计算,运算的结果与设备端的数据可以直接反馈给业务服务器。
阿里云物联网平台在设备接入的协议上支持MQTT和HTTPS,此节课的案例主要是基于MQTT来实现。
协议 |
连接方式 |
通道 |
场景 |
MQTT |
长连接 |
数据上行/指令下行 |
实时在线设备 |
CoAP |
无连接 |
数据上行 |
低功耗设备 |
HTTPS |
无连接 |
数据上行 |
仅上报数据设备 |
MQTT over WebSocket |
长连接 |
数据上行/指令下行 |
Web,Android,iOS |
LoRa |
LoRa |
数据上行/指令下行 |
LoRa设备 |
二.MQTT协议接入方式
1.MQTT协议:
(1)接入点
端口1883:既支持普通连接也支持加密连接
(2)身份认证
三个参数是由设备注册的三元组按照阿里云loT签名规则生成。
三.Nodejs通过MQTT协议接入loT平台
loT开发步骤
第一步:loT云端开发,创建产品,注册设备
第二步:设备端开发,引入安装mqtt库,做应用程序编码
第三步:联机运行,启动设备端的程序,可以看到设备上线,云端的控制台是可以查看数据的
1. 云端开发
(1)创建产品
(2)定义物模型-属性
(3)注册设备
2. 设备端开发
(1) 设置身份三元组
引入用js版的mqtt实现的库,有申请过的三元组以及阿里云的区,构成了设备的身份
(2)建立连接
通过mqtt.connect建立连接
(3)上报数据
往指定的topic上发一个数据
(4)接受指令
订阅一个topic,云端收到topic的数据之后可以转发给设备端
3. 联机运行
运行效果:
通过网址进入到控制台,创建产品选择高级版,点击下一步,填入产品信息,创建完成后,切换到功能定义,添加自定义功能,创建好后前往设备管理添加设备,点击设备名进入设备详情,可以看到设备三元组就可以做设备端的开发,以Nodejs语言为模板,首先引入mqtt的一个库,在配置文件中读出三元组。