1

我想建立一个项目来通过橙色 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

到现在为止,我没有一个问题。我用谷歌搜索了一下,并找到了一些建议。之后我在我的 Orangepi 零上做了这些步骤。

顺便说一句,我使用的是ARMBIAN 5.31 stable 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. 这些建议之一说

现在是时候编辑 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. 另一个说

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

无论我做什么,我仍然有错误。第二个说“不是这样的文件”,第一个我什至不明白该怎么做。谁能帮我?

4

2 回答 2

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 运行程序。

于 2019-02-16T13:26:23.770 回答
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 版本)

您不能RPi.GPIO在 OrangePi 上使用,也许可以查看http://opi-gpio.readthedocs.io/en/latest/install.htmlhttp://www.instructables.com/id/Orange-Pi-One-Python-GPIO -基本的/

于 2017-10-01T19:26:44.427 回答