RaspberryPi-NFC 방패 웹 앱
5614 단어 RaspberryPi웹 애플리케이션Xojo
이것을 웹 앱에서 사용하기 위한 설정 예입니다.
환경
2020-02-13 판
설치하고 WiFi, 로케일, 업데이트 등의 설정을 끝내십시오.
네트워크 설정도 마칩니다.
vim 설치
sudo apt install vim
그런 다음 vim의 시각 모드를 해제합니다.
/home/pi/.vimrc 및/root/.vimrc 내부에 set mouse=
행 설정
1602LCD 이동
도서관
sudo pip3 install adafruit-circuitpython-charlcd
이제 움직이기 때문에 IP 주소 스크립트를 넣으십시오.
LCDmessage.py 만들기
#!/usr/bin/env python
import sys
import Adafruit_CharLCD as LCD
lcd_rs = 26
lcd_en = 19
lcd_d4 = 20
lcd_d5 = 21
lcd_d6 = 22
lcd_d7 = 27
#
lcd_columns = 16
lcd_rows = 2
#
#
lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7,
lcd_columns, lcd_rows)
lcd.clear()
if ( 2 > len(sys.argv)):
lcd.message("No IP address.")
if ( 1 < len(sys.argv)):
message = sys.argv[1]
lcd.message(message)
if ( 2 < len(sys.argv)):
message = sys.argv[2]
lcd.message("\n")
lcd.message(message)
# cursol blink
lcd.blink(False)
MiFare 카드 리드
라이브러리 설치
pi@raspberrypi:~ $ git clone https://github.com/ondryaso/pi-rc522.git
pi@raspberrypi:~ $ cd pi-rc522
pi@raspberrypi:~/pi-rc522 $ sudo python3 setup.py install
wiringpi 설치
pi@raspberrypi:~ $ wget https://project-downloads.drogon.net/wiringpi-latest.deb
pi@raspberrypi:~ $ sudo dpkg -i wiringpi-latest.deb
pi@raspberrypi:~ $ sudo pip3 install wiringpi
아마 마지막만으로 갈 수 있을까?
vim read_once_with_key_LCD_onlyID.py
from pirc522 import RFID
# Calls GPIO cleanup
import Adafruit_CharLCD as LCD
import RPi.GPIO as GPIO
#rdr = RFID(0,0,1000000,22,0,18,GPIO.BOARD)
rdr = RFID(0,0,1000000,25,0,24,GPIO.BCM)
lcd_rs = 26
lcd_en = 19
lcd_d4 = 20
lcd_d5 = 21
lcd_d6 = 22
lcd_d7 = 27
#
lcd_columns = 16
lcd_rows = 2
#
#
lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7,
lcd_columns, lcd_rows)
import sys
import time
import wiringpi as w
w.wiringPiSetup()
w.pinMode(1,1)
sector = int(sys.argv[1])
# print('target sector = : ', sector)
lcd.clear()
lcd.message('Ready')
while True:
rdr.wait_for_tag()
(error, tag_type) = rdr.request()
if not error:
# print("Tag detected")
(error, uid) = rdr.anticoll()
if not error:
# print(" UID: " + str(uid))
# Select Tag is required before Auth
if not rdr.select_tag(uid):
# print(" not rdr.select_tag")
# Auth for block using default shipping key A
if not rdr.card_auth(rdr.auth_a, sector, [0xA0, 0xB1, 0xC0, 0xD1, 0xE0, 0xE1], uid): # key is example
# This will print something like (False, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
# print(" Reading sector "+ str(sector) +" " + str(rdr.read(sector)))
(error,data)=rdr.read(sector)
if not error:
# print( str(data))
# print( str(data))
data2=data[0:10]
id=(''.join(map(chr,data2)))
print(id)
lcd.clear()
lcd.message(id)
w.digitalWrite(1,1)
time.sleep(0.1)
w.digitalWrite(1,0)
break
# Always stop crypto1 when done working
rdr.stop_crypto()
rdr.cleanup()
apache2 설치
sudo apt install vim apache2
샘플 페이지 삭제
sudo rm /var/www/html/index.html
부팅 설정
/etc/rc.local 뒤쪽을 다음과 같이 조정
ifconfig eth0:1 169.254.12.24
sleep 5 # 環境により調整
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
python3 /home/pi/LCDmessage.py $_IP
mount -o exec,uid=33,gid=33 /dev/sda1 /mnt
/mnt/trans.sh & > /dev/null
exit 0
원래는 IP 주소를 화면에 표시하지만, 그 외에도
sudo apt install vim
도서관
sudo pip3 install adafruit-circuitpython-charlcd
이제 움직이기 때문에 IP 주소 스크립트를 넣으십시오.
LCDmessage.py 만들기
#!/usr/bin/env python
import sys
import Adafruit_CharLCD as LCD
lcd_rs = 26
lcd_en = 19
lcd_d4 = 20
lcd_d5 = 21
lcd_d6 = 22
lcd_d7 = 27
#
lcd_columns = 16
lcd_rows = 2
#
#
lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7,
lcd_columns, lcd_rows)
lcd.clear()
if ( 2 > len(sys.argv)):
lcd.message("No IP address.")
if ( 1 < len(sys.argv)):
message = sys.argv[1]
lcd.message(message)
if ( 2 < len(sys.argv)):
message = sys.argv[2]
lcd.message("\n")
lcd.message(message)
# cursol blink
lcd.blink(False)
MiFare 카드 리드
라이브러리 설치
pi@raspberrypi:~ $ git clone https://github.com/ondryaso/pi-rc522.git
pi@raspberrypi:~ $ cd pi-rc522
pi@raspberrypi:~/pi-rc522 $ sudo python3 setup.py install
wiringpi 설치
pi@raspberrypi:~ $ wget https://project-downloads.drogon.net/wiringpi-latest.deb
pi@raspberrypi:~ $ sudo dpkg -i wiringpi-latest.deb
pi@raspberrypi:~ $ sudo pip3 install wiringpi
아마 마지막만으로 갈 수 있을까?
vim read_once_with_key_LCD_onlyID.py
from pirc522 import RFID
# Calls GPIO cleanup
import Adafruit_CharLCD as LCD
import RPi.GPIO as GPIO
#rdr = RFID(0,0,1000000,22,0,18,GPIO.BOARD)
rdr = RFID(0,0,1000000,25,0,24,GPIO.BCM)
lcd_rs = 26
lcd_en = 19
lcd_d4 = 20
lcd_d5 = 21
lcd_d6 = 22
lcd_d7 = 27
#
lcd_columns = 16
lcd_rows = 2
#
#
lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7,
lcd_columns, lcd_rows)
import sys
import time
import wiringpi as w
w.wiringPiSetup()
w.pinMode(1,1)
sector = int(sys.argv[1])
# print('target sector = : ', sector)
lcd.clear()
lcd.message('Ready')
while True:
rdr.wait_for_tag()
(error, tag_type) = rdr.request()
if not error:
# print("Tag detected")
(error, uid) = rdr.anticoll()
if not error:
# print(" UID: " + str(uid))
# Select Tag is required before Auth
if not rdr.select_tag(uid):
# print(" not rdr.select_tag")
# Auth for block using default shipping key A
if not rdr.card_auth(rdr.auth_a, sector, [0xA0, 0xB1, 0xC0, 0xD1, 0xE0, 0xE1], uid): # key is example
# This will print something like (False, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
# print(" Reading sector "+ str(sector) +" " + str(rdr.read(sector)))
(error,data)=rdr.read(sector)
if not error:
# print( str(data))
# print( str(data))
data2=data[0:10]
id=(''.join(map(chr,data2)))
print(id)
lcd.clear()
lcd.message(id)
w.digitalWrite(1,1)
time.sleep(0.1)
w.digitalWrite(1,0)
break
# Always stop crypto1 when done working
rdr.stop_crypto()
rdr.cleanup()
apache2 설치
sudo apt install vim apache2
샘플 페이지 삭제
sudo rm /var/www/html/index.html
부팅 설정
/etc/rc.local 뒤쪽을 다음과 같이 조정
ifconfig eth0:1 169.254.12.24
sleep 5 # 環境により調整
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
python3 /home/pi/LCDmessage.py $_IP
mount -o exec,uid=33,gid=33 /dev/sda1 /mnt
/mnt/trans.sh & > /dev/null
exit 0
원래는 IP 주소를 화면에 표시하지만, 그 외에도
pi@raspberrypi:~ $ git clone https://github.com/ondryaso/pi-rc522.git
pi@raspberrypi:~ $ cd pi-rc522
pi@raspberrypi:~/pi-rc522 $ sudo python3 setup.py install
pi@raspberrypi:~ $ wget https://project-downloads.drogon.net/wiringpi-latest.deb
pi@raspberrypi:~ $ sudo dpkg -i wiringpi-latest.deb
pi@raspberrypi:~ $ sudo pip3 install wiringpi
from pirc522 import RFID
# Calls GPIO cleanup
import Adafruit_CharLCD as LCD
import RPi.GPIO as GPIO
#rdr = RFID(0,0,1000000,22,0,18,GPIO.BOARD)
rdr = RFID(0,0,1000000,25,0,24,GPIO.BCM)
lcd_rs = 26
lcd_en = 19
lcd_d4 = 20
lcd_d5 = 21
lcd_d6 = 22
lcd_d7 = 27
#
lcd_columns = 16
lcd_rows = 2
#
#
lcd = LCD.Adafruit_CharLCD(lcd_rs, lcd_en, lcd_d4, lcd_d5, lcd_d6, lcd_d7,
lcd_columns, lcd_rows)
import sys
import time
import wiringpi as w
w.wiringPiSetup()
w.pinMode(1,1)
sector = int(sys.argv[1])
# print('target sector = : ', sector)
lcd.clear()
lcd.message('Ready')
while True:
rdr.wait_for_tag()
(error, tag_type) = rdr.request()
if not error:
# print("Tag detected")
(error, uid) = rdr.anticoll()
if not error:
# print(" UID: " + str(uid))
# Select Tag is required before Auth
if not rdr.select_tag(uid):
# print(" not rdr.select_tag")
# Auth for block using default shipping key A
if not rdr.card_auth(rdr.auth_a, sector, [0xA0, 0xB1, 0xC0, 0xD1, 0xE0, 0xE1], uid): # key is example
# This will print something like (False, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])
# print(" Reading sector "+ str(sector) +" " + str(rdr.read(sector)))
(error,data)=rdr.read(sector)
if not error:
# print( str(data))
# print( str(data))
data2=data[0:10]
id=(''.join(map(chr,data2)))
print(id)
lcd.clear()
lcd.message(id)
w.digitalWrite(1,1)
time.sleep(0.1)
w.digitalWrite(1,0)
break
# Always stop crypto1 when done working
rdr.stop_crypto()
rdr.cleanup()
sudo apt install vim apache2
샘플 페이지 삭제
sudo rm /var/www/html/index.html
부팅 설정
/etc/rc.local 뒤쪽을 다음과 같이 조정
ifconfig eth0:1 169.254.12.24
sleep 5 # 環境により調整
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
python3 /home/pi/LCDmessage.py $_IP
mount -o exec,uid=33,gid=33 /dev/sda1 /mnt
/mnt/trans.sh & > /dev/null
exit 0
원래는 IP 주소를 화면에 표시하지만, 그 외에도
ifconfig eth0:1 169.254.12.24
sleep 5 # 環境により調整
# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
printf "My IP address is %s\n" "$_IP"
fi
python3 /home/pi/LCDmessage.py $_IP
mount -o exec,uid=33,gid=33 /dev/sda1 /mnt
/mnt/trans.sh & > /dev/null
exit 0
USB 메모리를 DocumentRoot로
/etc/apache2/sites-enabled/000-default.conf를 다음과 같이 편집
# DocumentRoot /var/www/html
DocumentRoot /mnt
USB 메모리의 프로그램 실행 가능
www-data에서 GPIO를 사용할 수 있도록 sudoers에 다음 추가
www-data ALL=(ALL) NOPASSWD: ALL
/etc/apache2/apache2.conf를 다시 작성하여/mnt에서 cgi가 작동하도록 합니다.
#<Directory /var/www/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#</Directory>
<Directory /mnt/>
Options Indexes FollowSymLinks execCGI
AddHandler cgi-script .cgi .pl
AllowOverride None
Require all granted
</Directory>
cgi 사용
$ sudo a2enmod cgid
한다.
Xojo 용 라이브러리 설치
웹 앱을 Xojo로 만들려면 다음이 필요합니다.
pi@raspberrypi:~/xojo/RemoteDebuggerConsole $ sudo apt install libunwind8
Reference
이 문제에 관하여(RaspberryPi-NFC 방패 웹 앱), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nanbuwks/items/efd4e84f59dedba1cc96
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
# DocumentRoot /var/www/html
DocumentRoot /mnt
www-data에서 GPIO를 사용할 수 있도록 sudoers에 다음 추가
www-data ALL=(ALL) NOPASSWD: ALL
/etc/apache2/apache2.conf를 다시 작성하여/mnt에서 cgi가 작동하도록 합니다.
#<Directory /var/www/>
# Options Indexes FollowSymLinks
# AllowOverride None
# Require all granted
#</Directory>
<Directory /mnt/>
Options Indexes FollowSymLinks execCGI
AddHandler cgi-script .cgi .pl
AllowOverride None
Require all granted
</Directory>
cgi 사용
$ sudo a2enmod cgid
한다.
Xojo 용 라이브러리 설치
웹 앱을 Xojo로 만들려면 다음이 필요합니다.
pi@raspberrypi:~/xojo/RemoteDebuggerConsole $ sudo apt install libunwind8
Reference
이 문제에 관하여(RaspberryPi-NFC 방패 웹 앱), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/nanbuwks/items/efd4e84f59dedba1cc96
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
pi@raspberrypi:~/xojo/RemoteDebuggerConsole $ sudo apt install libunwind8
Reference
이 문제에 관하여(RaspberryPi-NFC 방패 웹 앱), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/nanbuwks/items/efd4e84f59dedba1cc96텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)