====== 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]]
]