0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样去设计一种基于RT-Thread的智能指纹门锁?

安芯教育科技 来源:嵌入式大杂烩 作者:嵌入式大杂烩 2023-08-15 09:05 次阅读

W600-RT-Thread智能指纹门锁

硬件电路

APP项目

1.1 项目简介

主控芯片使用W600的TW-03 WIFI模组,指纹识别使用FPC1020A,这里开门使用MG996R舵机拉开门锁。W600运行RT-Thread操作系统并连接OneNET进行数据交互。

●使用W600嵌入式WiFi芯片

●使用FPC1020A电容式指纹识别模块

●支持指纹识别开门

●支持NEC红外遥控开门

●支持OneNET远程开门

●支持oneshot web配网

●OneNET查看开门状态和记录开门方式和自定义id

网络自动检测保持连接状态

●安卓APP控制开门和查看历史记录

1.2 硬件电路

电路设计使用了立创EDA,项目所有硬件资料在立创开源硬件平台上。

硬件项目地址

792e1c0a-3b07-11ee-9e74-dac502259ad0.png

表1

详细元件清单请看原理图,开门装置请根据实际情况替换,指纹模块的控制和指纹录入请参考FPC1020A SDK里面有详细资料和调试工具,在立创开源硬件平台附件里有FPC1020A SDK和离线版STM32指纹门锁项目全部资料。

1.3 W600简介

