梅科尔工作室——鸿蒙设备如何从0到1联网上云
1.物联网开发概述
物联网典型层级架构
物联网常见通信协议
1.CoAP是受限制的应用协议(Constrained Application Protocol)的代名词,它运行于UDP协议之上而不是像HTTP那样运行于TCP之上。CoAP协议非常小巧,最小的数据包仅为4字节。
2.MQTT (Message Queuing Telemetry Transport,消息队列遥测传输协议)。它构建于TCP/IP协议上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型“轻量级”通讯协议,使用发布/订阅消息模式,提供了一对多的消息分发和应用之间的解耦。
3.ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。
ModBus通信协议分为物理层、数据链路层、应用层。
4.OPC-UA (OPC Unified Architecture, OPC统-架构)协议由于其跨平台(不受限于架构平台)、面向服务的架构、信息通信安全等强大能力,被广泛应用于工业设备间的通信。
物联网设备接入方式
2.鸿蒙设备开发
环境搭建
1)从镜像站点下载压缩文件
https://repo.huaweicloud.com/harmonyos/os/1.0/code-1.0.tar.gz
2)从HPM网站组件式获取
HPM网站: https://hpm.harmonyos.com/#/cn/home
软环境要求: Linux服务 器安装12.13.0+的Node.js
3)用包管理器命令行获取
hpm init -t default
hpm install @bearpi/bearpi hm nano
4)从代码仓库获取
需要先注册gitee账号,并配置邮箱
源码链接: https://gitee.com/bearpibearpi-hm_nano
内核开发
驱动子系统开发
操作GPIO
LED对应的GPIO引脚是GPIO2,通过控制GPIO2输出的的电平信号来实现LED灯的闪烁。高电平时点亮LED灯,低电平时熄灭LED灯。
GPIO中断
F1和F2按键对应的GPIO引脚是分别是GPIO11和GPIO12,通过检测GPIO的电平信号来判断按键的状态。实现按键控制LED灯亮灭。
PWM输出
通过代码实现输出不同占空比的PWM来改变LED的亮度。
ADC采样
根据输入参数从指定的ADC通道读取一段采样数据,编码实现读取ADC通道5的电压值。
12C总线
NFC芯片的I2C对应的GPIO引脚是分别是GPIO0和GPIO1,所以需要编写软件使用
GPIO 0和GPIO 1产生|2C信号去控制NFC芯片。
UART
UART1对应的GPIO引脚是分别是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,编码实现MQT1客户端。
3.鸿蒙设备联网上云
华为云物联网平台,即华为设备接入服务(IoT Device Access)提供海量设备连接上云、设备和云端双向消息通信、批量设备管理、远程控制和监控、OTA升级、设备联动规则等能力,并可将设备数据灵活流转到华为云其他服务,帮助物联网行业用户快速完成设备联网及行业应用集成。