Postingan lainnya
Knapa yaa alat saya ini eror mulu pas tap kartu rfid nya?
Knapa yaa alat saya ini eror mulu pas tap kartu rfid nya? tapi pas pencet push button solenoid terbuka, dan kalau yang di tap kartu yang tidak terdaftar tetep jalan sesuai kodingan, dibawah ini kodingannya
import MFRC522 import RPi.GPIO as GPIO import time import os, datetime, errno, picamera import requests import json import i2c_lcd_driver
#Menghilangkan Error akibat pendeklarasian RPi.GPIO yang double GPIO.setwarnings(False)
#Inisialisasi RFID Reader reader = MFRC522.MFRC522()
#Inisialisasi LCD I2C mylcd = i2c_lcd_driver.lcd()
#Hubungan ke Web : Inisialisasi Url untuk upload gambar upload_url = 'http://absensiraspirfid.000webhostapp.com/api/upload.php'
#Setting pengaturan kamera #pengaturan direktori penyimpanan hasil REAL_PATH = os.path.dirname(os.path.realpath(__file__)) output_path = REAL_PATH + '/photo/' #pengaturan kameranya camera = picamera.PiCamera() camera.resolution = (1024, 768)
#Inisialisasi untuk solenoid input_solenoid = 16 #pin 16 GPIO GPIO.setmode(GPIO.BOARD) GPIO.setup(input_solenoid, GPIO.OUT) GPIO.output(input_solenoid, True)
#inisialisasi untuk push button GPIO.setup(10,GPIO.IN,pull_up_down=GPIO.PUD_UP)
def image_filename(): #pengaturan nama file pake fungsi datetime filename = REAL_PATH + '/photo/' + str(datetime.datetime.now()).split('.')[0] filename = filename.replace(' ', '_') filename = filename.replace(':', '-') filename = filename + '.jpg' return filename
def lcd(String, baris): #Function untuk munculin di LCD Agar tidak kepanjangan mylcd.lcd_display_string(String,baris)
def main(): #Inti Program print "Selamat Datang" while True: lcd("Selamat Datang",1) penekanan = GPIO.input(10) if penekanan == False: mylcd.lcd_clear() lcd("Terbuka",1) GPIO.output(input_solenoid, False) time.sleep(5) GPIO.output(input_solenoid, True) mylcd.lcd_clear() #Scan Cards (status,TagType) = reader.MFRC522_Request(reader.PICC_REQIDL) (status,uid) = reader.MFRC522_Anticoll() #Jika UID didapatkan if status == reader.MI_OK: print "Sedang diproses..." lcd("Sedang diproses...",1) value = str(uid[0])+str(uid[1])+str(uid[2])+str(uid[3])+str(uid[4]) cek_data = {'no_kartu': value} r = requests.get('http://absensiraspirfid.000webhostapp.com/api/cek_data.php', params= cek_data, timeout=30) response_cek_data = r.text if response_cek_data == "Data Ada!": #Proses Absensi disini #Proses Ambil Gambar filename = image_filename() camera.capture(filename)
#Proses Upload files = {'image': open(filename,'rb')} response_upload = requests.post(upload_url,files=files, timeout=30) print "Foto Berhasil"
#Proses Absensi Ke database foto = filename[-23:] parameter = {'no_kartu': value, 'foto': foto} response_absensi = requests.get('http://absensiraspirfid.000webhostapp.com/api/post_absen.php', params=parameter, timeout=20) tampil = json.loads(response_absensi.text) mylcd.lcd_clear() print "Pintu Terbuka" lcd("Pintu Terbuka", 1) time.sleep(1) mylcd.lcd_clear() lcd(tampil["no_kartu"],1) lcd(tampil["nama"],2) GPIO.output(input_solenoid, False) time.sleep(5) GPIO.output(input_solenoid, True) mylcd.lcd_clear() else: print(value+" Tidak Ditemukan") mylcd.lcd_clear() lcd(value,1) lcd("Tidak Ditemukan", 2) time.sleep(2.5) mylcd.lcd_clear() time.sleep(2)
if __name__ == "__main__": try: main() except KeyboardInterrupt: print("Goodbye") except Exception as exception: #print("unexpected error: ", str(exception)) mylcd.lcd_clear() lcd("Error!",1) time.sleep(3) mylcd.lcd_clear() main() finally: GPIO.cleanup()
Belum ada Jawaban. Jadi yang pertama Jawaban
Login untuk ikut Jawaban