> 文档中心 > 鸿蒙设备14天0到1笔记

鸿蒙设备14天0到1笔记

学习资料:鸿蒙设备开发实战第一课。

https://bbs.huaweicloud.com/live/cloud_live/202207111930.html

 主要内容:

1.了解物联网架构,通信协议基础知识;

2.了解鸿蒙设备开发基础技能;

3.了解鸿蒙14天设备开发实战学习计划;

物联网典型层次架构;

逐层为       行业应用         云        管        边        端;

物联网常见通信协议:

CoAP是受限制的应用协议(Constrained Application Protocol)的代名词,它运行于UDP协议之上而HTTP那样运行于TCP之上。CoAP协议非常小巧,最小的数据包仅为4字节.
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议)。它构建于TCP/IP协议上,是关硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型“轻量级”通讯协议,使用发布/订阅消息模式,提供了一对多的消息分发和应用之间的解耦。

 ModBus网络是一个工业通信系统,由带智能终端的可编程序控制器和计算机通过公用线路或局部专用线路连接而成。其系统结构既包括硬件、亦包括软件。它可应用于各种数据采集和过程监控。
ModBus通信协议分为物理层、数据链路层、应用层。(工业场景应用较广)

 OPC-UA (OPC Unified Architecture,OPC统一架构)协议由于其跨平台(不受限于架构平台)、面向服务的架构、信息通信安全等强大能力,被广泛应用于工业设备间的通信。
连通机制:
仅在PLC间通讯,协议无法跨网段

交互机制:
Client/Server和Publisher/Subscriber模式,前者应用之间必须建立单独点对点连接,后者可免去直接连接实现点对多点传输,读写PLC内地址快无需新增硬件,可实现不同厂商设备间数据调用,现阶段Client/Server模式更为通用;
话务机制:
可配置周期订阅非周期直接读写,周期订阅中可配置发布周期,保活间隔,订阅监控数,采用速率,生命周期与读写超时配置。

物联网设备接入方式:

有线通信技术
通信方式                      特点                                                                适用场景
ETH                 协议全面、通用成本低                                   智能终端、视频监控
RS-232      一对一通信、成本低、传输距离较近                  少量仪表,工业控制等
RS-485        总线方式、成本低、抗干扰性强                           工业仪表、抄表等
 USB          一对一通信、通用、传输速度快                        智能家居、办公移动设备等
M-Bus         针对抄表设计、使用普通双绞线、抗干扰性强       工业能源消耗数据采集
PLC                针对电力载波、覆盖范围广、安装简便                 电网传输.电表

 短距无线通信技术:

 蜂窝移动网络:

 PLWA通信技术,低功耗广域网:

鸿蒙设备开发:

包括环境搭建,内核开发,驱动子系统,无线联网,网络通信、

环境搭建:

 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/bearpi/bearpi-hm_nano

目录作用如下

鸿蒙设备开发内核开发:

任务管理
从系统的角度看,任务是竞争系统资源的最小运行单元。
抢占式调度机制+时间片轮转调度方式,有32个优先级(0-31)。任务状态:就绪态、运行态、阻塞态、退出态,及状态迁移。
任务管理:创建任务、删除某个任务、任务挂起、任务恢复。
信号量
在多任务系统中
同步或互斥实现临界资源的保护,
通过信号量来实现。
用作互斥时,信号量创建后记数是满的;
用作同步时,信号量在创建后被置为空;
信号量运作:初始化/创建/申请/释放/删除。
软件定时器
基于系统Tick时钟中断且由软件来模拟的定时器。
定时精度与系统Tick时钟的周期有关。
使用系统一个队列&任务资源,触发遵循队列规则,先进先出。
软件定时器管理:创建/启动/停止/删除定时器。


.事件管理
事件是一种实现任务间通信的机制,可用于实现任务间的同步,但事件通信只能是事件类型的通信,无数据传输。
多任务环境下,任务之间往往需要同步操作。事件可以提供一对多、多对多的同步操作。
读事件/写事件/清除事件,写事件会触发任务调度。
功能函数:创建事件标记对象、设置事件标记、等待事件标记触发、删除事件标记对象。
互斥锁
互斥锁又称互斥型信号量,是一种特殊的二值性信号量,用于实现对共享资源的独占式处理。
任意时刻互斥锁的状态只有两种:开锁或闭锁。
当有任务持有时,互斥锁处于闭锁状态,这个任务获得该互斥锁的所有权。
当该任务释放时,该互斥锁被开锁,任务失去该互斥锁的所有权。
确保同一时刻只有一个任务正在访问非共享公共资源,保证了公共资源操作的完整性。
功能函数:创建/获取/释放/删除互斥锁。

消息队列
消息队列,是一种常用于任务间通信的数据结构,实现了接收来自任务或中断的不固定长度的消息。用户在处理业务时,消息队列提供了异步处理机制,起到缓冲消息作用。
先进先出,支持异步读写;读/写队列都支持超时机制。
功能函数:创建消息队列、发送消息、获取消息、删除消息队列。

驱动子系统安装:

 操作GPIO
LED对应的GPIO引脚是GPIO2,通过控制GPIO2输出的的电平信号来实现LED灯的闪烁高电平时点亮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产生l2C信号去控制NFC芯片。

UART
UART1对应的GPIO引脚是分别是GPIO5和GPIO6,将使用GPIO5和GPIO6进数据的收发。

 

 无线联网开发:

WIFI AP热点
WIFI事件的回调函数

设置指定的热点配置

启动WIFI热点模式

检查热点模式是否使能

等待STA连接

WIFI STA联网
注册WIFI事件的回调函数

使能WIFI
判断WIFI是否激活、

分配空间保存WIFl信息

轮询查找WIFI列表

 网络通信开发:暂时仅作了解,后期会进一步解释:

华为云iot平台介绍:

华为云物联网平台,即华为设备接入服务(loT Device Access),提供海量设备连接上云、设备和云
端双向消息通信、批量设备管理、远程控制和监控、OTA升级、设备联动规则等能力,并可将设备数据灵活流转到华为云其他服务,帮助物联网行业用户快速完成设备联网及行业应用集成。

鸿蒙开发板链接华为云iot平台

 本次为第一天直播,主要为总体介绍。后续13天的学习会针对各个方面进行学习。

 

简谱吧