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





审核编辑:刘清

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

    关注

    63

    文章

    5814

    浏览量

    96782
  • 指纹识别
    +关注

    关注

    43

    文章

    1715

    浏览量

    101720
  • FPC
    FPC
    +关注

    关注

    67

    文章

    920

    浏览量

    62541
  • WIFI
    +关注

    关注

    81

    文章

    5162

    浏览量

    199448
  • FPC连接器
    +关注

    关注

    2

    文章

    44

    浏览量

    13926
  • WiFi芯片
    +关注

    关注

    4

    文章

    43

    浏览量

    36862
  • RT-Thread
    +关注

    关注

    31

    文章

    1149

    浏览量

    38900
  • 智能锁
    +关注

    关注

    18

    文章

    1021

    浏览量

    38364
  • 智能指纹锁
    +关注

    关注

    0

    文章

    37

    浏览量

    1834

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

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

收藏 人收藏

    评论

    相关推荐

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

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

    基于rt-thread的socket通信设计

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

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

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

    试用RT-Thread Studio(VSCode)

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

    RT-Thread v5.0.2 发布

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

    新书上架|嵌入式系统原理及应用——基于STM32和RT-Thread

    人间九月,山河已秋, RT-Thread又上新了!自2018年RT-Thread首本书籍问世后,越来越多的创作者因为RT-Thread的自主可控、稳定可靠、友好生态,把RT-Thread
    的头像 发表于 09-25 18:25 543次阅读
    新书上架|嵌入式系统原理及应用——基于STM32和<b class='flag-5'>RT-Thread</b>

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

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

    新书上架|RT-Thread带你解密“芯”世界

    夏木荫荫,人间八月,RT-Thread又上新了!自2018年RT-Thread首本书籍问世后,越来越多的创作者因为RT-Thread的自主可控、稳定可靠、友好生态,把RT-Thread
    的头像 发表于 08-22 20:10 456次阅读
    新书上架|<b class='flag-5'>RT-Thread</b>带你解密“芯”世界

    使用RT-Thread Studio进行智能家居终端的设计

    本次方案基于星火一号开发板开发,使用RT-Thread Studio进行工程创建,代码编辑,RT-Thread配置,调试配置,程序下载等功能。
    的头像 发表于 07-28 16:41 1384次阅读
    使用<b class='flag-5'>RT-Thread</b> Studio进行<b class='flag-5'>智能</b>家居终端的设计

    怎么知道RT-Thread的CRYPTO设备对M2354支持怎样呢?

    前面碰到了一个问题,RT-Thread 支持 MD5,可是 M2354 却不支持,那怎么知道 RT-Thread 的 CRYPTO 设备对 M2354 支持怎样呢?
    的头像 发表于 07-27 15:21 571次阅读
    怎么知道<b class='flag-5'>RT-Thread</b>的CRYPTO设备对M2354支持<b class='flag-5'>怎样</b>呢?

    教你手上没有开发板如何跑RT-THREAD STM32应用?

    首先打开 RT-Thread Studio,新建RT-Thread
    的头像 发表于 07-18 16:09 1055次阅读
    教你手上没有开发板如何跑<b class='flag-5'>RT-THREAD</b> STM32应用?

    RT-Thread中的Github Actions

    RT-Thread中一共有五个Github Action(rt-thread/.github/workflow) 分别是: RT-Thread BSP build check(.github
    的头像 发表于 06-01 03:10 353次阅读
    <b class='flag-5'>RT-Thread</b>中的Github Actions

    基于RT-Thread Studio学习

    前期准备:从官网下载 RT-Thread Studio,弄个账号登陆,开启rt-thread学习之旅。
    的头像 发表于 05-15 11:00 2594次阅读
    基于<b class='flag-5'>RT-Thread</b> Studio学习