ESP-01 (ESP8266) 2個使いAPとクライアントにして通信する手順

IoTに不可欠なwifiの基本的な使い方のメモです。

ESP-01は技適マークなしで、日本国内では電波法違反になる可能性があります。
電波暗室を使う、技適マーク取得済のESP-WROOM-02しか使わない、などの注意が必要です。

ESP-01をUSBアダプタに装着した写真

ESP8266を2つ用意し、ATコマンドを利用し、1つをアクセスポイントとして親機の設定、もう1つを子機クライアントにしてwifi接続をします。 初めてESP-何チャラを買ってきたときに、まず試してみる手順です。


用意するもの
ESP-01 2個
USBアダプタ 2個
パソコン(usb端子があるもの) 1~2台

共通の設定
シリアル: 115200 (8n1)
改行コード: <CR>(受信)、<CR><LF>(送信)

親機子機
AT+CWMODE=2
(AP modeに設定)

OK
AT+CWMODE=1
(Station modeに設定)

OK
AT+CWSAP="ESP8266","0123456789",11,3
(SoftAP設定
SSID, password,  channel, encryption)

OK
AT+CIPMUX=1
(マルチコネクションモード設定)

OK
AT+CIPSERVER=1,8888
(サーバー設定 mode, port)

OK
AT+CIPAP="192.168.99.1"
(AP=自分のIP設定)

OK
AT+CIPAP?
(APのIP確認)

+CIPAP:ip:"192.168.99.1"
+CIPAP:gateway:"192.168.99.1"
+CIPAP:netmask:"255.255.255.0"

OK
AT+CWJAP="ESP8266","0123456789"
(APへ接続する)

WIFI CONNECTED
WIFI GOT IP

OK
AT+CIPSTA="192.168.99.2"
(Station=自分のIPの設定)

OK
AT+CIFSR
(ローカルIPの確認)

+CIFSR:STAIP,"192.168.99.2"
+CIFSR:STAMAC,"60:01:94:2b:9f:21"

OK
AT+CIPSTART="TCP","192.168.99.1",8888
(TCP/UDP接続の確立
[id], type, addr, Port)

CONNECT

OK
0,CONNECT
(id=0で、接続あり)
AT+CIPSEND=5
(5 length送る)

OK
>abcde(実際には見えない)
Recv 5 bytes

SEND OK
+IPD,0,5:abcde
(id=0から5 length来た、内容はabcde)
AT+CIPSEND=0,5
(id=0に5 length送る)

OK
>01234(実際には見えない)
Recv 5 bytes


SEND OK
+IPD,5:01234
(親から5 length来た、内容は01234)
AT+CIPCLOSE
(TCP/UDP切断)

CLOSED

OK
0,CLOSED
(id=0の切断)


ESP8266を単体でクライアントとして既存のAPに接続したり、逆にAPにしてPCから繋ぐ記事は多くあったのですが、2つのESP8266間で接続した実験は、意外と少なかったのでまとめました。 これで、PC無しの組込機器間の通信が確立できるので、双方向データ通信のラジコンもあっさりと作れます。

執筆時の部品単価
ESP-01は200-250円ぐらい
USBアダプタは100-150円ぐらいでした。

このブログの人気の投稿

Maple Mini 3.3Vで2SK2232を駆動できない件

SSD1306 トラブルシューティング