ESP32のMicroPythonで無線LANに接続する方法
この記事では、ESP32とMicroPythonを使って無線LANに接続する方法を解説します。
この記事で学べること
- ESP32で無線LANに接続する方法
- MicroPythonのコード例
- 接続できたかの確認方法
ステップごとの解説
- 必要な部品を準備する
今回も前回、MicroPythonをインストールしたM5STACK社のM5StampS3を使います。
M5StampS3は、Amazon、スイッチサイエンス社、マルツエレック社などで購入することができます。 - M5StampS3にMicroPythonをインストールする
前回の記事を参考にMicroPythonをインストールします。 - M5StampS3をPCに接続する
M5StampS3とPCをUSBケーブルで接続します。接続できているか確認します。
ls -l /dev/tty.usbmodem*
crw-rw-rw- 1 root wheel 0x9000006 8 24 16:37 /dev/tty.usbmodem11401
- VSCodeで以前、作ったプロジェクトを選択する
VSCodeを起動して、以前、作ったプロジェクトを選択します。

- エディタで新しいファイルを作成する
左側のエクスプローラにて右クリックして、「新しいファイル」を選択します。ファイル名を入力する欄が表示されるので、今回は、電源ONになった時に自動で実行されるファイル名である「boot.py」としました。

- 下記コードをエディターで記入する
「boot.py」を選択すると、エディター画面が開くので、下記コードを記入して保存します。
import network
# WiFiのssid
ssid = "********"
# WiFiのパスワード
password = "********"
# WLANへ接続
station = network.WLAN(network.STA_IF)
if not station.isconnected():
print("connecting to network...")
station.active(True)
station.connect(ssid, password)
while station.isconnected() == False:
pass
print('Connection successful')
print("network config:", station.ifconfig())
- 「boot.py」を実行する
左のエクスプローラにて、「boot.py」を選択して、右クリックから、「Run current file on Pico」をクリックすると、REPL画面に下記のように、無線LANに接続したネットワーク情報がされます。
network config : (IPアドレス、サブネットマスク、ゲートウェイ、DNSサーバー)
MicroPython v1.26.1 on 2025-09-11; Generic ESP32S3 module with ESP32S3
Type "help()" for more information or .help for custom vREPL commands.
>>>
connecting to network...
Connection successful
network config: ('192.168.0.212', '255.255.255.0', '192.168.0.1', '192.168.0.1')
>>>
- インターネットに接続できているか確認する
「boot.py」を選択すると、エディター画面が開くので、下記コードを記入して保存します。
from time import sleep_ms, sleep
import network
import ntptime
import utime
import machine
# WiFiのssid
ssid = "********"
# WiFiのパスワード
password = "********"
# JST(日本標準時)はUTC+9時間
UTC_OFFSET = 9
# WLANへ接続
station = network.WLAN(network.STA_IF)
if not station.isconnected():
print("connecting to network...")
station.active(True)
station.connect(ssid, password)
while station.isconnected() == False:
pass
print('Connection successful')
print("network config:", station.ifconfig())
try:
# NTPサーバへの接続が完了するまで待つ
sleep_ms(1000)
ntptime.settime()
tm = utime.localtime(utime.mktime(utime.localtime()) + UTC_OFFSET*3600)
print(tm)
except OSError as e:
print('Failed to connect. Resetting...')
sleep(10)
machine.reset()
- 「boot.py」を実行する
左のエクスプローラにて、「boot.py」を選択して、右クリックから、「Run current file on Pico」をクリックすると、REPL画面に下記のように、無線LANに接続したネットワーク情報に続いて、NTPサーバからの日時情報が表示されます。
MicroPython v1.26.1 on 2025-09-11; Generic ESP32S3 module with ESP32S3
Type "help()" for more information or .help for custom vREPL commands.
>>>
connecting to network...
Connection successful
network config: ('192.168.0.212', '255.255.255.0', '192.168.0.1', '192.168.0.1')
(2025, 11, 29, 17, 37, 21, 5, 333)
>>>
まとめ
ESP32とMicroPythonを使えば、シンプルなコードで無線LANに接続できます。応用すればIoTデバイスに簡単に組み込めます。
