====== Projekt RFID Read-Write ======
|**Project owner:**| [[user:overdrive|Overdrive]] |
|**Interested:** | |
|**Related:**| [[project:dvere|[Project Dvere]]]|
|**References:**|[[https://thepihut.com/blogs/raspberry-pi-tutorials/27968772-turning-on-an-led-with-your-raspberry-pis-gpio-pins|[Dioda pro lamy - ENG]]] -- [[http://raspberrypi.stackexchange.com/revisions/31743/3|[GPIO explanations]]] -- [[http://wiki.lemaker.org/BananaPro/Pi:Pin_definition|[BananaPi GPIO manual]]] |
|**Materials:**| BananaPi, RFID-RC522, nepajive pole, kabely samec-samice s jumper konci, 5V napajeni, pajecka, pocitac s SSH|
|**License:** | [[https://creativecommons.org/licenses/by-sa/3.0/|Uveďte původ-Zachovejte licenci; CC BY-SA]] |
===== on RaspberryPi 1b =====
https://www.raspberrypi.org/documentation/configuration/device-tree.md
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.44.tar.gz
tar -xvzf bcm2835-1.44.tar.gz
cd bcm2835-1.44
./configure
make
sudo make check
sudo make install
===== TO STUDY =====
* https://github.com/AdamLaurie/RFIDIOt - some tools
* http://jerrygamblin.com/2015/12/05/25-handheld-rfid-cloner/ - to clone
===== RC522 vs BananaPi Pinout =====
|**RFID-RC522 Pin**|**Banana Pi Pin**|**Banana PI Pin Name**|**Cable color**|
|3.3V|1|+3.3V|Red|
|GND|6|GND|Black|
|MOSI|19|GPIO10/MOSI |brown |
|MISO|21|GPIO09/MSO |blue |
|CLOCK|23|GPIO11/SCLK |yellow |
|SS|24|COE0#/GPIO07|green|
==== RC522 vs RaspberryPI B ====
{{projects:pythonraspberrypi_rfid.png}}
Reference:
* https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus
* http://wiki.lemaker.org/BananaPro/Pi:Pin_definition
* SCLK : Serial Clock (output from master).
* MOSI : Master Output, Slave Input (output from master).
* MISO : Master Input, Slave Output (output from slave).
* SS : Slave Select (active low, output from master).
===== SPI Pins kernel module [Specific for BananaPI] =====
[root@picka ~]# echo "spi-sun7i" >> /etc/modules
[root@picka ~]# shutdown -r now "SPI module load, test after restart"
[root@picka ~]# lsmod
Module Size Used by
spidev 6177 0
spi_sun7i 17962 0
8192cu 453603 0
mali_drm 2608 0
drm 209014 1 mali_drm
mali 111136 0
ump 51819 1 mali
lcd 3778 0
===== Python to control GPI =====
* http://raspmer.blogspot.cz/2015/07/how-to-use-rfid-rc522-on-raspbian.html
* !!!!! http://blog.infraserver.eu/?p=285 -->
* On Raspberry Pi, Device Tree usage is controlled from /boot/config.txt. By
default, the Raspberry Pi kernel boots with device tree enabled. You can
completely disable DT usage (for now) by adding:
XXXXXX---- nefunguje device_tree=
* mozna chcem novy git clone https://github.com/RPi-Distro/raspi-config
* a tam poresit tree
[root@picka ~]# aptitude install python-dev
No packages will be installed, upgraded, or removed.
0 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B of archives. After unpacking 0 B will be used.
[root@picka ~]# git clone https://github.com/lthiery/SPI-Py.git
Cloning into 'SPI-Py'...
remote: Counting objects: 77, done.
remote: Total 77 (delta 0), reused 0 (delta 0), pack-reused 77
Unpacking objects: 100% (77/77), done.
Checking connectivity... done.
[root@picka ~]# cd SPI-Py
[root@picka SPI-Py]# python setup.py install
running install
running build
running build_ext
building 'spi' extension
creating build
creating build/temp.linux-armv7l-2.7
arm-linux-gnueabihf-gcc -pthread -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -fno-strict-aliasing -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c spi.c -o build/temp.linux-armv7l-2.7/spi.o
creating build/lib.linux-armv7l-2.7
arm-linux-gnueabihf-gcc -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-z,relro -fno-strict-aliasing -DNDEBUG -g -fwrapv -O2 -Wall -Wstrict-prototypes -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -D_FORTIFY_SOURCE=2 -g -fstack-protector-strong -Wformat -Werror=format-security build/temp.linux-armv7l-2.7/spi.o -o build/lib.linux-armv7l-2.7/spi.so
running install_lib
copying build/lib.linux-armv7l-2.7/spi.so -> /usr/local/lib/python2.7/dist-packages
running install_egg_info
Writing /usr/local/lib/python2.7/dist-packages/SPI_Py-1.0.egg-info
[root@picka SPI-Py]# cd ..
[root@picka ~]# git clone https://github.com/mxgxw/MFRC522-python.git
Cloning into 'MFRC522-python'...
remote: Counting objects: 60, done.
remote: Total 60 (delta 0), reused 0 (delta 0), pack-reused 60
Unpacking objects: 100% (60/60), done.
Checking connectivity... done.
[root@picka ~]# cd MFRC522-python
[root@picka MFRC522-python]# python Read.py
BAPI: Banana Pi!!
BAPI: Banana Pi!!
BAPI: Banana Pi!!
BAPI: Banana Pi!!
BAPI: revision(3)
Welcome to the MFRC522 data read example
Press Ctrl-C to stop.
Card read UID: 100,83,136,50
Size: 8
Sector 8 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Card detected
Card read UID: 100,83,136,50
Size: 8
Sector 8 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Card detected
Card read UID: 100,83,136,50
Size: 8
Sector 8 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
Card detected
Card read UID: 100,83,136,50
Size: 8
Sector 8 [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
===== READ NFC522 by node-red =====
* http://flows.nodered.org/node/node-red-contrib-gpio
* http://flows.nodered.org/node/node-red-node-bananapi
* http://flows.nodered.org/node/node-red-node-irc
[root@picka ~]# node -v
v0.10.29
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
# version can be switched by: sudo n 0.8.21
[root@picka ~]# shutdown -r now
[root@picka ~]# node -v
v6.2.0
[root@picka ~]# node-red-admin install node-red-node-irc
#[root@picka ~]# npm install node-pre-gyp
#[root@picka ~]# npm install node-red-contrib-gpio
#root@picka ~]# npm install raspi-io
#[root@picka ~]# npm install node-red-node-irc
[root@picka ~]# shutdown -r now