芯片资料:[W600文档中心](https://docs.w600.fun/)

W600是北京联盛德自主研发设计的一款嵌入式WiFi芯片,该系列模块支持标准的802.11 b/g/n协议,内置完整的TCP/IP协议栈。

600_SoC芯片集成Cortex-M3内核,内置Flash,集成射频收发前端RFTransceiver,CMOS PA功率放大器,基带处理器/媒体访问控制,支持SDIO、SPI、UART、GPIO、I²C、PWM、I²S、7816等接口,支持多种加解密协议,如PRNG(Pseudo random Number Generator)/SHA1/MD5/RC4/DES/3DES/AES/CRC等。

1.4 代码

项目环境搭建和编译在项目编译指南中介绍,这里只是简单介绍项目组成。

795209bc-3b07-11ee-9e74-dac502259ad0.png

图2

796e6c1a-3b07-11ee-9e74-dac502259ad0.png

表2

按住WIFI键然后复位可以进入oneshot配网,设备热点名称door_wifi_config,连接ap后打开http://192.168.169.1。

1.5OneNET

1.5.1 创建项目

打开[OneNET控制台]进入多协议接入。

798119f0-3b07-11ee-9e74-dac502259ad0.png

图3

在MQTT(旧版)页面点击添加产品,设备接入协议确保是MQTT,其他随便填写。

79a0c462-3b07-11ee-9e74-dac502259ad0.png

图4

1.5.2 获取连接参数

项目创建成功后需要获取三个参数

●产品ID

●Master-APIkey

●设备注册码

79b75844-3b07-11ee-9e74-dac502259ad0.png

图5

79e6cb1a-3b07-11ee-9e74-dac502259ad0.png

图6

1.5.3 配置RT-Thread

打开rtconfig.h文件将自己的这三个参数粘贴到对应位置。

79fc78b6-3b07-11ee-9e74-dac502259ad0.png

图7

这里为了方便可直接修改rtconfig.h。

如果需要继续开发本项目请使用env工具修改这三个参数,env工具使用方法参考[Env用户手册]。

1.5.4 数据流

设备上传了两个数据流:

●门开关状态

●历史开门方式

进入设备详情查看。

7a162aae-3b07-11ee-9e74-dac502259ad0.png

图8

开关状态取决于检测开门状态的传感器,这里使用了一个霍尔传感器模块,将一块磁铁安装在门框上,关门时霍尔传感器靠近磁铁,并输出低电平,此时W600读取电平并上传到OneNET。

历史开门记录由type和id组成,type类型定义在applicationsuser_def.h中。

enum {IR_MSG = 1, FP_MSG, REMOTE_MSG};

红外类型是1,指纹是2,OneNET远程开门是3、红外id是遥控器nec码,指纹id是模块内存储指纹id,远程id是用户下发的id。

1.5.5 开门测试

这里可以手动测试远程开门功能。

7a3fd994-3b07-11ee-9e74-dac502259ad0.png

图9

开门数据格式为:

{"opendoor":id}

如果id!=0则开门,并上报开门方式和id。

验证开门标识代码在applicationsonenet_control.c中,可自行数据格式。

static void onenet_cmd_rsp_cb(uint8_t *recv_data, size_t recv_size, uint8_t **resp_data, size_t *resp_size)
{


 int open_id = 0;
 cJSON *root = cJSON_Parse((char *)recv_data); 
 cJSON_item_get_number(root,"opendoor",&open_id);
 
  if (open_id != 0)
  {
    rt_sem_release(&door_open_sem);
  .....
}

1.6 APP

APP项目:

通过安卓APP接入OneNET下发指令控制开门和查看门的开关状态,历史开门记录。

7a6a9044-3b07-11ee-9e74-dac502259ad0.png

图10

注:如果需要其他方式接入OneNET进行控制,请参考[OneNET文档中心](https://open.iot.10086.cn/doc/multiprotocol)进行开发。

RT-Thread项目编译指南

2.1 RT-Thread简介

RT-Thread是一个来自中国的开源物联网操作系统,它具备非常强的可伸缩能力:从一个可以运行在Arm Cortex-M0芯片上的极小内核,到中等的Arm Cortex-M3/4/7系统,甚至是运行于MIPS32、Arm Cortex-A系列处理器上。RT-Thread项目的源代码托管在 [GitHub repo] 上。

2.3 环境搭建

2.3.1 编译环境搭建

Keil MDK

下载W60x_RT-Thread SDK源码:GitHub

2.3.2 工程目录介绍

W60X SDK的目录结构如11所示:

7a7b4f74-3b07-11ee-9e74-dac502259ad0.png

图11

docs文件夹下放着W600_RTT相关的参考文档,建议先阅读UM3103-RT-Thread-W60X-SDK快速上手.pdfUM3101-RT-Thread-W60X-SDK开发手册.pdf

2.4 编译烧录

2.4.1 编译

将仓库克隆放到工程目录examples文件夹内。

进入项目文件夹,双击打开project.uvprojx工程文件,打开工程后直接编译即可(注意,一定要先搭建好Keil环境)。

7ac83e06-3b07-11ee-9e74-dac502259ad0.png

图12

固件生成在当前示例所在目录的Bin文件夹下。

7aed35c6-3b07-11ee-9e74-dac502259ad0.png

图13

2.4.2 烧录

打开星通智联下载调试软件选择rtthread_layout_1M.FLS烧录,型号可以不选,如果串口没有连接复位,点击下载后需要手动复位W600。

7afb2352-3b07-11ee-9e74-dac502259ad0.png

图14

注意:

1.本项目使用W600芯片,FLASH为1M版本,选择rtthread_layout_1M.FLS烧录。

2.其它烧录问题请参考:[W600固件烧录指南]。





审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电容器
    +关注

    关注

    64

    文章

    6217

    浏览量

    99534
  • 指纹识别
    +关注

    关注

    43

    文章

    1742

    浏览量

    102231
  • FPC
    FPC
    +关注

    关注

    70

    文章

    959

    浏览量

    63350
  • WIFI
    +关注

    关注

    81

    文章

    5296

    浏览量

    203575
  • FPC连接器
    +关注

    关注

    2

    文章

    44

    浏览量

    14029
  • WiFi芯片
    +关注

    关注

    4

    文章

    45

    浏览量

    36976
  • RT-Thread
    +关注

    关注

    31

    文章

    1285

    浏览量

    40082
  • 智能锁
    +关注

    关注

    18

    文章

    1066

    浏览量

    39072
  • 智能指纹锁
    +关注

    关注

    0

    文章

    38

    浏览量

    1857

原文标题:基于RT-Thread的智能指纹门锁

文章出处:【微信号:Ithingedu,微信公众号:安芯教育科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    RT-Thread上CAN实践

    开箱测试RT-Thread官方已完成了对英飞凌XMC7200EVK的移植,通过shell可以看到做好了uart3的console。本文将介绍如何进行RT-ThreadCan移植。接下来我们要完成CAN_FD的驱动移植,并正常启动RT-T
    的头像 发表于 11-13 01:03 1141次阅读
    <b class='flag-5'>RT-Thread</b>上CAN实践

    开源共生 商业共赢 | RT-Thread 2024开发者大会报名启动!

    亲爱的RT-Thread开发者我们很高兴地宣布,一年一度的RDC(RT-ThreadDeveloperConference,RT-Thread开发者大会)正式启动报名!2024
    的头像 发表于 10-29 08:06 369次阅读
    开源共生 商业共赢 | <b class='flag-5'>RT-Thread</b> 2024开发者大会报名启动!

    2024 RT-Thread全球巡回 线下培训火热来袭!

    亲爱的RT-Thread社区成员们:我们非常高兴地宣布,2024年RT-Thread全球开发者线下培训即将拉开帷幕!24年全球巡回培训将覆盖超10座城市及国家,为开发者提供个深入学习RT-T
    的头像 发表于 08-07 08:35 1169次阅读
    2024 <b class='flag-5'>RT-Thread</b>全球巡回 线下培训火热来袭!

    【好书推荐】RT-Thread设备驱动开发指南

    强烈,他们迫切地希望有本可以指导他们在RT-Thread上开发驱动的指南。为了解决开发者的燃眉之急,《RT-Thread设备驱动开发指南》来了!希望帮助RT-Thre
    的头像 发表于 08-01 08:35 619次阅读
    【好书推荐】<b class='flag-5'>RT-Thread</b>设备驱动开发指南

    rt-thread中的lvgl怎样才使用外部RAM?

    我想问rt-thread中的lvgl怎样才使用外部RAM,我想把lvgl的绘图缓冲区搬到外部RAM上,我是这么做的,直接在lv_port_disp.c中修改
    发表于 07-15 07:29

    RT-Thread 新里程碑达成——GitHub Star 破万!

    RT-Thread实时操作系统开源项目在GitHub上的star数量突破一万!截止发文,RT-Thread作为实时操作系统在业界Star数量排名第!仓库地址:https://github.com
    的头像 发表于 07-04 08:35 467次阅读
    <b class='flag-5'>RT-Thread</b> 新里程碑达成——GitHub Star 破万!

    基于 RT-Thread专业版的EtherCAT主站方案

    )方案介绍本方案基于RT-Thread专业版,在RT-Thread端集成EtherCAT主站协议,通过EtherCAT对伺服电机或远程IO进行实时控制,具备传输速度快,实时性高,扩展设备灵活等
    的头像 发表于 06-19 08:35 887次阅读
    基于 <b class='flag-5'>RT-Thread</b>专业版的EtherCAT主站方案

    6月6日杭州站RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    6月6日下午我们将在杭州举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深
    的头像 发表于 05-28 08:35 441次阅读
    6月6日杭州站<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    2024 RT-Thread 全球技术大会演讲议程发布!

    创造价值!2023RT-Thread全球技术大会汇集了人工智能、RISC-V、嵌入式、物联网、安全、应用、开发环境和工具等多领域的行业专家和RT-Thread社区工
    的头像 发表于 05-16 08:34 539次阅读
    2024 <b class='flag-5'>RT-Thread</b> 全球技术大会演讲议程发布!

    5月16日南京站RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    5月16日下午我们将在南京举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深
    的头像 发表于 05-01 08:35 359次阅读
    5月16日南京站<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    RT-Thread混合部署Workshop北京站来啦!

    4月25日,下午我们将在北京举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深
    的头像 发表于 04-19 08:34 437次阅读
    <b class='flag-5'>RT-Thread</b>混合部署Workshop北京站来啦!

    4月25日北京站RT-Thread线下workshop,探索RT-Thread混合部署新模式

    4月25日,下午我们将在北京举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深
    的头像 发表于 04-16 08:35 416次阅读
    4月25日北京站<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式

    4月10日深圳场RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    4月10日我们将在深圳福田举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深嵌入式软件工程师农晓明老师为您讲
    的头像 发表于 03-27 11:36 815次阅读
    4月10日深圳场<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    4月10日深圳场RT-Thread线下workshop,探索RT-Thread混合部署新模式!

    4月10日我们将在深圳福田举办RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行RT-Thread和linux,本次workshop邀请到RT-Thread资深
    的头像 发表于 03-27 08:34 527次阅读
    4月10日深圳场<b class='flag-5'>RT-Thread</b>线下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    恩智浦半导体正式加入RT-Thread全球合作伙伴计划!

    前不久,恩智浦半导体正式加入RT-Thread全球合作伙伴计划,成为RT-Thread高级会员合作伙伴。同时,RT-Thread现已成为恩智浦注册合作伙伴(RT-Thread| 简介合
    的头像 发表于 03-14 10:40 615次阅读
    恩智浦半导体正式加入<b class='flag-5'>RT-Thread</b>全球合作伙伴计划!