树莓派3B连接MFRC522模块进行RFID读写全指南

准备工作:

将树莓派与MFRC522模块按下图连接。

树莓派的引脚图如下:

MFRC522引脚的连接如下:

具体实现:

1.Putty连接树莓派,然后输入raspi-config

2.选择interfacing Options

3.开启I2C和SPI



4. 安装树莓派3B+的SPI接口支持库
sudo apt-get install python-spidev
git clone https://github.com/lthiery/SPI-Py.git

cd SPI-Py.git
git checkout 8cce26b9ee6e69eb041e9d5665944b88688fca68

注意,这一步非常重要,因为新版本的SPI-PY.git中,spi.transfer需要两个参数而只给了一个,如果不做的话后面运行程序会报如下错误。

所以利用git checkout切换git分支,并将该分支指定为HEAD,此时再安装就不会出现上述错误。
sudo python setup.py install

5. 下载MFRC522 的Python库
先返回到跟SPI同级文件夹,然后再进行下载
cd ..
git clone https://github.com/mxgxw/MFRC522-python.git
cd MFRC522-python
sudo python Read.py
正常情况下这样就可以进行读数了。

还可以对Card进行写操作。
sudo python Write.py

还可以通过修改Write.py中的操作逻辑来实现自己想要的功能。

可能出现的问题:

1. can't open device: No such file or directory Aborted

这种问题是因为没有开SPI和I2C,重新做一遍最开始的操作就行。
2. TypeError: function takes exactly 2 arguments (1 given)

上面提到过该错误,使用老版本的SPI库文件即可。

点赞
  1. 风雪说道:
    Google Chrome Windows 10

    can't open device: No such file or directory Aborted 这个开着也不行啊

    1. eumenides说道:
      Google Chrome Windows 10

      您是跟着我的教程来的吗?如果是的话应该是没问题的,树莓派3B和2B都可以用。中间有一个步骤是打开I2C和SPI,但是我的截图只截了I2C的,您看是不是SPI没开?

      1. 风雪说道:
        Google Chrome Windows 10

        好像发现点问题,我的设备是thinkerboardS,spi是/dev/spidev2.0,/dev/spidev2.1我python改了/dev/spidev2.0后读取不到.....难受,再也不买非主流设备了

        1. eumenides说道:
          Google Chrome Windows 10

          要是用来学习的话还是树莓派好一点,毕竟社区资源丰富,教程也多。。。

  2. 风雪说道:
    Google Chrome Windows 10

    你qq是多少,我能加下你吗

    1. eumenides说道:
      Google Chrome Windows 10

      可以扫屏幕右侧的二维码加我的微信交流哦

      1. 了是挺让人说道:
        Android Webkit Android 10

        这是用的什么语言

  3. 213说道:
    Google Chrome Windows 10

    第4部里的password是什么?

  4. 213说道:
    Google Chrome Windows 10

    第4部里su的password是什么?

  5. larwas说道:
    Google Chrome Windows 10

    想学习这个,但是MFRC522的操作不太懂怎么搞,请问有什么资料可以分享下吗?

发表评论

[2;3Rer>