树莓派4b入门之开发RFID系统—简介、搭建MFRC522-SPI环境

  • 一、系统简介
  • 二、模块连接
    • 1.引脚定义
    • 2.接口对应关系
  • 三、搭建接口环境
    • 1.开启SPI
    • 2.模块功能设计
    • 3.安装SPI dev库
    • 4.安装SPI-Py拓展
    • 5.安装MFRC522库

一、系统简介

  一套完整的RFID系统,由读写器、电子标签和数据管理系统(应用软件系统)三部分组成。本系列文章将分享用树莓派结合RFID模块开发一个简易的管理系统,这套系统涵盖数据库、前端服务器、硬件模块等资源来实协调控制,其低成本,通用性强的特点,也可以满足其他近距离通信、身份识别等领域,或者是其他个性化的二次开发。

  系统选型方面参考:https://blog.csdn.net/m0_46509211/article/details/112796780,物联网嵌入式开发板是主角Raspberry pi 4B+(V1.2版本)、RFID读写模块选择MFRC522,它适用于各种基于ISO/IEC 14443A 标准并且要求低成本、小尺寸、高性能以及单电源的非接触式通信的应用场合,搭配应用最为广泛,拥有16个扇区、32位的序列号,并且支持加密验证的RFID标签Mifare1 S50,相关原理和特性这里不作多介绍。


                          模块实物图

二、模块连接

1.引脚定义

  树莓派与MFRC522 的接口定义:

                          MFRC522模块引脚图


                          Raspberry pi的GPIO口引脚图

  

2.接口对应关系

  将MFRC522模块8个引脚的其中7个引脚连接到Raspberry pi的GPIO接口。

  MFRC522模块与Raspberry pi接口对应关系如下参照表:

  也可以直接查看如下电路连接图(线路对应颜色见参照表)


                            (网图)

三、搭建接口环境

