鸿蒙设备开发实战1
物联网典型层级架构
物联网常见通信协议
CoAP
CoAP是受限制的应用协议(Constrained Application Protocol)的代名词,它运行于UDP协议之上而不是像
HTTP那样运行于TCP之上。CoAP协议非常小巧,最小的数据包仅为4字节。
MQTT
MQTT (Message Queuing Telemetry Transport,消息队列遥测传输协议)。它构建于TCP/IP协议上,是为
硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型“轻量级”通讯协议,使用发布/订阅消
息模式,提供了一对多的消息分发和应用之间的解耦。
ModBus
ModBus网络是一个I业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而
成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。
OPC-UA
OPC-UA (OPC Unified Architecture, OPC统一架构)协议由于其跨平台(不受限于架构平台)、面向服务的架
构、信息通信安全等强大能力,被广泛应用于工业设备间的通信。
连通机制:
仅在PLC间通讯,协议无法跨网段。
交互机制:
Client/Server和Publisher/Subscriber模式,前者应用之间必须建立单独点对点连接,后者可免去直接连接实
现点对多点传输,读写PLC内地址快无需新增硬件,可实现不同厂商设备间数据调用,现阶段Client/Server模式
更为通用;
话务机制:
可配置周期订阅与非周期直接读写,周期订阅中可配置发布周期,保活间隔,订阅监控数,采用速率,生命周期
与读写超时配置。
物联网设备接入方式
鸿蒙设备开发
环境搭建
硬件准备
Windows开发工具要求
Linux构建工具要求
内核开发
驱动子系统开发
操作GPIO
LED对应的GPIO引脚是GPIO2,通过控制GPIO2输出的的电平信号来实现ED灯的闪烁。
高电平时点亮LED灯,低电平时熄灭LED灯。
GPIO中断
F1和F2按键对应的GPIO引脚是分别是GPIO11和GPIO12,通过检测GPIO的电平信号来判断按键的状态。
实现按键控制LED灯亮灭。
PWM输出
通过代码实现输出不同占空比的PWM来改变LED的亮度。
ADC采样
根据输入参数从指定的ADC通道读取一段采样数据,编码实现读取ADC通道5的电压值。
I2C总线
NFC芯片的I2C对应的GPIO引脚是分别是GPIO0和GPIO1,所以需要编写软件使用
GPIO 0和GPIO 1产生I2C信号去控制NFC芯片。
UART
UART1对应的GPIO3 |脚是分别是GPIO5和GPIO6,将使用GPIO5和GPIO6进行UART
数据的收发。
无线联网
WIFI AP热点
注册WIFI事件的回调函数
设置指定的热点配置
启动WIFI热点模式
检查热点模式是否使能
等待STA连接
WIFI STA联网
注册WIFI事件的回调函数
使能WIFI
判断WIFI是否激活
分配空间保存WIFI信息
轮询查找WIFI列表
网络通信
UDP客户端
编码实现UDP客户端创建流程,使用Sockettool创建UDP服务端用于测试。
TCP服务端
编码实现TCP服务端,使用Sockettool创建TCP客户端用于测试。
TCP客户端
编码实现TCP客户端。
UDP服务端
编码实现UDP服务端。
MQTT客户端
基于Paho MQTT,编码实现MQTT客户端。