first
This commit is contained in:
commit
79483becc0
11
reader.py
Normal file
11
reader.py
Normal file
@ -0,0 +1,11 @@
|
||||
from mfrc522 import SimpleMFRC522
|
||||
reader = SimpleMFRC522()
|
||||
|
||||
try:
|
||||
while True:
|
||||
id, text = reader.read()
|
||||
print(id)
|
||||
print(text)
|
||||
except KeyboardInterrupt:
|
||||
GPIO.cleanup()
|
||||
raise
|
2
readme.md
Normal file
2
readme.md
Normal file
@ -0,0 +1,2 @@
|
||||
# Raspberry Pi
|
||||
Python kode for å lese rfid med RFID-RC522 og sende det til en server med HTTP POST.
|
47
registrer.py
Normal file
47
registrer.py
Normal file
@ -0,0 +1,47 @@
|
||||
from mfrc522 import SimpleMFRC522#rfid reader library
|
||||
from requests import post, get #make post & get requests
|
||||
from RPi import GPIO
|
||||
import json#json
|
||||
from mysql import connector#mysql
|
||||
import datetime
|
||||
|
||||
def timestamp():
|
||||
#https://stackoverflow.com/questions/2150739/iso-time-iso-8601-in-python
|
||||
return [datetime.datetime.now().astimezone().replace(microsecond=0).isoformat()]
|
||||
|
||||
with open('./settings.json') as json_settings:#open json file with settings
|
||||
settings = json.loads(json_settings.read())#read the json to a python object
|
||||
|
||||
reader = SimpleMFRC522()
|
||||
|
||||
localdb = connector.connect(#connect to a local mariadb database
|
||||
host=settings['localdb']['host'],
|
||||
user=settings['localdb']['user'],
|
||||
password=settings['localdb']['password'],
|
||||
database=settings['localdb']['database']
|
||||
)
|
||||
cursor = localdb.cursor()
|
||||
|
||||
cursor.execute("SHOW GLOBAL VARIABLES LIKE 'time_zone';")
|
||||
cursor.execute("SHOW GLOBAL VARIABLES LIKE 'system_time_zone';")
|
||||
cursor.execute("SELECT NOW();")
|
||||
localdb.commit()
|
||||
print(mycursor.fetchall())
|
||||
|
||||
get(str(settings['url'] + '/stafett/time.php'))
|
||||
|
||||
try:
|
||||
while True:
|
||||
id, text = reader.read()#read rfid
|
||||
rfid = [str(id) + str(text)]
|
||||
print(rfid)
|
||||
|
||||
cursor.execute("INSERT INTO tidtabell (rfid) VALUES(%s);", (rfid))
|
||||
#^sends the rfid into the database, the time column is automatically CURRENT_TIMESTAMP whitch is the same as NOW();
|
||||
localdb.commit()#write the sql
|
||||
|
||||
post(settings['url'], {'rfid': rfid[0], 'timestamp': timestamp()})#send POST with rfid to kvadda.no
|
||||
|
||||
except KeyboardInterrupt:#ctrl + c
|
||||
GPIO.cleanup()#clean up the gpio
|
||||
raise#exit program
|
66
registrer_lag.py
Normal file
66
registrer_lag.py
Normal file
@ -0,0 +1,66 @@
|
||||
from tkinter import *
|
||||
from tkinter import ttk
|
||||
from requests import post
|
||||
|
||||
def get_rfid(rfid):
|
||||
return
|
||||
|
||||
def main():
|
||||
global LagNavn, Bedrift, rfid, Lagleder, Telefon, Deltagere, Brukernavn, Passord
|
||||
root = Tk()
|
||||
notebook = ttk.Notebook(root)
|
||||
notebook.pack()
|
||||
tab0 = ttk.Frame(notebook)
|
||||
notebook.add(tab0, text='Registrereing')
|
||||
|
||||
ttk.Label(tab0, text='LagNavn').grid(row=1)
|
||||
LagNavn = ttk.Entry(tab0)
|
||||
LagNavn.grid(column=1, row=1)
|
||||
|
||||
ttk.Label(tab0, text='Bedrift').grid(row=2)
|
||||
Bedrift = ttk.Entry(tab0)
|
||||
Bedrift.grid(column=1, row=2)
|
||||
|
||||
ttk.Label(tab0, text='RFID').grid(row=3)
|
||||
rfid = ttk.Entry(tab0)
|
||||
rfid.grid(column=1, row=3)
|
||||
ttk.Button(tab0, command=get_rfid(rfid), text='Les fra pinne').grid(column=2, row=3)
|
||||
|
||||
ttk.Label(tab0, text='Lagleder').grid(row=4)
|
||||
Lagleder = ttk.Entry(tab0)
|
||||
Lagleder.grid(column=1, row=4)
|
||||
|
||||
ttk.Label(tab0, text='Telefon').grid(row=5)
|
||||
Telefon = ttk.Entry(tab0)
|
||||
Telefon.grid(row=5, column=1)
|
||||
|
||||
ttk.Label(tab0, text='Deltagere').grid(row=6)
|
||||
Deltagere = ttk.Entry(tab0)
|
||||
Deltagere.grid(row=6, column=1)
|
||||
|
||||
tab1 = ttk.Frame(notebook)
|
||||
|
||||
ttk.Label(tab1, text='Brukernavn').grid()
|
||||
Brukernavn = ttk.Entry(tab1)
|
||||
Brukernavn.grid(column=1, row=0)
|
||||
|
||||
ttk.Label(tab1, text='Passord').grid(row=1)
|
||||
Passord = ttk.Entry(tab1, show='*')
|
||||
Passord.grid(column=1, row=1)
|
||||
|
||||
notebook.add(tab1, text='Servertilkobling')
|
||||
|
||||
ttk.Button(tab0, text='Registrer', command=send).grid(row=7, column=1)
|
||||
|
||||
root.mainloop()
|
||||
|
||||
def send():
|
||||
global LagNavn, Bedrift, rfid, Lagleder, Telefon, Deltagere, Brukernavn, Passord
|
||||
r = post('http://localhost/backend/registrer_lag.php', data={'LagNavn':LagNavn.get(), 'Bedrift':Bedrift.get(), 'Kortnummer':rfid.get(), 'Lagleder':Lagleder.get(), 'Telefon':Telefon.get(), 'Deltagere':Deltagere.get(), 'Brukernavn':Brukernavn.get(), 'Passord':Passord.get()})
|
||||
print(r.status_code)
|
||||
print(r.headers)
|
||||
print(r.text)
|
||||
r.close()
|
||||
|
||||
if __name__ == '__main__':
|
||||
main()
|
9
settings.json
Normal file
9
settings.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"url": "http://192.168.0.110/stafett/mottakkort.php",
|
||||
"localdb":{
|
||||
"host":"localhost",
|
||||
"user":"root",
|
||||
"password":"password",
|
||||
"database":"stafett"
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user