====== MicroPython: Esp32UartPCUC ====== [[http://www.openhardsoftware.de/ | Open Hard- & Software]] [ [[http://www.openhardsoftware.de/dokuwiki | DokuWiki]] [[http://www.openhardsoftware.de/websites | WebSites]] [[http://www.openhardsoftware.de/mediawiki | MediaWiki]] [[http://www.openhardsoftware.de/nextcloud | NextCloud]] ] ===== Ü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) * 4x4 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** * {{https://www.pjrc.com/teensy/td_libs_PS2Keyboard.html|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) # ==== Links ==== ===== Version ===== {{:module:micropython:Esp32Uart:_Esp32UartPCUC_.zip | _Esp32UartPCUC_.zip}} ===== 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 ==== * = ----- [[http://www.openhardsoftware.de/ | Open Hard- & Software]] [ [[http://www.openhardsoftware.de/dokuwiki | DokuWiki]] [[http://www.openhardsoftware.de/websites | WebSites]] [[http://www.openhardsoftware.de/mediawiki | MediaWiki]] [[http://www.openhardsoftware.de/nextcloud | NextCloud]] ]