ESP Wrover kit seriel port

Kort om serial interface på esp-wrover-kit

  • en seriel port tilgængelig

  • TX på TXD0 - GPIO 1 pin 41

  • RX på RXD0 - GPIO 3 pin 40

  • 3.3V logik

    • 3.3V lav (bit værdi 0)

    • 0.0V høj (bit værdi 1)

Det vil sige, at hvis du vil forbinde din esp til en anden maskine med en seriel forbindelse er det de to ben du skal have fat i

  • TXD0 transmit

  • RXD0 receive

  • logisk 0 er 3.3V som også er idle niveau

  • logisk 1 er 0V

Der skal lige tænkes over det inden man forbinder med det andet device der har 0 til 5V (som Arduino UNO og MEGA)

ESP32 Wrover pinout

 

Wrover pinout

Jumpers på seriel port

Der kan placeres to jumpers der finder TXD0 til RXD og RXD0 til TXD

TXD/RXD siden er videre forbundet til PC via USB kabel gennem et driver kredsløb på esp printet

Så hvis …

  • I ikke vil have trafik på USB kabel så er det af med begge jumpers. Så bruger i TXD0 og RXD0

  • I kun vil lytte på hvad ESP32 sender så kun på med een jumper TXD0 -> RXD som ender i USB serial

    • Årsagen kan være at man faktisk har den serielle port forbundet til et andet system og at man kun af debug hensyn gerne vil kunne se hvad der sendes fra ESP32

  • I kun vil lytte på hvad ESP32 modtager så skal der jumpes imellem RXD0 og RXD - lidt svært men brug en hun-hun ledning

En række standardopkoblinger

ESP UART koblet til USB
<--> : jumper

          TXD0  <-->  RXD \                          /  RX (modtage vindue i terminal)
  ESP32                    ======  USB kabel ===== PC
          RXD0  <-->  TXD /                          \  TX  (sende vindue i terminal)
ESP TX UART koblet til USB - listen only på PC
<--> : jumper

          TXD0  <-->  RXD \                          /  RX (modtage vindue i terminal)
  ESP32                    ======  USB kabel ===== PC
          RXD0        TXD /                          \
ESP TX/RX koblet til anden node OG ESP32 TX koblet til USB - listen only på PC
<--> : jumper
PC lytter på hvad ESP32 sender

          TXD0  <-->  RXD \                          /  RX (modtage vindue i terminal)
  ESP32           |        ======  USB kabel ===== PC
          RXD0 -- |   TXD /                          \
                | |
                | |
                | |----RXD0
                |               ESP32_nr2
                |------TXD0
ESP TX/RX koblet til anden node OG ESP32 nr 2 koblet til USB - listen only på PC
<--> : jumper
PC lytter på hvad ESP32_nr2 !! sender. Læg mærke til der er byttet lidt rundt på tx og rx af figur...

          RXD0  <--->RXD \                           /  RX (modtage vindue i terminal
  ESP32           |        ======  USB kabel ===== PC
          TXD0 -- |   TXD /                          \
                | |
                | |
                | |----TXD0
                |          ESP32_nr2
                |------RXD0

Man kan IKKE sætte to TXD udgange sammen da der så vil være to udgange der vil kæmpe om at sætte niveau.


       ---> DUER IKKE <---

  TX1 ----->|
            |-----> RX
  TX2 ----->|

Man man kan godt have flere der modtager fra samme TX

     ---> DUER <---

          |---> RX1
  TX ---->|
          |---> RX2

Den nemme konfiguration - Ardunino

  Serial.begin(115200);
  ...
  Serial.print   Serial.println   Serial.read osv

Se Arduinos manualside

Glem at

  • der står at det er for uno,mega osv

  • glem at de siger der kan være flere serielle porte. Der er kun een på en esp32

upload af nyt program via USB

Den nemme måde er at programmere via USB kablet. Det kræver, at begge jumpers er sat på idet PC upload program flasher kode via USB som går via TXD0 og RXD0

Så hvis man har valgt at forbinde sin ESP32 til noget andet grej via den serielle port og derfor har fjernet jumpers (man kan jo ikke to TX udgange sat sammen), ja så man lige fjerne forbindelse og sætte begge jumpers på (TXD0 < — > RXD og RXD0 < — > TXD) inden man kan uploade ny kode…

Ellers kan man ikke uploade kode …

Links