User Tools

Site Tools


module:micropython:esp32uartpcuc:esp32uartpcuc

MicroPython: Esp32UartPCUC

Übersicht

IT01

  • 1 2 3 4
  • 5 6 7 8
  • 9 A B C
  • 0 S T N

Neues Modul: 4x4 KeyPad (entsprechend IT01-FrontKeys)

  • 8x IOPin: 4x Input(34, 35, 36, 39) und 4x Output(12, 13, 14, 27)

LocalSystem

  • Kapselung aller System-Variablen (CpuTemperature,…)
  • Collector für Commands/Responses für lokale Hardware-Ressourcen(BreadBoard!):
    • LedSystem
    • LedQuad(Uart1, Wlan, Bt, (Lan))
    • LCDisplayI2C(PCF8574, I2C)
    • Temperature / Humidity(DHT22: CLK, DATA, 5V0, GND)
    • 4×4 KeyPad (entsprechend IT01-FrontKeys)
    • Pressure/Humidity
    • GetChipID (Examples-Esp32-GetChipID)

UCSystem

  • LCDisplayI2C((PCF8574, I2C)
  • Quertz-Keyboard(PS/2, 5V, CLK, DATA, GND):
    • Paul Stoffregen Arduino-Library PS2Keyboard

CommandReceiver(relative to Esp32)

  • PC-[Uart1]: Command↔Response
  • PC/Tablet/Handy-[Wlan]: Command↔Response
  • PC/Tablet/Handy-[Bt]: Command↔Response
  • Extension later: PC-[Lan]: Command↔Response

Dispatcher(relative to Esp32)

  • LocalSystemDispatcher[Spi, I2C, Gpio]:
  • ExternalControllerDispatcher[Uart2]: Command↔Response

Dataflow

   MainLoop = True
    while (MainLoop):
        #--------------------------------------------------
        # Esp32<-Uart1-Usb<-PC
        #--------------------------------------------------
        # From PC: receive command -> Pass to Local or UC as command
        CommandLine = UartPC.ReadLine() # RxLines-Fifo
        AnalyseCommandLine(CommandLine) # -> ChildUC
        # #--------------------------------------------------
        # # Esp32<-Bt-Usb/Serial<-PC
        # #--------------------------------------------------
        # CommandLine = BtPC.ReadLine() # RxLines-Fifo
        # AnalyseCommandLine(CommandLine) # -> ChildUC
        # #--------------------------------------------------
        # # Esp32<-Wlan<-PC
        # #--------------------------------------------------
        # CommandLine = WlanPC.ReadLine() # RxLines-Fifo
        # AnalyseCommandLine(CommandLine) # -> ChildUC
        # # #--------------------------------------------------
        # # # Esp32<-Lan<-PC
        # # #--------------------------------------------------
        # # CommandLine = LanPC.ReadLine() # RxLines-Fifo
        # # AnalyseCommandLine(CommandLine) # -> ChildUC
        #
        #
        #ResponseLine = '! command parameter0 .. parametern' # <- ChildUC
        #--------------------------------------------------
        # PC<-Uart1/Bt/Wlan/Lan<-Esp32<-Local
        #--------------------------------------------------
        ResponseLine = LocalSystem.ReadLine() # RxLines-Fifo
        UartPC.TransmitResponse(ResponseLine)
        BtPC.TransmitResponse(ResponseLine)
        WlanPC.TransmitResponse(ResponseLine)
        LanPC.TransmitResponse(ResponseLine)
        #--------------------------------------------------
        # Esp32<->Uart2<->UC(Stm32)
        #--------------------------------------------------
        ResponseLine = UartUC.ReadLine() # RxLines-Fifo
        UartPC.TransmitResponse(ResponseLine)
        BtPC.TransmitResponse(ResponseLine)
        WlanPC.TransmitResponse(ResponseLine)
        LanPC.TransmitResponse(ResponseLine)
   #

Version

Beschreibung

Ausgabe MicroPython-Terminal Esp32CheckUart.py

 

Main-Program: Esp32CheckUart.py

 

Library-Module: Uart.py

 

Library-Module: Thread.py

 

Library-Module: Lines.py

 

Library-Module: Define.py

#
ID_UART0     =  0
PIN_UART0_TX =  1 # USB
PIN_UART0_RX =  3 # USB
#
ID_UART1     =  1
PIN_UART1_RX = 25 #  9 - not usable 
PIN_UART1_TX = 26 # 10 - not usable 
#
ID_UART2     =  2
PIN_UART2_RX = 16
PIN_UART2_TX = 17
#

Entwicklung

211221 : Basis

module/micropython/esp32uartpcuc/esp32uartpcuc.txt · Last modified: 2022/09/13 11:58 by 127.0.0.1