Search the Community

Showing results for tags 'esp32'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Announcements & first aid
    • Announcements
    • Board doesn't start
  • Community forums
    • Common issues / peer to peer technical support
    • Reviews, Tutorials, Hardware hacks
    • Help wanted
    • Feature Requests
    • TV boxes
    • General chit chat
  • Bug tracker - supported boards and images only
    • Allwinner A20
    • Allwinner H2 & H3
    • Allwinner A64, H5, H6 and H616
    • Armada A388, A3700
    • Amlogic S905(x), S922X
    • NXP (Freescale)
    • Rockchip 3288 & 3328
    • Rockchip 3399
    • Other supported boards
  • Development
    • Development
  • TV Boxes's General Chat
  • TV Boxes's Reviews/Tutorials
  • TV Boxes's FAQ
  • TV Boxes's TV Boxes running Armbian
  • TV Boxes's Rockchip CPU Boxes
  • TV Boxes's Amlogic CPU Boxes
  • TV Boxes's Allwinner CPU Boxes
  • Android fanboys's Forums
  • Gaming on ARM's Reviews
  • Gaming on ARM's Issues
  • Kobol Forum's Helios4
  • Kobol Forum's Helios64

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Matrix


Mastodon


IRC


Website URL


XMPP


Skype


Github


Location


Interests

