Raspberry Pi Pico W には、無印Picoにはない Wi-Fiチップ(CYW43439) が搭載されています。
これにより、IoTデバイスとしてインターネットやLANに直接接続できるようになります。
センサーのデータをクラウドに送ったり、メール通知をしたり、スマホから制御する仕組みが作れるのです。
1. Pico WのWi-Fi機能
- Pico Wだけの特徴:CYW43439 Wi-Fiチップ搭載
- できること:
- IoTデバイスとしてインターネット接続
- データのクラウド送信
- メール通知
- スマホ・PCからの遠隔制御
2. 接続準備
- 必須:
- Raspberry Pi Pico W
- Wi-Fi環境(2.4GHz帯のみ対応、5GHzは不可)
- SSID・パスワード
- セキュリティ対策:
secrets.py
にまとめて管理(SSID・パスワード)- Thonny IDE を使うと簡単に保存可能
3. Thonny IDEでの secrets.py 作成方法
- Thonnyを起動し、左上の 「ファイル」→「新規」 を選択
- 次の内容を入力:
# secrets.py
SSID = "your_wifi_name"
PASSWORD = "your_wifi_password"
- 保存先をPico W本体に設定
- 「ファイル」→「名前を付けて保存」
- 保存先:Raspberry Pi Pico
- ファイル名:
secrets.py
- 保存すると Pico W 内にファイルが作られ、他のプログラムから
import secrets
で読み込める
💡 ポイント:
- SSID・パスワードは必ず secrets.py にまとめる
- GitHubなどにアップロードする際も情報漏洩を防げる
4. networkモジュール
MicroPython には network
というWi-Fi制御用モジュールがあります。
- STA(Station)モード → 家庭用Wi-Fiルーターに接続する(一般的な使い方)
- AP(Access Point)モード → Pico WがWi-Fiルーター代わりになる(スマホと直結)
ここではSTAモードを使います。
5. サンプルコード(STAモード)
import network
import time
import secrets # SSIDとパスワードを保存したファイル
# Wi-Fi接続処理
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
wlan.connect(secrets.SSID, secrets.PASSWORD)
print("Wi-Fi接続中...")
# 接続完了待ち
max_wait = 10
while max_wait > 0:
if wlan.isconnected():
break
print("接続待ち...")
time.sleep(1)
max_wait -= 1
# 接続結果確認
if wlan.isconnected():
print("接続成功!")
print("IPアドレス:", wlan.ifconfig())
else:
print("接続失敗...")
6. 実行結果例
Wi-Fi接続中...
接続待ち...
接続成功!
IPアドレス: ('192.168.1.23', '255.255.255.0', '192.168.1.1', '8.8.8.8')
- IPアドレス:Pico Wに割り当てられたアドレス
- サブネットマスク:ネットワーク範囲
- デフォルトゲートウェイ:ルーター
- DNSサーバ:ドメイン名解決用(例:Google)
7. ポイント
- IoTの第一歩:クラウドにデータ送信可能
- ネットワーク理解:IP・ゲートウェイ・DNSの確認
- 次の応用:
- HTTPリクエストでデータ取得
- センサー情報のクラウド送信
- メール送信やMQTT通信
💡 補足Tips
- 接続に失敗した場合は、SSID・パスワードの再確認、2.4GHzかどうかチェック
- 長時間接続する場合は、再接続処理を組み込むと安定
コメント