ESP32 ネットワーク接続
今回はESP32をWi-Fi接続してみました。
Wi-Fi接続は結構簡単で、MicroPython DocのESP32用クイックリファレンスhttps://micropython-docs-ja.readthedocs.io/ja/latest/esp32/quickref.htmlに詳しく書かれています。今回はこれをそっくり踏襲します。
まずはTera Term上でコマンドでの反応を見ます。
1 2 3 4 5 6 7 8 9 10 |
>>> wlan = network.WLAN(network.STA_IF) #Wi-Fiをステーションモードにします >>> wlan.active(True) #アクティブ化確認します True >>> wlan.connect('essid','password') #essidにはつなぐWi-Fiのessidを、passwordにはパスワードを入れます >>> print('network config:',wlan.ifconfig()) #Wi-Fi接続のコンフィギュレーションをプリントします、ipアドレス、サブネット、ゲートウェイアドレス、DNSアドレス network config: ('192.168.11.25', '255.255.255.0', '192.168.11.1', '192.168.11.1') >>> >>> wlan.scan() #Wi-Fiの電波のスキャンをします [(b'Buffalo-G-****', b'4=\xc4\xc3\x17\x98', 11, -41, 3, False), (b'rs500m-e17ec9-1', b'\x10KF\xe1~\xcc', 6, -67, 3, False), (b'rs500m-e17ec9-2', b'\x12KF\xe1~\xcc', 6, -69, 3, False), (b'TOBU_Free_Wi-Fi', b'\x00\x14\x06(\x191', 1, -84, 0, False), (b'aterm-36fa28-g', b'\x10f\x82M\xd2\x08', 8, -85, 4, False), (b'SPWH_H33_129E8B', b'0\xa1\xfa\x12\x9e\x8b', 2, -86, 4, False)] >>> |
これで、Wi-Fiへの接続ができることを確認しました。実際のプログラムではクイックリファレンスにあるように、関数で定義して、つなげばオッケーです。
1 2 3 4 5 6 7 8 9 10 11 12 |
def do_connect(): import network wlan = network.WLAN(network.STA_IF) wlan.active(True) if not wlan.isconnected(): print('connecting to network...') wlan.connect('essid', 'password') while not wlan.isconnected(): pass print('network config:', wlan.ifconfig()) do_connect() |
ampyを使用してプログラムを走らせると、以下のような結果になります。
1 2 3 |
C:\Users\>ampy -p com4 run c:\micropython\wifitest.py connecting to network... network config: ('192.168.11.25', '255.255.255.0', '192.168.11.1', '192.168.11.1') |