Search the Community

Showing results for tags 'lcd'.

  • 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 3 results

  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
  2. Hello Folks, good day. I have a project where I need to use a OrangePi 4B and couple of hardware pieces connected to it. I'm having trouble putting together a Linux image where I have, at least the minimum functions required for the project working. I need an image where these items below are enable/working: - SPI - I2C - GPIO - PWM - 10.1 MIPI DSI LCD + TOUCH (available here) - MIPI CSI Webcam (OV13850) - 3D Acceleration (WebGL / OpenGl) using the Mali t860 - Bluetooth - Wifi Ideally, I would like to use the most recent Focal mainline kernel, but a legacy image will also be fine. I've been spending a lot of time building and testing many different images, I tested all available on the OrangePi website and the ones pre built on the Armbian too. Some peripheral works on some images, some others not, etc. I also built several images myself but, up to the moment I was not able to make a single one with all the features above working. I'm looking for help from the experts here on suggestions/guidance on how to accomplish the task of having a single, (preferably updated) linux image working on this project. Appreciate the help. Thank you.
  3. Hello Folks, Good day. I hope you're doing great. I'm trying to make the OrangePI 10.1 inch MIPI DSI (product page) work on the most recent (mainline) Armbian build. Building the image using the OrangePI source repositories and following the instructions on OPi4B manual enables the LCD and touch, However, my intention is to make the LCD + Touch work on the most recent Armbian Focal (mainline). I've setup my Armbian build env but I cannot see to find how to enable this MIPI screen on any build options. Here's the instructions from Page #20 of OPi 4B manual: Download the Linux source code and make the following changes in dts --- a/arch/arm64/boot/dts/rockchip/rk3399-orangepi-lcd.dtsi +++ b/arch/arm64/boot/dts/rockchip/rk3399-orangepi-lcd.dtsi @@ -40,12 +40,12 @@ max-x = <800>; max-y = <1280>; tp-size = <101>; // <911> for 8 inch // <101> for 10 inch - status = "disable"; + status = "okay"; }; }; &dsi { - status = "disable"; + status = "okay"; panel@1 { compatible = "simple-panel-dsi"; reg = <0>; That specific file doesn't exist on the Armbian build directory tree. I'm not familiar enough with the dts and dtsi files to be integrating it. I've been searching the forum for answers but, so far, I'm not able to make it work. I'm looking for help on enable it and appreciate any pointers or guidance that can help make the LCD + Touch work on a mainline kernel version. I linked some dts files from the OrangePI source repository that "might" help. I'm thankful for any help. Thank you.