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

    文章

    6945

    浏览量

    106597
  • 指纹识别
    +关注

    关注

    43

    文章

    1753

    浏览量

    104446
  • FPC
    FPC
    +关注

    关注

    72

    文章

    1008

    浏览量

    66802
  • WIFI
    +关注

    关注

    82

    文章

    5466

    浏览量

    211990
  • FPC连接器
    +关注

    关注

    2

    文章

    47

    浏览量

    14650
  • WiFi芯片
    +关注

    关注

    4

    文章

    50

    浏览量

    37839
  • RT-Thread
    +关注

    关注

    32

    文章

    1540

    浏览量

    44275
  • 智能锁
    +关注

    关注

    18

    文章

    1120

    浏览量

    41070
  • 智能指纹锁
    +关注

    关注

    0

    文章

    38

    浏览量

    2199

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    首搭RT-Thread程翧车控平台| RT-Thread程翧 S32K344 快速原型开发平台正式上市!| 产品动态

    智能汽车迈向高集成与高安全的时代,VCU/ECU开发正面临效率与可靠性的双重考验。依赖单硬件或拼凑软件方案的传统模式,已成为制约创新的瓶颈。为此,RT-Thread带来里程碑式的解决方案
    的头像 发表于 10-31 11:53 483次阅读
    首搭<b class='flag-5'>RT-Thread</b>程翧车控平台| <b class='flag-5'>RT-Thread</b>程翧 S32K344 快速原型开发平台正式上市!| 产品动态

    2025年RT-Thread开发者巡回培训报名正式启动!

    亲爱的RT-Thread社区成员们:新程再启,共赴热爱!2025年RT-Thread开发者巡回培训正式启动报名!今年,我们选择了西安、武汉、北京、杭州、深圳、上海、成都这7座城市,为大家带来
    的头像 发表于 09-27 10:39 1140次阅读
    2025年<b class='flag-5'>RT-Thread</b>开发者巡回培训报名正式启动!

    RT-Thread studio报错怎么解决?

    rt-thread studio中创建k210项目,在创建项目时需要选择开发板,生成相关文件,配置什么的没有修改过,运行main.c,打印输出。编译就会出现如下报错。这两个文件倒是可以找到,但是将其复制到PATH路径下也没有用。希望有人能指点下,谢谢!
    发表于 09-17 06:55

    rt-thread studio 2.2.9如何使用最新的RT-Thread v5.2.0 released?

    rt-thread studio2.2.9如何使用最新的RT-Thread v5.2.0 released? 原先以为修改index_all.json,发现联网的时候,会自动覆盖 另lastet版本
    发表于 09-16 06:06

    rt-thread系统中,使用stm32,怎样设置接收中断字节数?

    rt-thread系统中,使用stm32,怎样设置接收中断字节数
    发表于 09-15 06:17

    在Ubuntu上开发基于先楫MCU的RT-Thread应用指南

    1、前言RT-ThreadEnv是RT-Thread推出的开发辅助工具,针对基于RT-Thread操作系统的项目工程,提供编译构建环境、图形化系统配置及软件包管理功能。其内置的menuconfig
    的头像 发表于 08-29 12:22 1228次阅读
    在Ubuntu上开发基于先楫MCU的<b class='flag-5'>RT-Thread</b>应用指南

    【好书推荐】RT-Thread第20本相关书籍!《嵌入式实时操作系统RT-Thread原理与应用》| 技术集结

    01内容简介ContentSummary本书为读者提供了个全面、系统的RT-Thread学习指南,旨在帮助初学者及有经验的开发者掌握RT-Thread实时操作系统和STM32嵌入式微控制器的核心
    的头像 发表于 08-24 10:05 685次阅读
    【好书推荐】<b class='flag-5'>RT-Thread</b>第20本相关书籍!《嵌入式实时操作系统<b class='flag-5'>RT-Thread</b>原理与应用》| 技术集结

    RT-Thread 遇上 Rust:安全内核 RusT-Thread 的诞生

    大家好,我们是中国科学技术大学操作系统原理与设计(H)课oooooS小组。这个项目是我们的课程大作业:参考RT-Thread架构,使用Rust搭建个原生的嵌入式操作系统内核。初识Rust是因为xk
    的头像 发表于 08-02 11:03 3206次阅读
    <b class='flag-5'>RT-Thread</b> 遇上 Rust:安全内核 RusT-<b class='flag-5'>Thread</b> 的诞生

    RT-Thread荣获2025优秀开源项目 | 新闻速递

    6月底,RT-Thread睿赛德受邀参与由上海开源信息技术协会主办的2025上海开源创新精英荟。上海市商委副主任张杰出席会议并致辞。RT-Thread嵌入式操作系统项目凭借其卓越的技术创新与开源生态
    的头像 发表于 07-04 09:04 2431次阅读
    <b class='flag-5'>RT-Thread</b>荣获2025优秀开源项目 | 新闻速递

    深度剖析 RT-Thread 线程调度流程

    RT-Thread调度第个线程的主要流程分如下:rtthread_startup:RTT的启动函数,主要负责板级驱动,调度器,系统线程初始化,启动调度的工作
    的头像 发表于 06-25 18:24 1437次阅读
    深度剖析 <b class='flag-5'>RT-Thread</b> 线程调度流程

    揭秘RT-Thread上的AUTOSAR CP系统

    本文探讨了RT-Thread与AUTOSARCP的融合,解决车载ECU开发中实时性、安全性与灵活性的平衡问题。通过分层安全内核(rt-safetyos/autoos)和工具链整合,兼容AUTOSAR
    的头像 发表于 06-23 20:22 2944次阅读
    揭秘<b class='flag-5'>RT-Thread</b>上的AUTOSAR CP系统

    2025 RT-Thread全球技术大会议程正式发布!

    RT-ThreadGlobalTechConference(RT-ThreadGTC,RT-Thread全球技术大会)是聚焦基础软件技术创新与实践的嵌入式技术盛会,持续推动技术价值转化
    的头像 发表于 05-27 19:28 1072次阅读
    2025 <b class='flag-5'>RT-Thread</b>全球技术大会议程正式发布!

    RT-Thread审核团招募: 深度参与开源RTOS社区治理与演进

    全球开发者招募:RT-Thread审核团(ReviewTeam)正式开放申请!在开源的世界里,代码审查(CodeReview)是保证软件质量、促进技术交流的关键环节。RT-Thread作为全球领先
    的头像 发表于 05-21 18:02 1065次阅读
    <b class='flag-5'>RT-Thread</b>审核团招募: 深度参与开源RTOS社区治理与演进

    如何将RT-Thread移植到NXP MCUXPressoIDE上

    RT-Thread默认支持的IDE只有IAR 和 Keil, 那如何将RT-Thread移植到NXP MCUXPressoIDE上呢?本文内容比较简单但稍有琐碎,希望对有需要的小伙伴有所帮助。
    的头像 发表于 02-13 10:37 2439次阅读
    如何将<b class='flag-5'>RT-Thread</b>移植到NXP MCUXPressoIDE上

    RT-Thread应用开发寒假师资培训——西安站

    随着物联网和智能系统的快速发展,嵌入式成为当前最热门最有发展前途的IT应用领域之。为进步提升全国大学生在嵌入式芯片及系统设计领域的创新能力,特别是针对物联网应用开发中RT-Thread
    的头像 发表于 12-11 01:06 1021次阅读
    <b class='flag-5'>RT-Thread</b>应用开发寒假师资培训——西安站