Mira&Luna's nursery lab

旅乙女と発明娘の子供部屋

ESP-WROOM-32DをWi-Fiに接続する方法と手順の紹介。

f:id:miraluna:20180105114819j:plain:w150 Mira

ESP-WROOM-32Dを使おう 🎀

(∂_∂🎀/ 3回目「ESP32をWi-Fiに接続する」

↓ これがESP-WROOM-32Dの開発ボード。
 Wi-FiBluetoothも使える優れたマイコンボードです。
 f:id:miraluna:20191116195453j:plain:w200 秋月電子さんで1,480円💛

マイコンWi-Fiにつながるなんて夢のあるお話。
とっても興味があるから使ってみたい! でもどうやってWi-Fiに接続するのか分からない
と、思っている方は多いはず。私もまるで分からないうちに買って、やっとWi-Fiにつなげられるようになったので、この記事がこれから始めたいと思っている方の参考になればいいな。


目次

アクセスポイントを用意する

Wi-Fiは無線でインターネットに接続できる「無線LAN」の一つです。
駅とかカフェとかホテルとか、Wi-Fiの電波をとばしていてインターネットにつなげられる場所はたくさんありますよね。それをスマホやパソコンで受け取ってインターネットを利用できるわけです。
電波をとばす側を「アクセスポイント(AP)」といい、受け取る側を「クライアント」と呼びます。

Wi-Fiにつなげるためにはアクセスポイントが近くになければいけないので、アクセスポイントを用意します。身近に用意できるAP(アクセスポイント)の例は、
〇 家庭用無線LAN
〇 インターネットに有線でつながっているPC
〇 スマートフォン
などね。
私はパソコンをアクセスポイントにするやり方と、スマホをアクセスポイントにするやり方をやりました。

🎀パソコンをアクセスポイントにする方法

まず初めにやったのはインターネットに有線でつながっているパソコンをAPにする方法。このときはスマホをAPにできるって知らなかったの。
パソコンまではLANケーブルでインターネットがつながっているから、ここから無線でWi-Fiの電波を出す必要があるの。そこでこれを買いました。
f:id:miraluna:20190616190340j:plain:w300
無線LANを受信するための子機。
でも受信するだけではなくて、無線LANをとばしてアクセスポイントにすることもできる。
設定の方法などは子機の取扱説明書に従ってください。たいていは制御するための「ドライバ」をインストールして、初期設定をする流れだと思います。このエレコムさんの無線LAN子機もそうだった。それから「クライアント」と「アクセスポイント」のどちらとして使うかを選びました。今回はアクセスポイントとして使用しますね。
150Mbpsというのはあまり速くはない通信速度なんだと思う。きっと映像や画像の通信には向かないでしょうね。でもESP32とのやり取りは簡単なものだけだから、ゆっくりな通信で十分だと思うわ。

と、ここまで紹介してきて今更なんですが、私のパソコンには「モバイルホットスポット」という機能がもともと備わっていました。これはインターネットにつながっているパソコンをアクセスポイントにして他の機器と接続し、テザリングみたいに使えるもの、だそうです。それってつまり無線LAN子機を買わなくてももともとアクセスポイントにできたってことよね。でも試してみたらよくわからなくて、うまくつなぐことができなかったから無線LAN子機も無駄じゃなかったわ。

🎀 スマートフォンをアクセスポイントにする方法

私知らなかったの。スマホがアクセスポイントになるって。それもとっても簡単な設定で。
たいていのスマホにはAP設定があるみたい。設定の中に「テザリング」とか「ポータブルアクセスポイント」とかそんな名前でアクセスポイントをONとOFFにできるところがあると思う。それをONにするだけ。これでスマホがAPになるの。

SSID」と「パスワード」を知る(設定する)

Wi-Fiに接続するときに”SSID”と”パスワード”を入力ように求められますよね。これはWi-Fiにつなげるためのキーとなるもので、アクセスポイントごとに決められています。
ESP32Dからアクセスポイントに接続するときに必要となるものなので、用意したAPのSSIDとパスワードを知る必要があります。
〇 家庭用無線LANの場合
 無線LANルータに書いてあります。裏側とか。「パスワード」は「パスフレーズ」とか「ネットワークキー」とか、メーカーによって呼び方がちょっと違ったりすることもあります。
〇 無線LAN子機の場合
 ドライバをインストールした後の初期設定で、自分で決めることができます。エレコムさんのものは後から変えることもできました。
〇 スマートフォンの場合
 こちらも自分で決めることができます。「Wi-Fiアクセスポイントのセットアップ」に相当するような名前の項目があると思います。そこで決めたり変えたりできます。

SSID」と「パスワード」は忘れずにメモしておきましょう。

アクセスポイントのWi-Fiにつなぐ

さあ、いよいよWi-FiにESP32Dを接続しますよ。

スケッチの中に「SSID」と「パスワード」を書く

初めはテストも兼ねて、スケッチ例にあらかじめ用意されているスケッチプログラムを使おうと思います。
Arduino IDEを開いたら、「ツール」の「ボード」を"ESP32 Dev Module"に指定します。
もしまだボードにESP32を追加していなければ、こちら↓ の記事を参考にESP32を加えてください。
miraluna.hatenablog.com

Wi-Fiに接続するスケッチ例は接続の方法や用途によって何種類かあるみたい。
ボードで"ESP32 Dev Module"を選択していると「ファイル」の「スケッチ例」に"ESP32 Dev Module用のスケッチ例"という項目があって、そこの「WiFi」の中に「SimpleWiFiServer」というスケッチがあるの。これを使います。

スケッチの初めにこんなコードがあります。

#include //WiFiのためのライブラリ
const char* ssid = "〇〇〇〇"; //アクセスポイントのSSID
const char* password = "〇〇〇〇"; //アクセスポイントのパスワード
WiFiServer server(80);

「○○○○」のところはこれから接続するアクセスポイント独自のものなので、さっき調べた(設定した)APのSSIDとパスワードを入力します。

スケッチの書き換えは以上。
ESP32Dにスケッチを書き込みましょう。

アクセスポイント端末から「IPアドレス」に接続する

スケッチを書き込んだらArduino IDEのシリアルモニタを開いてみましょう。
書き込んだスケッチはシリアルモニタにWi-Fi通信がうまくいっているか、IPアドレスは何か、という情報を表示してくれます。
IPアドレス」というのは通信接続された機器(ここではESP32D)に割り振られた番号です。その都度変わったり変わらなかったりします。

IPアドレス接続手順】
1.アクセスポイントを接続可能な状態にします。スマホはAPをONにしてもしばらくすると勝手にOFFになったりします。
2.ESP32Dをシリアル通信でパソコンと接続したままArduino IDEのシリアルモニタを開きます。
3.ESP32Dのリセットボタンを押してプログラムを始動させます。
4.シリアルモニタにデータが表示されます。
  通信がうまくいけばデータの中に「IPアドレス」が示されています。
  例えば「http://192.168.155.3」のような感じ。これをメモします。
5.アクセスポイントにした端末(PCやスマホ)からインターネットブラウザにIPアドレスを入力して、ページを開きます。アクセスポイントにした端末から接続する、というところがポイントね。無線LANルータならルータと通信している端末からだと思います(試していないので確信はないです)。

うまく接続できたら開かれるページが...。

アクセスポイント端末から「ESP32D」を操作する

これです。
f:id:miraluna:20191015184038p:plain
このページにたどり着いたら大成功ね。
上の「here」という文字をクリックすると5番ピンがONになって、下の「here」をクリックするとOFFになる。
LEDをつないでいればブラウザのページからLEDをONOFFできるというわけ。

Wi-Fiに接続できました(∂. <🎀/

接続さえうまくいけば、あとはLED制御の部分のソースを書き換えるだけでいろいろなものをブラウザ上で操作できちゃう。
IoTというものね。
これからどんなものをESP32Dでコントロールしようかしら。

f:id:miraluna:20191015184112j:plain:w100 🎀ESP-WROOMの部屋へ🎀