巷で話題の小型WifiモジュールESP-WROOM-02を使ってみた(通信テスト編)3

スポンサーリンク
スポンサーリンク

前回はESP-WROOM-02をステーションモードで動作させ、周囲のアクセスポイント(AP)に接続してみましたが、今回はESP-WROOM-02をソフトAPモードで動作させ自身がAPとしてほかのモジュールから接続させて通信してみます。

  1. 準備編
  2. 通信テスト編1
  3. 通信テスト編2
  4. 通信テスト編3(本記事)
  5. 以降、構想中
スポンサーリンク

ESP-WROOM-02をサーバーとして動作させる

  1. まずはESP-WROOM-02をソフトAPモードに設定します
  2. AT+CWMODE=3
    
  3. 次に、ESP-WROOM-02に複数のデバイスを接続できるように、マルチプルコネクションを有効にします
  4. AT+CIPMUX=1
    
  5. そしてESP-WROOM-02をサーバーモードで動作させます
  6. AT+CIPSERVER=1
    

ESP-WROOM-02と通信する

  1. ESP-WROOM-02に接続する
  2. ESP-WROOM-02がソフトAPモードとして動作しているため、PCなどのデバイスからアクセスポイントを検索すると、「ESP-XXXXXX」というアクセスポイントが見つかります。ここに接続します。

  3. サーバーに接続する
  4. HerculesのTCP Clientタブを開き、TCPのModule IPに”192.168.4.1″、Portに”333″を設定し、Connectボタンをクリックします。
    接続されるとESP-WROOM-02から以下のメッセージが返ります。

    0,CONNECTED
    

    この0はESP-WROOM-02に接続されているクライアントデバイスのIDです。

  5. クライアントからサーバーにデータを送信する
  6. では、クライアント側からサーバーに対してデータを送ってみます。HerculesのSendテキストボックスにHELLOと入力してSendボタンをクリックします。すると、ターミナルソフトには以下のように表示されます。

    +IPD,0,5:HELLO
    

    “+IPD”に続き、”送信したデバイスのID”、”受信したデータ長”、”受信したデータ”となります。

  7. サーバーからクライアントにデータを送信する
  8. 続いて、サーバーとして動作しているESP-WROOM-02からクライアント側にデータを送信します。以下のコマンドを実行します。

    AT+CIPSEND=0,4
    

    ここで0は送信先のクライアントID、4は送信するデータ長です。コマンドを実行すると以下のメッセージが返ります。

    OK
    >
    

    送信したいデータを入力します。ここでは「abcd」というデータを送ってみます。正しく送信できた場合、SEND OKというメッセージが返ります。また、HerculesのReceinved/Send Dataにabcdと表示されています。

ここまででESP-WROOM-02のクライアントモード/サーバーモードにおける基本的な動作を確認できました。これまでは、ESP-WROOM-02をターミナルソフトから制御していましたが、実際には外部のマイコンなどからUART通信で制御することになります。次回からは、Arduinoと接続し、ArduinoからのUART通信でESP-WROOM-02を制御する方法について書いていきたいと思います(ESP-WROOM-02のファームウェア自体を書き換えることも可能ですがそれはまた別途書きたいと思います)。

コメント