1.开启SPI

  进入SSH终端后(树莓派刷机与上位机的通信等参考:https://blog.csdn.net/m0_46509211/article/details/113646244),首先对Raspberry pi配置进行更改。默认情况下,Raspberry Pi禁用了SPI(串行外围接口)。打开raspi-config工具,通过打开终端并运行sudo raspi-config命令来完成此操作。

  运行“lsmod | grep spi”命令,查看列出了spi_bcm2835,确保SPI成功启用。

  Raspberry Pi需要更新,以确保正在运行所有软件的最新版本,在Raspberry Pi上运行“sudo apt-get update”命令,等待更新完成。


  

2.模块功能设计

  模块的读写功能主要依靠运行Python脚本实现,除了基本的读取RFID标签的UID外,Python2部分是以操作脚本代码的方式对RFID标签的指定扇区进行数据读写;以Python3实现的部分则可直接地进行读写扇区数据。实际开发时可以依据系统功能设计来选择即可,《两种MFRC522读写脚本》https://blog.csdn.net/m0_46509211/article/details/123313359 对这两个部分的Python编码实现作了详细介绍。

  在用户主目录下创建两个文件夹,分别通过运行“mkdir MFRC522-python2”、“mkdir MFRC522-python3”命令来创建名称为MFRC522-python2和MFRC522-python3的文件夹,之后将在其中存储python2和python3的脚本和库,以分别实现两种不同的功能,下文以依次列举操作方式,不需要该功能则忽略下文步骤中该文件夹内的操作

  

3.安装SPI dev库

  首先安装需要用到的SPI dev接口支持库。

  通过运行“python -V”、“python3 -V”命令查看python2和python3的版本;运行“pip -V”、“pip3 -V”命令查看pip是否已安装。(Python 2.7.9 +或Python 3.4+以上版本都自带pip工具)


  进入MFRC522-python2中,运行“sudo apt-get install python-spidev”命令安装支持Python 的spidev接口支持库。

  进入MFRC522-python3中,运行“sudo pip3 install spidev”命令,通过pip安装支持Python 3的spidev接口支持库。


  

4.安装SPI-Py拓展

  接着在MFRC522-python2中,运行“git clone”命令,下载SPI的硬件扩展,地址:https://github.com/lthiery/SPI-Py.git

  然后运行“cd SPI-Py”命令进入下载好的SPI-Py.git,根据前人踩过的坑,这里需运行“git checkout 8cce26b9ee6e69eb041e9d5665944b88688fca68”命令切换分支。

  之后运行“sudo python setup.py install”命令使用setup.py脚本安装此扩展。


  注意,MFRC522-python3文件夹中不需要以上操作。
  

5.安装MFRC522库

  最后安装MFRC522模块需要用到的库。

  在MFRC522-python2中,运行“cd …”命令返回上一级,然后再运行“git clone https://github.com/mxgxw/MFRC522-python.git”命令下载安装MFRC522库,实现SPI接口与MFRC 522模块的通信,这个库依赖于上一步中安装的“SPI-Py”扩展。

  在MFRC522-python3中,则直接使用pip将MFRC522库安装到Raspberry Pi中,运行“sudo pip3 install mfrc522”命令。

  以上所需库安装完毕后,MFRC522的SPI接口开发环境就基本准备完成啦。

树莓派4b入门之开发RFID系统—简介、搭建MFRC522-SPI环境相关推荐

  1. 树莓派4b入门之开发RFID系统—两种MFRC522读写脚本

    树莓派4b开发RFID系统-两种MFRC522读写脚本 前言 一.指定读写 二.直接读写 前言   本文介绍两种区分RFID标签-Mifare1 S50的Python脚本,除了基本的读取该RFID标签 ...

  2. 树莓派4b入门以及各种系统烧录问题分享

    文章目录 前言 一.买一个树莓派 二.上系统 三.系统烧录故障情况 1.固件问题 2.验证失败 3.插入主板,报错:VFS Unable to mount root fs on unknown-blo ...

  3. 树莓派4B入门及应用

    树莓派入门及应用 写在前面! 烧录! 如果你的网速可以支持你瞎搞的话: 如果你那么快网速发现写的时候一直写不进去的时候 如果压缩包你也下载不下来或者下载下来后解压错误 基本设置! 设置WIFI 远程桌 ...

  4. 树莓派4b乌班图服务器系统,【树莓派4B】8、树莓派软路由,Ubuntu18.04配置路由转发...

    个人目的是经过把树莓派作成一个软路由,至关于一个智能路由器.html 材料 树莓派4B,操做系统其实能够是其余的Linux版本.觉得4B自带无线网卡,就用自带无线网卡做为路由出口.个人系统是Ubunt ...

  5. 树莓派4b乌班图服务器系统,使用树莓派4B搭建NAS(一):基于Ubuntu Server 20.04 LTS...

    使用树莓派4B搭建NAS(一):基于Ubuntu Server 20.04 LTS 2020-06-14 13:27:00 59点赞 384收藏 40评论 创作立场声明:预告:下期介绍如何使用树莓派4 ...

  6. linux python开发环境_如何在Linux系统中搭建Python编程环境

    1 在大多数的Linux系统中,基本上都默认安装了Python,也就是说,在Linux的系统中基本上是不需要安装什么软件,就可以使用Python. 下面以ubuntu操作系统为例,看看如何在Linux ...

  7. Win 10 系统下搭建 Python 编程环境,有手就行

    前言 想把一门编程语言学好,会搭建编程环境无疑是有必要的,纵然有线上集成的编程环境,但那高度依赖于网络条件以及诸多情况,这使得我们在编程的时候难以存储自己的资料. 学习和使用 python 一年多以来 ...

  8. 树莓派 4b 组建数据中心(3)挂载移动硬盘/搭建下载机

    挂载移动硬盘 1 安装 exFat 格式支持 现在很多大磁盘都用到了 exFat 格式, 旧的 fat32 格式单个文件不能大于 4G, 有很多的不方便. 另外 NTFS 没有这个限制, 但默认只能读 ...

  9. 搭建树莓派 4B + intel movidius 神经元计算棒2代深度学习环境

    换源 这样下载速度会快一点稳定一点: 使用管理员权限,执行 sudo leafpad /etc/apt/sources.list 在打开的文件中,用#注释掉原文件内容,用以下内容取代: deb htt ...

最新文章

  1. c++类例子之类中有类
  2. Mysql 错误 Code: 1093. You can't specify target table for update in FROM clause
  3. else if mybatis 嵌套_mybatis踩坑之——foreach循环嵌套if判断
  4. python 开放_Python
  5. linux的常用操作——基于ftp的windows10和腾讯云centos操作系统之间的文件上传和下载
  6. MongnDB 主从复制
  7. Flutter实战一Flutter聊天应用(十九)
  8. 时间序列预测入门必读的4篇论文
  9. redis学习——数据持久化
  10. Ubuntu 14.04 LTS 安装 文泉驿微米黑 字体到android studio
  11. # 图书馆网上销售系统(c#+sql server)
  12. FFmpeg常用命令
  13. 如何用计算机解开op手机密码,OPPO手机忘记解锁密码怎么办 OPPO R9忘记解锁密码解锁教程...
  14. SpringBoot整合JWT实现前后端Token验证
  15. 流程图软件用哪款: Draw.io, 亿图图示, ProcessOn. 做最适合你的流程图
  16. 博弈论学习笔记——博弈收益期望的计算与决策
  17. 使用easyos递归删除城通网盘的日志
  18. 学好英语网html首页制作,首页英语
  19. 墨画子卿第三章第5节:飞过去的是胧月
  20. 1.Linux系统编程-进程

热门文章

  1. SuperMap iClient for Leaflet实现WFS查询功能
  2. SAP ABAP——数据类型(二)【TYPES自定义数据类型详解】
  3. Springboot Condition 实用讲解,只看一遍包学会
  4. STM32实现水下四旋翼(二)硬件清单与软件设计
  5. 企业的重要资产——支付分账系统
  6. React的井字过三关(3)
  7. 水利遥测终端RTU自动雨量监测
  8. python 爬取腾讯宜出行人流量数据
  9. TestDirector-缺陷跟踪工具用户使用指南
  10. Go web 开发数据库管理平台,利用远程过程调用(RPC)实现对MySQL数据库的管理和使用