一、设备展示
- 样例效果
门闸控制器基于OpenHarmony操作系统,设备控制使用欧智通V200zr开发板,主控芯片为BES2600,系统版本为OpenHarmony3.1Beta,使用SG90舵机模拟门闸电机。手动按下开启门闸按键时,SG90舵机转动到打开角度、开发板蓝色LED灯点亮。当手动按下关闭门闸按键时,SG90舵机转动到闭合角度、开发板蓝色LED灯熄灭。
配合车辆出入检测、车牌识别设备、车辆管理终端设备可对停车场进行车辆出入管理的功能。设备初次上电时,红色LED灯以高频率闪烁,此时设备处于待配网状态。当使用配套手机FA配网后,红色LED灯以较低频率闪烁,此时设备处于连接到路由器状态。当红色LED灯常亮时,代表设备本地组网模块开始工作。
- 涉及OpenHarmony技术特性
- 支持OpenHarmony版本
- 支持开发板
二、快速上手
1.轻量型设备环境准备
欧智通V200ZR开发套件:
2.项目下载和导入
1)git下载
代码地址:链接
git clone https://gitee.com/openharmony-sig/knowledge_demo_temp.git
2)项目导入
sudo cp -rfa ~/knowledge_demo_smart_home/dev/team_x/door_access ~/OpenHarmony_3.1_Beta/vendor/team_x
sudo cp -rfa ~/knowledge_demo_smart_home/dev/team_x/common ~/OpenHarmony_3.1_Beta/vendor/team_x
3.编译和烧录
参考BES2600快速上手指导文档完成项目的编译和烧录。
三、关键代码解读
1.目录结构
.
├─vendor
└─team_x
└─door_access
├─demo_door_access
│ ├─external_device
│ │ ├─key.c
| | ├─led.c
| | └─sg90.c
│ ├─local_net
│ │ ├─local_net_communication.c
│ │ ├─local_net_udp.c
│ │ ├─local_net_dlist.c
│ │ └─local_net_utils.c
│ ├─iot_main.c
└─config.json等配置文件及文件夹 设备通用
2.关键代码
创建门闸控制任务和LocalNet本地网络通信启动任务。
门闸控制任务中,按键、LED指示灯、SG90初始化后进入任务循环。循环中读取按键状态。
根据按键状态,设置门闸开启、关闭、以及路由信息的删除。
当门闸状态发生变化时,且LocalNet本地网络通信模块初始化完成时,发布门闸状态。
在本地通信模块启动任务中,首先读取路由信息,当未读取到路由信息时,启动softap配网并设置红色LED灯快速闪烁指示当前状态,否则跳过该步骤。网络配置完成或路由信息读取成功后,连接路由、重新写入路由信息、设置红色LED灯较慢速率闪烁指示当前状态。
配置设备自身信息,并对LocalNet本地通信息模块进行初始化、设置红色LED灯常亮指示当前状态。
四、样例联动
本样例由苍狼战队开发,可与其他智能停车场样例组合产品联动效果,参考 智能停车场
五、参考链接
|