前回、こちらのESP8266-tranparent-bridgeを使って、ESP8266側UARTと無線LAN接続先の仮想COMポートをシリアルケーブル接続したような感覚で使おうとしたところ、すぐに接続が切れてしまう問題が発生してました。そちらの現象はまだ解決そていないのですが、tranparent-bridgeのファームに書き換えずに標準の機能(ファーム)でもこの「トランスペアレント(透過)モード」が使えることがわかりました。ただし、接続して使用開始するためには ATコマンドを発行して準備する必要があります。
標準ファームウェアの透過モードを利用するには、UART側からATコマンドで以下の操作を行います。
① AT+CWMODE=3
→ AP+STAモードに設定。
② AT+CWJAP="ssid","password"
→ アクセスポイントに接続。
③ AT+CIFSR
→ デバイスのIPアドレスが応答されるので確認する。
④ 仮想COMポートサーバを立ち上げて Listen(待ち受け)状態にする。
今回はPC側のソフトは USR-VCOM という仮想COMサーバソフトを使いました。
任意のポートでTCPサーバを起動して、Listen状態にしておきます。
⑤ AT+CIPSTART="TCP","xxx.xxx.xxx.xxx",9999
→ サーバに接続。
⑥ AT+CIPMODE=1
→ 透過モードに設定。
⑦ AT+CIPSEND
→ ">"のプロンプトが応答されて、以降、透過モードに。
⑧ "+++"
→ 透過モード終了。
一度無線LANの接続が確立していれば、次からはPower Onで無線LAN接続は自動で行われるので、④~⑧のみで利用可能ですが、毎回コマンドを打つのは面倒です。ただし、前回のtranparent-bridgeのファームのように数分で接続が切れてしまう現象は発生しませんでした。
そこで、UART側に接続したIchigoJamで以下のプログラムを実行してATコマンドを発行することで透過モード接続できることを確認しました。
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
10 ?"AT+CIPSTART=";CHR$(34);"TCP";CHR$(34);","; | |
20 ?CHR$(34);"xxx.xxx.xxx.xxx";CHR$(34);",8234";CHR$(13);CHR$(10); | |
30 WAIT(180) | |
40 ?"AT+CIPMODE=1";CHR$(13);CHR$(10); | |
50 WAIT(180) | |
60 ?"AT+CIPSEND";CHR$(13);CHR$(10); | |
70 WAIT(180) | |
80 ?" ";CHR$(13);CHR$(10) |
これで、PC側から仮想COMポートでネットワーク越しにIchigoJamを制御できる?かも。もともとのこどもパソコンの趣旨から外れるけど、BASICで使える1500円のマイコンが1000円追加で無線でネットワークに繋がるのは、すごいことではないかなと。
0 件のコメント:
コメントを投稿