目录
[1. 物联网概述](#1. 物联网概述)
[2. 消息通讯流程](#2. 消息通讯流程)
[3. 创建产品与设备](#3. 创建产品与设备)
[3.1 登陆阿里云平台](#3.1 登陆阿里云平台)
[3.2 新建产品](#3.2 新建产品)
[3.3 添加设备](#3.3 添加设备)
1. 物联网概述
物联网(Internet of Things,简称 IoT)是指通过互联网连接各种物理设备和物体,使它们能够进行数据交换和通信的网络系统。这些物理设备可以是传感器、执行器、智能手机、车辆、家电等,它们通过内置的电子、软件、传感器等技术与互联网连接,实现数据的收集、传输、分析和应用。
物联网的核心在于连接各种设备和物体,通过网络实现数据的互通和共享。这种互联性使得不同设备之间能够实现协同工作和智能化操作。物联网设备通常配备有各种传感器,用于实时收集环境数据(如温度、湿度、位置、运动等)和设备状态。这些数据被发送到中心系统或云端进行处理和分析。在我们日常生活中,物联网通过各种通信技术(如Wi-Fi、蓝牙、Zigbee、LoRa等)将采集到的数据传输到云端或其他设备。通信技术的选择取决于设备的需求和环境条件。
下面我将通过,物联网平台提供设备上云、设备上报消息、云端订阅设备消息、云端下发指令到设备等服务,介绍设备如何接入物联网平台,及如何从物联网平台控制设备开关读取数据,帮助您快速了解物联网平台的基础能力。
2. 消息通讯流程
首先我们先做一些准备,我在这里使用的是阿里云平台,所以在文章开始前,请先注册一个阿里云账号,后续需要再实名登录下进行使用相关功能。
准备C语言开发环境。使用阿里云提供的C语言SDK进行开发。
准备Java开发环境。本文中服务端下发指令,使用物联网平台的在线调试功能;服务端接收设备消息,使用Java语言的AMQP SDK。
JDK版本:Java Downloads | Oracle
集成开发环境:IntelliJ IDEA -- the Leading Java and Kotlin IDE (jetbrains.com)
上图中序号对应以下操作步骤:
创建产品与设备:在物联网平台上注册设备,获取设备的证书信息(ProductKey、DeviceName和DeviceSecret)。这些信息是设备连接到阿里云物联网平台时进行身份认证所需的凭据。
为产品定义物模型:在物联网平台上,通过定义产品的物模型,可以详细描述产品的属性、服务和事件。这些定义构建了产品的数据模型,用于设备端与云端之间的数据通信和交互。
建立设备与平台的连接:开发设备端SDK,使用设备的证书信息(ProductKey、DeviceName和DeviceSecret)将设备连接到阿里云物联网平台,使设备能够上报数据到云端。在设备端开发应用,传入设备的证书信息,确立设备与阿里云物联网平台的安全连接。这一步骤确保设备能够通过身份认证和安全通信协议与云端进行通信。
**服务端订阅设备消息:**在服务端应用程序中,通过订阅消息类型(如设备上下线通知、设备生命周期变更、设备上报消息等),接收与设备相关的消息通知和数据。
**云端下发指令:**通过阿里云物联网平台的控制台,可以使用在线调试功能向已连接的设备下发指令。这些指令可以是控制命令或配置更新,通过云端与设备端之间的通信传达。
3. 创建产品与设备
产品相当于一类设备的集合,同一产品下的设备具有相同的功能。您可以根据产品批量管理设备,如定义物理模型、自定义Topic等。
您的每个实际设备需对应一个物联网平台设备。将物联网平台颁发的设备证书(ProductKey、DeviceName和DeviceSecret)烧录到设备上,用于设备连接物联网平台的身份验证。
3.1 登陆阿里云平台
首先,在①处输入账号和密码,登录"阿里云"。
然后按照顺序,在②处点击"产品",在③处点击"物联网",在④处点击"物联网平台",进入如下页面,点击"管理控制台":
进入如下页面,点击:
3.2 新建产品
单击"公共实例"后,找到①所在位置点击,找到②"产品"位置,点击③"创建产品"。
如下图,在①输入产品名称,在②中选择"自定义品类",查看其他默认参数是否一致,后点击"确认":
点击"确认"后出现如下界面表示产品创建成功:
此时可以直接点击上图的"添加设备"进行设备的添加,也可以进行如下操作,进行添加设备。
3.3 添加设备
按照下图找到,刚刚创建的产品名称:
如下图,我们可以单个添加也可以批量添加设备:
这里我们单击"添加设备",输入设备名称和备注名称:
添加完后点击"确认",出现如下,表示设备添加成功:
点击"完成",如图设备添加成功,我们可以单击前往查看 ,在设备详情 页面,单击DeviceSecret 右侧查看,获取设备证书:
设备证书包含ProductKey、DeviceName和DeviceSecret,是设备与物联网平台进行通信的重要身份认证:
|--------------|-----------------------------------------------------------------------|
| 参数 | 说明 |
| ProductKey | 设备所属产品的ProductKey,即物联网平台为产品颁发的全局唯一标识符。 |
| DeviceName | 设备在产品内的唯一标识符。DeviceName与设备所属产品的ProductKey组合,作为设备标识,用来与物联网平台进行连接认证和通信。 |
| DeviceSecret | 物联网平台为设备颁发的设备密钥,用于认证加密。需与DeviceName成对使用。 |