WiFi(無線LAN)搭載Raspberry Pi Pico Wレビュー

ラズベリーパイPico Wの購入から使用までをまとめたレビュー記事です。Pico Wのスペックなどは Raspberry Pi Pico Wとは をごらんください。
購入
イギリスのRaspberry Pi Storeで
ラズベリーパイPico Wは、発表された時点では日本国内では技適未取得のためまだ販売が開始されていませんでした。そこで2021年7月19日イギリスのケンブリッジにある公式のラズパイストア(Raspberry Pi Store)に行ってPico Wを買ってきました。値段は1個6ポンド、日本円で970円ぐらいです。
購入個数の制限がなく、リールで買うことができました。在庫はたくさんありました。
なお、2022年10月7日に技適が取得され、日本では2023年3月27日に販売が開始されました(スイッチサイエンス(1,210円)、KSY(1,100円))。
海外オンライン通販で
PimoroniやDigi-Keyなどの海外通販でもラズベリーパイPico Wは購入可能です。
まずはLチカをやってみる
ファームウェアの書き込み
購入したばかりのラズベリーパイPico Wボードはまっさらな状態ですので、まずはMicroPythonファームウェアを書き込みます。ファームウェアは https://micropython.org/download/rp2-pico-w/ のFirmwareのセクションからダウンロードできます。無線が搭載されていないPico用のファームウェアと違うので注意しましょう。
BOOTSELボタンを長押ししてPCにPico Wボードをつなぐと、RPI-RP2というUSBのマスストレージデバイス(USBドライブ)として認識されます。そこに.uf2ファイルをドラッグ&ドロップします。
ThonnyでHello Worldが動くの確認しておきます。
Lチカ
Thonny上部のメニューから Tools → Mange Packages… をクリックしてpicozeroライブラリーをインストールしておきます。
以下のLチカプログラムを書き込んでみます。
from picozero import pico_led from time import sleep while True: pico_led.on() sleep(1) pico_led.off() sleep(1)
問題なくLチカできました😊
ネットワークLチカ
普通のLチカではPicoでもできるので、Pico WならではのネットワークLチカをやってみます。Pico Wの公式チュートリアルにやり方が載っていますが、以下のようなMicroPythonコードでWi-Fiに接続できました。
import network import socket from time import sleep from picozero import pico_temp_sensor, pico_led import machine ssid = 'RASPI-SCHOOL' password = 'i-wanna-eat-raspberry-pie' def connect(): #Connect to WLAN wlan = network.WLAN(network.STA_IF) wlan.active(True) wlan.connect(ssid, password) while wlan.isconnected() == False: print('Waiting for connection...') sleep(1) print(wlan.ifconfig()) try: connect() except KeyboardInterrupt: machine.reset()
チュートリアルのプログラムを少し変更しましたが、同じネットワークにつながったMacからラズベリーパイPico WのIPアドレスにアクセスするとWebサーバーがちゃんと立ち上がっていてHTMLファイルが表示され、ONボタンを押すとLEDが点灯、OFFボタンをクリックすると消灯しました。
いろいろやってみる
プラレールをスマホから操作できるように改造
Lチカだけでは面白くないので、プラレールをラズベリーパイPico Wでハイテク化してみることにしてみました。
やり方はそこまで難しくなく、
・プラレールのモーターにそこそこ電流を流せるフォトカプラを接続
・フォトカプラをPico Wから5段階でPWM制御
・ネットワークLチカの応用で1,2,3,4,5ボタンとPWMを連動
・VBUS&GND使ってPico Wを電池2本で動くようにする
すればOKでした。動画もぜひごらんください。
シグナルタワーをネットワーク経由で操作
シグナルタワー(積層信号灯)も同じようにフォトカプラでネットワーク経由で光らせられるようにしてみました。Pico Wが1,000円、フォトカプラが100円なので、格安工場DIY IoTなどにおすすめかもしれません。
扇風機をスマホから操作できるように改造
AC100Vの扇風機も同じように改造してみました。AC100Vの制御は秋月のSSRユニットを使いました。
AWS IoT Coreに接続してLambdaからLチカ
Pico WをローカルネットワークにつないでローカルのMQTTサーバーにつなぐのもいいのですが、AWS IoT Coreにも接続できるようなのでやってみました。SiriからセキュアにAPI Gatewayを経由してLambdaを叩いてLチカしています。これができれば何でもできちゃいますね。
AWS IoT Coreにつなぐまでのやり方は Connecting Raspberry Pico W to AWS IoT に詳しく載っています。

hackster.ioより
ピンヘッダーのはんだ付け
Pico WをLチカするだけならオンボードのLEDが使えるのでピンヘッダーはいらないのですが、センサーやサーボモーターなどをつないで普通に使う場合はヘッダーピンのはんだ付けが必要です。はんだ付けが終わるとRP2040上のラズパイロゴが薄くなってしまいました(なんでだろう?)

ヘッダーピンをはんだ付けしたRaspberry Pi Pico W
おわりに
これまでWiFi/Bluetooh搭載マイコンといえばESP32だった気がします。そこにRaspberry Pi Pico Wが出てきて、MicroPythonでちゃちゃっと書いてコンパイルすることなくすぐ実行できて、ローカルでWebサーバー立ち上げたり、AWS IoT Coreにセキュアにつないだり、色々できたことにとても感動しました。
思えば2017年初め頃にESP32が日本で販売開始され、当時はESP-WROOM-32というモジュールしかなく、1.27mmピッチのはんだ付けをこなすか自作基板に乗っけて、ソフト側はESP-IDFを使う、のような感じだったと思います。
それが5年経って、ヘッダーピンをハンダづけしてもしなくても動いて、PCにESP-IDFのようなものを入れる必要もなく、ファームウェアがドラッグ&ドロップで書き込めて、MicroPythonですぐプログラミングして動かせるPico Wは、夢のようなデバイスだと感じました。