#星光计划2.0# 鸿蒙设备开发Hi3861-IoT落地-自动门锁(附多案例 原创 精华
本文正在参与51CTO HarmonyOS技术社区创作者激励计划-星光计划2.0
1. 项目来源
有一天半夜宿舍门被一个喝晕的哥们打开了,(说他晕吧他居然知道钥匙在门框上)于是有了设计自动门锁的想法。正好一直想用Hi3861做一个iot落地项目【之前挖的坑】,一切刚好!
2. 需求分析
无钥匙进入
手机端操作
不影响使用钥匙开门
无损安装、卸载自动开门机构
3. 宿舍门锁考察
水平向右移动拉闩1cm左右即可开门,由于宿舍们老旧,拉力实测在2.5L水左右。经过粗略计算,如果使用9g舵机来驱动,单杠驱动结构的话,杠杆长度比为2500/9≈278,尺寸有些夸张。不想在机械结构上费时间,所以选取大扭矩舵机驱动。
4.方案设计
4.1 机械结构
典型的曲柄滑块结构。选取了绳索拉动、连杆方案。综合考虑耐用度和安装便携性,选取绳索驱动方案。
使用套壳的方式安装在门锁体上,拉闩自由移动,不影响手动开门。
4.2 控制逻辑
Hi3861根据web端发送过来的质量控制舵机转动即可。控制信号来源于web端,采用MQTT协议来处理数据,电源使用5V 2A模块,一路单独给舵机。
5. 软件层
5.1 MQTT移值
这个直接参考连老师的这篇文章【如何在鸿蒙系统中移植 Paho-MQTT 实现MQTT协议】即可,感谢连老师!
本项目只需要将:服务器地址改为自己的IP、订阅自己web端的Topic、提取消息数据。
主要代码如下:
5.2 .舵机控制
Hi3861控制舵机之前【这篇文章】有配置过,调整20ms控制周期内高电平的占空比模拟PWM代码如下,进行了一下简单的封装,使用哪个IO口记得要初始化输出即可。
5.3 业务逻辑
获取web端数据、匹配开门密令是否一致、一致则开门、每次输入密令可以开门三次、也可以一键上锁。
项目完整工程见附件1主要代码如下:
6. 测试 【见视频-3min10s】
7. 其他案例
7.1 心率传感器
使用I2C通信,查看数据手册后,更具时许来读取数据,比较简单,参考MPU6050的读取方式。
这里展示一下读取max30102原始数据的函数,完整资源见附件2。代码如下:
读取到的数据:
7.2 Hi3861-润和套件开发案例
套件的模块除了NFC之外,其他都开发了一遍,不一一细说了,具体内容见附件3-个人开发PPT。
结语:
NFC开门是不是更加便捷呢? 手里没有运行HarmoneyOS的手机,软总线方案技术上自己估计做不到,先做做硬件层的吧,下一步抽空实现,只要有NFC功能的手机都可开门~估计得明年喽
感谢喝晕的哥们让我们看到这篇文章
哈哈哈,这是真事儿,那天我晚上还拍了视频,一晚上宿舍笑翻了
太强了,给你点赞