Found 1 result

  1. Required materials ESP32 KOB electronic lock Relay STONE STWI070WT-01 display MFRC522 module Realized function 1. card registration. 2. username and password registration. 3. card swipe to unlock the electronic lock. 4. User name and password to unlock the electronic lock. Connection diagram GUI design Code sharing import mfrc522 import time import _thread from os import uname from machine import Pin, UART #from pyb import UART #import machine suos = Pin(32,Pin.OUT) uart2 = UART(2, baudrate=115200, rx=16,tx=17,timeout=10) ESP32_HSPI_CLOCK = 14 ESP32_HSPI_SLAVE_SELECT = 15 ESP32_HSPI_MISO = 12 ESP32_HSPI_MOSI = 13 ESP32_MFRC522_RST = 5 rx3 = [] rx_name = [] user_id_flag = False password_flag = False temp_id = '' temp_mima = '' personnel_id = {'zbw':[236,230,169,47],'lbw':[19,165,93,4]} personnel_ps = {'zbw':'zbw3366','lbw':'lbwnb'} admin_password = ('yyds') button_cmd = [16,1] edit1_cmd = [16,112] edit2_cmd = [16,113] edit3_cmd = [16,114] if uname()[0] == 'esp32': rdr = mfrc522.MFRC522(ESP32_HSPI_CLOCK, ESP32_HSPI_MOSI, ESP32_HSPI_MISO, ESP32_MFRC522_RST, ESP32_HSPI_SLAVE_SELECT) def do_write(): try: (stat, tag_type) = rdr.request(rdr.REQIDL) if stat == rdr.OK: (stat, raw_uid) = rdr.anticoll() if stat == rdr.OK: print("New card detected") print(" - tag type: 0x%02x" % tag_type) print(" - uid : 0x%02x%02x%02x%02x" % (raw_uid[0], raw_uid[1], raw_uid[2], raw_uid[3])) print("") if rdr.select_tag(raw_uid) == rdr.OK: key = [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF] if rdr.auth(rdr.AUTHENT1A, 8, key, raw_uid) == rdr.OK: stat = rdr.write(8, b"\x00\x53\x00\x54\x00\x4F\x00\x4E\x00\x45\x0a\x0b\x0c\x0d\x0e\x0f") rdr.stop_crypto1() if stat == rdr.OK: print("Data written to card") else: print("Failed to write data to card") else: print("Authentication error") else: print("Failed to select tag") except KeyboardInterrupt: print("write error") def do_read(): while True: try: (stat, tag_type) = rdr.request(rdr.REQIDL) if stat == rdr.OK: (stat, raw_uid) = rdr.anticoll() if stat == rdr.OK: print("New card detected") print(" - tag type: 0x%02x" % tag_type) print(" - uid : 0x%02x%02x%02x%02x" % (raw_uid[0], raw_uid[1], raw_uid[2], raw_uid[3])) print (raw_uid[0], raw_uid[1], raw_uid[2], raw_uid[3]) print("") if rdr.select_tag(raw_uid) == rdr.OK: key = [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF] if rdr.auth(rdr.AUTHENT1A, 8, key, raw_uid) == rdr.OK: print("Address 8 data: %s" % rdr.read(8)) for ps in personnel_id: if raw_uid[0:4:1] == personnel_id.get(ps): suos.value(1) print(ps) uart_write(ps, *raw_uid[0:4:1]) time.sleep(3) uart2.sendbreak() break rdr.stop_crypto1() time.sleep(3) suos.value(0) else: print("Authentication error") else: print("Failed to select tag") if uart2.any()>1: rx2 = [] data_name2 = '' bin_data = uart2.read(40) uart2.sendbreak() rx1 = list(bin_data) for item in rx1: rx2.append(chr(item)) print(rx2) if rx1[3:5:1] == button_cmd: data_name_len = rx1[6] - 1 data_name = rx2[7:data_name_len+7:1] data_name2 = ''.join(data_name) print(data_name2) if data_name2 == 'back3': return except KeyboardInterrupt: print("read error") def do_read2 (idd): print(idd) while True: try: (stat, tag_type) = rdr.request(rdr.REQIDL) if stat == rdr.OK: (stat, raw_uid) = rdr.anticoll() if stat == rdr.OK: print("New card detected") print(" - tag type: 0x%02x" % tag_type) print(" - uid : 0x%02x%02x%02x%02x" % (raw_uid[0], raw_uid[1], raw_uid[2], raw_uid[3])) print (raw_uid[0], raw_uid[1], raw_uid[2], raw_uid[3]) print("") if rdr.select_tag(raw_uid) == rdr.OK: key = [0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF] if rdr.auth(rdr.AUTHENT1A, 8, key, raw_uid) == rdr.OK: print("Address 8 data: %s" % rdr.read(8)) personnel_id[idd] = raw_uid[0:4:1] uart_write3(*raw_uid[0:4:1]) rdr.stop_crypto1() else: print("Authentication error") else: print("Failed to select tag") if uart2.any()>1: rx2 = [] data_name2 = '' bin_data = uart2.read(40) uart2.sendbreak() rx1 = list(bin_data) for item in rx1: rx2.append(chr(item)) if rx1[3:5:1] == button_cmd: data_name_len = rx1[6] - 1 data_name = rx2[7:data_name_len+7:1] data_name2 = ''.join(data_name) print(data_name2) if data_name2 == 'back1': return except KeyboardInterrupt: print("read error") def uart_write(text, *ids): # print(text, *ids) uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardname1","text":"'+str(text)+'"}>ET') uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardid1","text":"'+str(ids)+'"}>ET') uart2.write('ST<{"cmd_code":"set_visible","type":"widget","widget":"lock1","visible":true}>ET') time.sleep(3) uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardname1","text":"''"}>ET') uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardid1","text":"''"}>ET') uart2.write('ST<{"cmd_code":"set_visible","type":"widget","widget":"lock1","visible":false}>ET') def uart_write2(text,text2): uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardid","text":"'+text+'"}>ET') time.sleep(3) uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardid","text":"'+text2+'"}>ET') uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"edit2","text":"''"}>ET') def uart_write3(*id2): uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardid","text":"'+str(id2)+'"}>ET') time.sleep(3) uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardid","text":"''"}>ET') def uart_write4(text,text2): uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"login","text":"'+text+'"}>ET') time.sleep(1) uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"login","text":"'+text2+'"}>ET') time.sleep(1) uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"edit3","text":"''"}>ET') uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"edit4","text":"''"}>ET') uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"edit7","text":"''"}>ET') def uart_write5(): uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardid","text":"'+str(id2)+'"}>ET') time.sleep(3) uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"cardid","text":"''"}>ET') def card_zhuce(): while True: if uart2.any(): user_id = '' password = '' rx2 = [] rx_num = 0 bin_data = uart2.read(40) uart2.sendbreak() rx1 = list(bin_data) for item in rx1: rx2.append(chr(item)) rx_num += 1 data_end = rx_num-5 data_id_st = rx2[8:13:1] data_id_st2 = ''.join(data_id_st) print(data_id_st2) if data_id_st2 == 'edit1': data_id_st3 = rx2[15:data_end:1] data_id_st4 = ''.join(data_id_st3) print(data_id_st4) if data_id_st4 != '': name = True elif data_id_st2 == 'edit2': data_id_st5 = rx2[15:data_end:1] data_id_st6 = ''.join(data_id_st5) if data_id_st6 == admin_password: admin = True uart_write2('Verification passed!','Please place the card!') do_read2(data_id_st4) return def mima_zuce(): temp_id3 = '' temp_mima3 = '' while True: if uart2.any(): user_id = '' password = '' rx2 = [] rx_num = 0 # data_end = 0 bin_data = uart2.read(40) uart2.sendbreak() rx1 = list(bin_data) for item in rx1: rx2.append(chr(item)) rx_num += 1 # if (rx2[rx_num] == 'T') and (rx2[rx_num-1] == 'E') and (rx2[rx_num-2] == '>'): # break data_end = rx_num-5 data_id_st = rx2[8:13:1] data_id_st2 = ''.join(data_id_st) print(data_id_st2) if rx1[3:5:1] == button_cmd: data_name_len = rx1[6] - 1 data_name = rx2[7:data_name_len+7:1] data_name2 = ''.join(data_name) print(data_name2) if data_name2 == 'back2': return if data_id_st2 == 'edit3': data_id_st3 = rx2[15:data_end:1] data_id_st4 = ''.join(data_id_st3) print(data_id_st4) user_id_flag = True temp_id3 = data_id_st4 # personnel_ps[temp_id] = raw_uid[0:4:1] elif data_id_st2 == 'edit4': data_id_st5 = rx2[15:data_end:1] data_id_st6 = ''.join(data_id_st5) print(data_id_st6) # if personnel_ps.get(temp_id) == data_id_st6: password_flag = True temp_mima3 = data_id_st6 # personnel_ps[temp_id] = password_flag # print(rx2,user_id_flag,password_flag) elif data_id_st2 == 'edit7': data_id_st5 = rx2[15:data_end:1] data_id_st6 = ''.join(data_id_st5) if (data_id_st6 == admin_password) and (password_flag == True) and (user_id_flag == True): admin = True personnel_ps[temp_id3] = temp_mima3 password_flag = False user_id_flag = False uart_write4('Verification passed!','login was successful!') def password_loin(): temp_id2 = '' temp_mima = '' while True: if uart2.any(): user_id = '' password = '' rx2 = [] rx_num = 0 # data_end = 0 bin_data = uart2.read(40) uart2.sendbreak() rx1 = list(bin_data) for item in rx1: rx2.append(chr(item)) rx_num += 1 # if (rx2[rx_num] == 'T') and (rx2[rx_num-1] == 'E') and (rx2[rx_num-2] == '>'): # break data_end = rx_num-5 data_id_st = rx2[8:13:1] data_id_st2 = ''.join(data_id_st) print(data_id_st2) if rx1[3:5:1] == button_cmd: data_name_len = rx1[6] - 1 data_name = rx2[7:data_name_len+7:1] data_name2 = ''.join(data_name) print(data_name2) if data_name2 == 'back4': return if data_id_st2 == 'edit5': data_id_st3 = rx2[15:data_end:1] data_id_st4 = ''.join(data_id_st3) print(data_id_st4) if data_id_st4 in personnel_ps: user_id_flag = True temp_id2 = data_id_st4 elif data_id_st2 == 'edit6': data_id_st5 = rx2[15:data_end:1] data_id_st6 = ''.join(data_id_st5) print(data_id_st6) print(temp_id2) print(personnel_ps) if personnel_ps.get(temp_id2) == data_id_st6: password_flag = True # print(rx2,user_id_flag,password_flag) print(user_id_flag,password_flag) if (password_flag == True) and (user_id_flag == True): uart_write(temp_id2,temp_id2) password_flag = False user_id_flag = False suos.value(1) uart2.write('ST<{"cmd_code":"set_visible","type":"widget","widget":"lock2","visible":true}>ET') uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"edit5","text":"''"}>ET') uart2.write('ST<{"cmd_code":"set_text","type":"label","widget":"edit6","text":"''"}>ET') time.sleep(3) # uart_write('student','') suos.value(0) uart2.write('ST<{"cmd_code":"set_visible","type":"widget","widget":"lock2","visible":false}>ET') uart2.sendbreak() while True: if uart2.any()>1: rx2 = [] data_name2 = '' bin_data = uart2.read(40) # time.sleep(1) uart2.sendbreak() # time.sleep(1) rx1 = list(bin_data) for item in rx1: rx2.append(chr(item)) print(rx2) if rx1[3:5:1] == button_cmd: data_name_len = rx1[6] - 1 data_name = rx2[7:data_name_len+7:1] data_name2 = ''.join(data_name) print(data_name2) if data_name2 == 'card1': card_zhuce() elif data_name2 == 'password1': mima_zuce() elif data_name2 == 'card2': do_read() elif data_name2 == 'password2': password_loin() Video demo