加入收藏 | 设为首页 | 会员中心 | 我要投稿 东莞站长网 (https://www.0769zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 移动互联 > 应用 > 正文

鸿蒙设备研发Hi3861-IoT落地-自动门锁

发布时间:2022-04-19 11:02:10 所属栏目:应用 来源:互联网
导读:鸿蒙设备研发Hi3861-IoT落地-自动门锁 1. 项目来源 有一天半夜宿舍门被一个喝晕的哥们打开了,(说他晕吧他居然知道钥匙在门框上)于是有了设计自动门锁的想法。正好一直想用Hi3861做一个iot落地项目【之前挖的坑】,一切刚好! 2. 需求分析 无钥匙进入 手机端
  鸿蒙设备研发Hi3861-IoT落地-自动门锁

       1. 项目来源
  有一天半夜宿舍门被一个喝晕的哥们打开了,(说他晕吧他居然知道钥匙在门框上)于是有了设计自动门锁的想法。正好一直想用Hi3861做一个iot落地项目【之前挖的坑】,一切刚好!
 
  2. 需求分析
  无钥匙进入
 
  手机端操作
 
  不影响使用钥匙开门
 
  无损安装、卸载自动开门机构

  3.方案设计
  3.1 机械结构
  典型的曲柄滑块结构。选取了绳索拉动、连杆方案。综合考虑耐用度和安装便携性,选取绳索驱动方案。
 
  使用套壳的方式安装在门锁体上,拉闩自由移动,不影响手动开门。
 
   #星光计划2.0# 鸿蒙设备开发Hi3861-IoT落地-自动门锁(附多案例-鸿蒙HarmonyOS技术社区
  3.2 控制逻辑
  Hi3861根据web端发送过来的质量控制舵机转动即可。控制信号来源于web端,采用MQTT协议来处理数据,电源使用5V 2A模块,一路单独给舵机。
 
   #星光计划2.0# 鸿蒙设备开发Hi3861-IoT落地-自动门锁(附多案例-鸿蒙HarmonyOS技术社区
  4. 软件层
  4.1 MQTT移值
  这个直接参考连老师的这篇文章【如何在鸿蒙系统中移植 Paho-MQTT 实现MQTT协议】即可,感谢连老师!
 
  本项目只需要将:服务器地址改为自己的IP、订阅自己web端的Topic、提取消息数据。
 
  主要代码如下:
 
  复制
  /*连接web端  只展示主要逻辑,完整见附件*/
  int mqtt_connect(void)
  {    
        //0.连接web端
      char* payload = "Hello Kun,have a Nice Day!";
      int payloadlen = strlen(payload);
      int len = 0;
      char *host = "192.168.xxx.xx";  //自己的ip
      int port = 1883;                //mqtt服务端口
      mysock = transport_open(host, port);
      /* 1.订阅web端话题  */
      topicString.cstring = "porsche";
      if (MQTTPacket_read(buf, buflen, transport_getdata) == SUBACK)  /* wait for suback */
      {  
          rc = MQTTDeserialize_suback(&submsgid, 1, &subcount, &granted_qos, buf, buflen);
      }
      /*2. 循环接收发布者的话题消息 */

  4.2 .舵机控制
  Hi3861控制舵机之前【这篇文章】有配置过,调整20ms控制周期内高电平的占空比模拟PWM代码如下,进行了一下简单的封装,使用哪个IO口记得要初始化输出即可。

  4.3 业务逻辑
  获取web端数据、匹配开门密令是否一致、一致则开门、每次输入密令可以开门三次、也可以一键上锁。

(编辑:东莞站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!