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

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

1.3W600简介

芯片资料:[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.1RT-Thread简介

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

2.3环境搭建

2.3.1 编译环境搭建

KeilMDK

下载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固件烧录指南]。





审核编辑:刘清

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

    关注

    63

    文章

    6052

    浏览量

    98172
  • 指纹识别
    +关注

    关注

    43

    文章

    1738

    浏览量

    101977
  • FPC
    FPC
    +关注

    关注

    67

    文章

    936

    浏览量

    62884
  • WIFI
    +关注

    关注

    81

    文章

    5243

    浏览量

    201402
  • FPC连接器
    +关注

    关注

    2

    文章

    44

    浏览量

    13977
  • WiFi芯片
    +关注

    关注

    4

    文章

    43

    浏览量

    36915
  • RT-Thread
    +关注

    关注

    31

    文章

    1225

    浏览量

    39262
  • 智能锁
    +关注

    关注

    18

    文章

    1049

    浏览量

    38649
  • 智能指纹锁
    +关注

    关注

    0

    文章

    38

    浏览量

    1843

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

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

收藏 人收藏

    评论

    相关推荐

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

    亲爱的 RT-Thread社区成员们:我们非常高兴地宣布,2024年 RT-Thread全球开发者线下培训即将拉开帷幕!24年全球巡回培训将覆盖超10座城市及国家,为开发者提供 个深入学习 RT-T
    的头像 发表于08-07 08:35 195次阅读
    2024 <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 231次阅读
    <b class='flag-5'>RT-Thread</b> 新里程碑达成——GitHub Star 破万!

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

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

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

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

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

    4月25日,下午我们将在北京举办 RT-Thread混合部署线下workshop,在瑞芯微RK3568平台上实现同时运行 RT-Thread和linux,本次workshop邀请到 RT-Thread资深
    的头像 发表于04-16 08:35 289次阅读
    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 627次阅读
    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 358次阅读
    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 429次阅读
    恩智浦半导体正式加入<b class='flag-5'>RT-Thread</b>全球合作伙伴计划!

    基于rt-thread的socket通信设计

    最近再研究 rt-thread的通信 ,想设计出 eps8266(多个) rt-thread(作为中控) 服务器的通信框架,使用的开发板是 潘多拉
    的头像 发表于10-13 15:02 1006次阅读
    基于<b class='flag-5'>rt-thread</b>的socket通信设计

    RT-Thread使用Soft RTC(软件模拟RTC)

    开发环境:野火的stm32f407, rt-threadstudio版本是版本: 2.2.6, rt-thread使用版本为4.0.3,stm32f4的资源包为0.2.2。
    的头像 发表于10-12 17:39 543次阅读
    <b class='flag-5'>RT-Thread</b>使用Soft RTC(软件模拟RTC)

    试用RT-ThreadStudio(VSCode)

    想尝试 RT-Threadstudio (VSCode),先下载安装VSCode,再搜索 RT-Thread
    的头像 发表于10-12 10:58 833次阅读
    试用<b class='flag-5'>RT-Thread</b> Studio(VSCode)

    RT-Threadv5.0.2 发布

    RT-Thread代码仓库地址: ● https://github.com/ RT-Thread/ rt-thread RT-Thread5.0.2 版本发布日志详情: ● htt
    的头像 发表于10-10 18:45 1139次阅读
    <b class='flag-5'>RT-Thread</b> v5.0.2 发布

    基于RT-Thread的 RoboMaster 电控框架(

    由于 RT-Thread稳定高效的内核,丰富的文档教程,积极活跃的社区氛围,以及设备驱动框架、Kconfig、Scons、日志系统、海量的软件包……很难不选择 RT-Thread进行项目开发
    的头像 发表于09-19 19:55 615次阅读

    基于RT-Thread的RoboMaster电控框架设计

    由于 RT-Thread稳定高效的内核,丰富的文档教程,积极活跃的社区氛围,以及设备驱动框架、Kconfig、Scons、日志系统、海量的软件包……很难不选择 RT-Thread进行项目开发。
    发表于09-06 15:21 524次阅读