WeMosを使ってみる

TCP-Wifi-UART Bridge


ESP8266にはSerial(UART0)のほかに、Serial1(UART1)が有ります。

UART0はGPIO1 (TX) と GPIO3 (RX) にマッピングされていますが、
Serial.swap()を使うと、GPIO15 (TX) と GPIO13 (RX) に変更することができます。

UART1は TX pin だけが GPIO2 にマッピングされていて、UART1では送信だけを行うことができます。
UART1は、Serial1.begin(baudrate) で使うことができます。

UART0を使うアプリケーションでは、シリアルモニターを使ったデバッグを行うことができません。
その様なときはUART1をデバッグに使うことができます。

ESP8266 Coreに含まれている「WiFiTelnetToSerial」ではUART1をデバッグポートとして使っていますので紹介します。
「WiFiTelnetToSerial」では、UARTの入出力をWifi経由でTCPで扱うことができます。

まず、TTL-USB変換アダプタを以下のように接続します。
TTL-USB変換アダプタをWindowsPCのUSBポートに入れて、TeraTermでCOMポートを開きます。
COMポートのボーレートは115200bpsです。
ESP8266 TTL-USB変換アダプター
GPIO2 RX
GND GND

次にファイル→スケッチ例→ESP8266Wifi→WiFiTelnetToSerialを開いて、WeMosに書き込みます。
スケッチが起動すると、TeraTerm(COMポート)に以下が表示されます。
この表示はUART1を使っています。


TeraTermをもう1つ起動し、表示されているアドレス宛にTelnetで接続します。
Telnetで接続すると以下の表示となります。



Arduino-IDEの入力フィールド(一番上)に適当な文字を入れて「送信」ボタンを押すと
TeraTerm(Telnetポート)側に受信した文字を表示します。


TeraTerm(Telnetポート)の「端末の設定」を以下のように変更します。


TeraTerm(Telnetポート)で適当な文字を入力して[Enter]を押すと、
Arduino-IDE側に受信した文字を表示します。


UARTへの入出力をTeraTermを使って行うことができますので、
UARTしか持たないデバイスを遠隔で操作したり、モニターリングすることができます。
このようにUART0を使うアプリでは、UART1を使ってデバックやガイダンス表示を行うことができます。

次回はUDP-Wifi-UARTブリッジを紹介します。

続く....