ESP32をWifi中継機にする


はじめに

ESP32をWi-Fiのリレーができれば低消費電力かつ小型のWifi中継機になるのではないか?ということで調べたところ,作れてしまったので記事とします.

イメージとしてはこのような感じです.

※構築環境についてはWindowsではなくMacとなりますので予めご注意ください.

目次

  1. ESP32の初期化
  2. GitHubからダウンロード
  3. ファームウェアのインストール
  4. Wifi各種設定

1. ESP32の初期化

esptoolのインストール

まずはesptoolをインストールする必要がありますので,下記コマンドを実行する.

$ pip install esptool

ESP32の初期化

下記コマンドを実行する

$ esptool.py --port /dev/tty.usbserial-0001 erase_flash

なお私の場合portが /dev/tty.usbserial-0001であったが,人によりここは違うため, /dev/tty.まで打ってタブキーを押して候補を確認してから実行する

エラーが出力されなければ初期化成功です

2. GitHubからのダウンロード

今回はこちらのGitHubに上がっているプログラムを利用します.

任意のディレクトリ配下で下記コマンドを実行.
※予めgitのインストールをお願いします.

$ git clone https://github.com/martin-ger/esp32_nat_router.git

3. ファームウェアのインストール

ダウンロードしたファームウェアをESP32へインストールします.

まず予めカレントディレクトリをesp32_nat_routerとしておきます.

$ [ダウンロードした場所のパス]/cd esp32_nat_router

そして下記コマンドを実行します.

esptool.py --chip esp32 --port /dev/tty.usbserial-0001 \
--baud 115200 --before default_reset --after hard_reset write_flash \
-z --flash_mode dio --flash_freq 40m --flash_size detect \
0x1000 build/bootloader/bootloader.bin \
0x10000 build/esp32_nat_router.bin \
0x8000 build/partitions_example.bin

エラーがでなければインストール完了です.

4. Wifi各種設定

ファームウェアのインストールが終了すると,接続できるWifiにESP32_NAT_Routerが表示されているはずですので,接続します.

そして任意のWebブラウザーを開きhttp://192.168.4.1/とURLを入力します.

上の図のような画面となればOKです.

まずここでやることはSTA Settings (uplink WiFi network)の設定です.
ここに入力するのは親機のWi-FiのSSIDとパスワードとなります.

情報を入力し,Connectを押下します.自動的に再起動するので,再起動し終わり再度Wi-Fiとして接続できるようになったら同様にhttp://192.168.4.1へ接続します.

最後に中継機となるAPのSSIDとパスワードを設定するため,AP Settings (the new network)の設定をします.

この画像のように任意のものを入力してSetを押下します.

再起動が終わったらSSIDとパスワードが設定されたものとしてWi-Fiに繋げるようになっていますので接続します.

その後,好きなサイトやYouTubeなどを開いて無事接続されていれば全ての設定が完了です.お疲れ様でした.

おわりに

こんな小さい機器でもちゃんと機能するのがすごいなって感じます

ただ機器のリソースが非常に弱いため通信速度はあまりでないようですね💦

今後は消費電力がどのように変化していくか調べてみたいと思います