Raspberry Pi 3B和RFID RC522-Python类型错误

Raspberry Pi 3B和RFID RC522-Python类型错误,python,python-2.7,raspberry-pi,typeerror,rfid,Python,Python 2.7,Raspberry Pi,Typeerror,Rfid,我一直在玩弄覆盆子Pi和RFID,发现了本教程: 安装过程中一切顺利,但当我运行脚本时,它会显示一个错误 这就是问题所在: pi@raspberrypi:~/MFRC522-python $ sudo python Write.py /home/pi/MFRC522-python/MFRC522.py:115: RuntimeWarning: This channel is already in use, continuing anyway. Use GPIO.setwarnings(Fals

我一直在玩弄覆盆子Pi和RFID,发现了本教程:

安装过程中一切顺利,但当我运行脚本时,它会显示一个错误

这就是问题所在:

pi@raspberrypi:~/MFRC522-python $ sudo python Write.py
/home/pi/MFRC522-python/MFRC522.py:115: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
  GPIO.setup(25, GPIO.OUT)
Traceback (most recent call last):
  File "Write.py", line 6, in <module>
    reader = SimpleMFRC522.SimpleMFRC522()
  File "/home/pi/MFRC522-python/SimpleMFRC522.py", line 14, in __init__
    self.READER = MFRC522.MFRC522()
  File "/home/pi/MFRC522-python/MFRC522.py", line 117, in __init__
    self.MFRC522_Init()
  File "/home/pi/MFRC522-python/MFRC522.py", line 390, in MFRC522_Init
    self.MFRC522_Reset();
  File "/home/pi/MFRC522-python/MFRC522.py", line 120, in MFRC522_Reset
    self.Write_MFRC522(self.CommandReg, self.PCD_RESETPHASE)
  File "/home/pi/MFRC522-python/MFRC522.py", line 123, in Write_MFRC522
    spi.transfer(((addr<<1)&0x7E,val))
TypeError: function takes exactly 2 arguments (1 given)
我在任何地方都找不到解决这个问题的办法。我已经尝试过使用Python3和其他库,但仍然会遇到错误

更新:

在MFRC522.py文件上编辑此文件:

def Write_MFRC522(self, addr, val):
    spi.transfer( (addr<<1)&0x7E, val )

我有同样的问题至少2个小时。。。现在我发现,RC522的IRQ通道必须焊接到raspberry PI的引脚18上。。。我还更新了rc522上的焊接引脚,现在可以正常工作了。。似乎是机械问题,没有软件问题

这也有助于:

错误消息之前:

pi@raspberrypi:~/MFRC522-python $ sudo python Write.py
/home/pi/MFRC522-python/MFRC522.py:115: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
  GPIO.setup(25, GPIO.OUT)
Traceback (most recent call last):
  File "Write.py", line 6, in <module>
    reader = SimpleMFRC522.SimpleMFRC522()
  File "/home/pi/MFRC522-python/SimpleMFRC522.py", line 14, in __init__
    self.READER = MFRC522.MFRC522()
  File "/home/pi/MFRC522-python/MFRC522.py", line 117, in __init__
    self.MFRC522_Init()
  File "/home/pi/MFRC522-python/MFRC522.py", line 390, in MFRC522_Init
    self.MFRC522_Reset();
  File "/home/pi/MFRC522-python/MFRC522.py", line 120, in MFRC522_Reset
    self.Write_MFRC522(self.CommandReg, self.PCD_RESETPHASE)
  File "/home/pi/MFRC522-python/MFRC522.py", line 123, in Write_MFRC522
    spi.transfer(((addr<<1)&0x7E,val))
TypeError: function takes exactly 2 arguments (1 given)

我有同样的问题至少2个小时。。。现在我发现,RC522的IRQ通道必须焊接到raspberry PI的引脚18上。。。我还更新了rc522上的焊接引脚,现在可以正常工作了。。似乎是机械问题,没有软件问题

这也有助于:

错误消息之前:

pi@raspberrypi:~/MFRC522-python $ sudo python Write.py
/home/pi/MFRC522-python/MFRC522.py:115: RuntimeWarning: This channel is already in use, continuing anyway.  Use GPIO.setwarnings(False) to disable warnings.
  GPIO.setup(25, GPIO.OUT)
Traceback (most recent call last):
  File "Write.py", line 6, in <module>
    reader = SimpleMFRC522.SimpleMFRC522()
  File "/home/pi/MFRC522-python/SimpleMFRC522.py", line 14, in __init__
    self.READER = MFRC522.MFRC522()
  File "/home/pi/MFRC522-python/MFRC522.py", line 117, in __init__
    self.MFRC522_Init()
  File "/home/pi/MFRC522-python/MFRC522.py", line 390, in MFRC522_Init
    self.MFRC522_Reset();
  File "/home/pi/MFRC522-python/MFRC522.py", line 120, in MFRC522_Reset
    self.Write_MFRC522(self.CommandReg, self.PCD_RESETPHASE)
  File "/home/pi/MFRC522-python/MFRC522.py", line 123, in Write_MFRC522
    spi.transfer(((addr<<1)&0x7E,val))
TypeError: function takes exactly 2 arguments (1 given)

问题来自图书馆。 如果回滚到8cce26b9ee6e69eb041e9d5665944b88688fca68,它应该可以工作

请确保在回滚后再次运行安装程序

git clone https://github.com/lthiery/SPI-Py.git
git checkout 8cce26b9ee6e69eb041e9d5665944b88688fca68
sudo python setup.py install

问题来自图书馆。 如果回滚到8cce26b9ee6e69eb041e9d5665944b88688fca68,它应该可以工作

请确保在回滚后再次运行安装程序

git clone https://github.com/lthiery/SPI-Py.git
git checkout 8cce26b9ee6e69eb041e9d5665944b88688fca68
sudo python setup.py install
请看这里: 更新SPI后,我也遇到了同样的问题…

请看这里:
更新SPI后,我遇到了同样的问题…

我也遇到了同样的问题。我的解决办法是:

git clone https://github.com/lthiery/SPI-Py.git
cd SPI Py
sudo python setup.py install
它在这些命令之后工作

 sudo python3 setup.py install

我也有同样的问题。我的解决办法是:

git clone https://github.com/lthiery/SPI-Py.git
cd SPI Py
sudo python setup.py install
它在这些命令之后工作

 sudo python3 setup.py install


请发布Write.pyUpdated的内容。谢谢。没有simplemfrc522,简单的GPIO设置操作可以工作吗?您启用GPIO和SPI了吗?如果没有,请转到sudo raspi config并启用它。请将错误消息作为文本而不是图片包含在内。已经这样做了,它们工作正常。是的,我在Raspberry配置上启用了GPIO和SPI,并检查了它们是否已启用。请发布Write.pyUpdated的内容。谢谢。没有simplemfrc522,简单的GPIO设置操作可以工作吗?您启用GPIO和SPI了吗?如果没有,请转到sudo raspi config并启用它。请将错误消息作为文本而不是图片包含在内。已经这样做了,它们工作正常。是的,我在Raspberry配置上启用了GPIO和SPI,并检查了它们是否已启用。欢迎使用堆栈溢出!请仅在您想回答问题时发布答案。在其他情况下,考虑评论或投票!工作!谢谢想分享你的Read.py吗?嗨,我正在研究它-当它可以作为智能家居的个性化控制实用程序时,我愿意分享-也为我工作!几天来,我一直在努力使我的MFRC522正常工作。欢迎使用堆栈溢出!请仅在您想回答问题时发布答案。在其他情况下,考虑评论或投票!工作!谢谢想分享你的Read.py吗?嗨,我正在研究它-当它可以作为智能家居的个性化控制实用程序时,我愿意分享-也为我工作!几天来,我一直在努力让我的MFRC522正常工作。