Orange Pi Zero& MFRC522应用

时间:2017-08-17 08:24:38

标签: python rfid orange-pi

我想建立一个项目,通过橙色pi零读取Mifare卡。我有MFRC522模块,连接类似

SDA ------> PIN 24
SCK ------> PIN 22
MOSI -----> PIN 19
MISO -----> PIN 21
IRQ ------> **NONE**
GND ------> PIN 6
RST ------> PIN 22
3.3V -----> PIN 1

到现在为止,我没有一个问题。我google了一下,找出了一些建议。之后我在我的orangepi零点上做了这些步骤。

顺便说一句,我正在使用 ARMBIAN 5.31 稳定的Ubuntu 16.04.3 LTS 3.4.113-sun8i

sudo apt-get update
sudo apt-get install python-dev
sudo git clone https:/github.com/duxingkei33/orangepi_PC_gpio_pyH3.git
cd orangepi_PC_gpio_pyH3
sudo python setup.py install
cd ..
sudo git clone https://github.com/lthiery/SPI-Py.git
cd SPI-Py
sudo python setup.py install
cd ..
sudo git clone https://github.com/mxgxw/MFRC522-python.git
cd MFRC522-python

直到这里,仍然没有一个问题。现在,我们走了。

  1. 其中一条建议说
  2. 现在是编辑MFRC522.py的时候了。我正在提供原始的差异。

     import RPi.GPIO as GPIO
     110c110
     < def init(self, dev='/dev/spidev1.0', spd=1000000):
    
     def init(self, dev='/dev/spidev0.0', spd=1000000):
     112,114c112,114
     <# GPIO.setmode(GPIO.BOARD)
     < # GPIO.setup(22, GPIO.OUT)
     < # GPIO.output(self.NRSTPD, 1)
    
     GPIO.setmode(GPIO.BOARD)
     GPIO.setup(22, GPIO.OUT)
     GPIO.output(self.NRSTPD, 1)
    
    1. 另一个说
    2. 7)读取id数据:

      cd MFRC522-python
      edit  MFRC522.py and comment out line 108.109.110  and 356( as shown below)
            # GPIO.setmode(GPIO.BOARD)
            #GPIO.setup(22, GPIO.OUT)
            #GPIO.output(self.NRSTPD, 1)
      
             #GPIO.output(self.NRSTPD, 1)
      
          python read.py
      
       root@orangepione:~/MFRC522-python# python read.py
      

      无论我做什么,我仍然有错误。第二个说“不是这样的文件”,第一个我甚至不明白该怎么做。任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

我也有同样的问题。我发现由于某种原因,无法加载spi的驱动器。即使使用armbian-config。

使用以下方法验证该设备是否存在:

ls /dev/spi*

就我而言,它不存在。

我必须手动进行以下更改: 在/boot/armbianEnv.txt文件中,添加(或编辑)行(使用sudo nano /boot/armbianEnv.txt):

overlay_prefix = sun8i-h3
overlays = spi-spidev cir i2c0 uart1 w1-gpio
param_spidev_spi_bus = 0
param_spidev_max_freq = 100000000

然后将行添加到/ etc / modules文件中(使用sudo nano / etc / modules):     spi-dev

重新启动系统。

就我而言,python需要root访问权限才能在SPI总线上读取/写入数据。因此,例如,我必须使用sudo python Dump.py运行该程序。

答案 1 :(得分:0)

也许这有点晚了......

diff是一个Linux程序,用于计算两个文件之间的差异:

https://en.wikipedia.org/wiki/Diff_utility

当你看到两个版本之间的区别时,就像在维基百科中一样

MFRC522.py中,您必须在第112,113,114和384行中注释掉(在代码中添加#标记注释以便不编译)

https://github.com/mxgxw/MFRC522-python/blob/master/MFRC522.py

(01.10.2017版本)

您无法在OrangePi上使用RPi.GPIO,可能会看到http://opi-gpio.readthedocs.io/en/latest/install.htmlhttp://www.instructables.com/id/Orange-Pi-One-Python-GPIO-basic/