Автор Тема: Подключение NFC модуля RC522 к OPi PC  (Прочитано 2963 раз)

Оффлайн CHuKEPC

Подключение NFC модуля RC522 к OPi PC
« : Март 14, 2016, 04:45:27 pm »
Подключение получилось на Debian Jessie и Armbian

1. Подключение
     Mifare_RC522_RFID                OPi PC
     MOSI ——————————> pin 19
     MISO ——————————-> pin 21
     SCLK ——————————-> pin 23
     SDA ——————————–> pin 24
     RST ———————————> pin 22
     IRQ ———————————->  не соединяем

2. Проверяем наличие устройства
ls /dev/spidev0.0

3. Установка библиотек
apt-get install python-dev

4. Установка GPIO библиотеки
git clone https://github.com/duxingkei33/orangepi_PC_gpio_pyH3.git
cd orangepi_PC_gpio_pyH3
python setup.py install

5. Установка SPI библиотеки
git clone https://github.com/lthiery/SPI-Py.git
cd SPI-Py
python setup.py install

6. Установка MFRC522 библиотеки
git clone https://github.com/rasplay/MFRC522-python.git
cd MFRC522-python

7. Корректируем скрипты, в строке 1 меняем import RPi.GPIO as GPIO на import pyA20.gpio as GPIO и комментируем строки 108, 109, 110 и 356

nano MFRC522.py

1      import pyA20.gpio as GPIO

108  #GPIO.setmode(GPIO.BOARD)
109  #GPIO.setup(22, GPIO.OUT)
110  #GPIO.output(self.NRSTPD, 1)
   
356  #GPIO.output(self.NRSTPD, 1)

8. Ну и сама команда считывания карт
python read.py

При выходе из Питона вываливаются ошибки. Как решу сразу обновлю инструкцию
OPi plus 2, OPi plus, OPi PC, RPi B, RPi2, RPi3, RPI CM1, RPI CM3, BPi, BPi Lamobo R1. И все работает!

Оффлайн CHuKEPC

Re: Подключение NFC модуля RC522 к OPi PC
« Ответ #1 : Март 30, 2016, 09:55:02 am »
И, если кому интересно, с помощью витой пары cat5e увеличил расстояние от OPi до RC522 до 20 метров без танцев с бубном и изменения скорости шины.
OPi plus 2, OPi plus, OPi PC, RPi B, RPi2, RPi3, RPI CM1, RPI CM3, BPi, BPi Lamobo R1. И все работает!

Оффлайн kuslik

Re: Подключение NFC модуля RC522 к OPi PC
« Ответ #2 : Апрель 24, 2016, 05:27:18 pm »
а по i2c что никто не подключает?

Оффлайн CHuKEPC

Re: Подключение NFC модуля RC522 к OPi PC
« Ответ #3 : Апрель 24, 2016, 09:36:42 pm »
а по i2c что никто не подключает?

А смысл?
PN532 работает и по i2c. Ставил по инструкции от RPi.

OPi plus 2, OPi plus, OPi PC, RPi B, RPi2, RPi3, RPI CM1, RPI CM3, BPi, BPi Lamobo R1. И все работает!

Оффлайн kuslik

Re: Подключение NFC модуля RC522 к OPi PC
« Ответ #4 : Май 13, 2016, 09:23:32 am »
так проводов меньше. да и на шину их хоть 60 штук повесить можно

Оффлайн vash_sa

  • Посвященный
  • ***
  • Сообщений: 183
  • Лайков: 13
  • Карма: +0/-5
  • Orange Pi PC v 1.2
    • Просмотр профиля
Re: Подключение NFC модуля RC522 к OPi PC
« Ответ #5 : Март 14, 2017, 08:50:34 am »
Цитировать

А смысл?
PN532 работает и по i2c. Ставил по инструкции от RPi.

А можно по подробнее по работе по i2c? И ссылочку на инструкцию, пожалуйста.

Оффлайн vash_sa

  • Посвященный
  • ***
  • Сообщений: 183
  • Лайков: 13
  • Карма: +0/-5
  • Orange Pi PC v 1.2
    • Просмотр профиля
Re: Подключение NFC модуля RC522 к OPi PC
« Ответ #6 : Март 14, 2017, 09:58:24 am »
Решение для устранения вот этого
Цитировать

^CCtrl+C captured, ending read.
Traceback (most recent call last):
  File "read.py", line 23, in <module>
    (status,backData) = MIFAREReader.MFRC522_Anticoll()
  File "/root/MFRC522-python/MFRC522.py", line 237, in MFRC522_Anticoll
    (status,backData,backBits) = self.MFRC522_ToCard(self.PCD_TRANSCEIVE,serNum)
  File "/root/MFRC522-python/MFRC522.py", line 173, in MFRC522_ToCard
    n = self.Read_MFRC522(self.CommIrqReg)
  File "/root/MFRC522-python/MFRC522.py", line 120, in Read_MFRC522
    val = spi.transfer((((addr<<1)&0x7E) | 0x80,0))
  File "read.py", line 15, in end_read
    MIFAREReader.GPIO_CLEEN()
  File "/root/MFRC522-python/MFRC522.py", line 371, in GPIO_CLEEN
    GPIO.cleanup()
AttributeError: 'module' object has no attribute 'cleanup'

нашлось????

Оффлайн vash_sa

  • Посвященный
  • ***
  • Сообщений: 183
  • Лайков: 13
  • Карма: +0/-5
  • Orange Pi PC v 1.2
    • Просмотр профиля
Re: Подключение NFC модуля RC522 к OPi PC
« Ответ #7 : Март 17, 2017, 09:55:58 pm »
Чтобы был нормальный выход без ошибок, нужно в read.py сделать такой модуль на выход

Цитировать
def end_read(signal, frame):
    global continue_reading
    continue_reading = False
    print "Ctrl+C captured, ending read."
signal.signal(signal.SIGINT, end_read)


Ошибки пропадут, выход будет норм.

Возникла другая проблема. Может кто подскажет.
Пробовал библиотеки и на Питоне и на СИ
Почему-то библиотеки для модуля RC522 конфликтуют с модулем gpio_sunxi.
Если его не грузить, то все работает нормально, но после его подключения перестает проходить инициализация модуля. Даже если потом модуль выгрузить проблема не снимается. Помогает только перезагрузка.
Но этот модуль нужен мне для других программ.
Подскажите как быть? Может кто знает в чем дело?
« Последнее редактирование: Март 17, 2017, 09:57:32 pm от vash_sa »

Оффлайн vash_sa

  • Посвященный
  • ***
  • Сообщений: 183
  • Лайков: 13
  • Карма: +0/-5
  • Orange Pi PC v 1.2
    • Просмотр профиля
Re: Подключение NFC модуля RC522 к OPi PC
« Ответ #8 : Март 18, 2017, 08:21:50 am »
Нашел решение и этой проблемы.
Когда подключается модуль gpio_sunxi, то он берет данные с .bin (.fex) файла и меняет режим вывода подключенного к RTS с ALT3 на OUT. Для того, чтобы этого не было нужно в fex-файле убрать строчку
gpio_pin_10 = port:PA02<1><default><default><0>
Но это если подключать RSA на 22 вывод OPI
Если на другой, то там будет другая строка.