カテゴリー
Raspberry Pi

国内販売が開始された Raspberry Pi Pico W で ワイヤレス実験

国内の電波法に適合し、販売が開始された Raspberry Pi Pico W の無線LAN機能を使ってワイヤレス通信の実験をしてみました。

スイッチ・サイエンスやケイエスワイなどで、無線LANを搭載した Raspberry Pi Pico W の販売が開始されたので、さっそく入手してワイヤレス実験を行ってみました。

技適マーク

下の写真は、スイッチ・サイエンスで購入した Raspberry Pi Pico です。国内の電波法に適合する工事設計認証の番号が印刷されたシール(通称=技適マーク)が貼られていました。

スイッチ・サイエンスやケイエスワイなどで、無線LANを搭載した Raspberry Pi Pico の販売が開始された(写真はスイッチ・サイエンスから購入したもの)

ファームウェアの書き込み

はじめに、ファームウェアを書き込みます。

  1. Raspberry Pi Pico 基板上の BOOTSEL ボタンを押しながら PCのUSBに接続します。
  2. Thonny Python IDE を起動し、ウィンドウ右下のセレクタから「Install MicroPython」を選択します。
  3. MicroPython Variant で「 Raspberry Pi・Pico W / Pico WH 」を選択します。
  4. Install ボタンでインストールを開始します。
1. Raspberry Pi Pico 基板上の BOOTSEL ボタンを押しながら PCのUSBに接続し、
Thonny Python IDE を起動する
2. ウィンドウ右下のセレクタから「Install MicroPython」を選択する
3. MicroPython Variant で「 Raspberry Pi・Pico W / Pico WH 」を選択する

今回は、20230331-unstable-v1.19.1 にて動作確認を行いました。まだ Pico W に対応した安定版(stable)はリリースされていないようです。

サンプル・プログラム集

筆者が Raspberry Pi Pico W 用に作成したサンプル・プログラム集は下記に保存しました。

GitHub Pages:
https://git.bokunimo.com/pico/

GutHub:
https://github.com/bokunimowakaru/pico/tree/master/examples

μIoT 温度計 example03_temp_udp.py

温度値を10秒おきにUDPで送信するサンプル・プログラムです。Raspberry Pi Pico の RP2040 マイコン内の温度センサを使用するので、外付け部品無しで動作します。

プログラム example03_temp_udp.py:
https://github.com/bokunimowakaru/pico/blob/master/examples/example03_temp_udp.py

μIoT 温度計 example03_temp_udp.py:温度値を10秒おきにUDPで送信する。マイコン内の温度センサを使用するので、外付け部品が不要

μIoT 温湿度計 example04_hum_udp.py

温湿度センサ AE-SHT31 (秋月電子通商)を接続し、温度と湿度を10秒おきにUDPで送信します。

プログラム example04_hum_udp.py:
https://github.com/bokunimowakaru/pico/blob/master/examples/example04_hum_udp.py

センサ:
https://akizukidenshi.com/catalog/g/gK-12125/

μIoT 温湿度計 example04_hum_udp.py:温湿度センサ AE-SHT31 (秋月電子通商)を接続し、温度と湿度を10秒おきにUDPで送信する

μIoT LCD example05_lcd_udp.py

前述の μIoT 温度計 や μIoT 温湿度計 のセンサ値をUDPで受信してLCDへ表示します。

プログラム example05_lcd_udp.py:
https://github.com/bokunimowakaru/pico/blob/master/examples/example05_lcd_udp.py

LCD:
https://akizukidenshi.com/catalog/g/gM-09109/

μIoT LCD example05_lcd_udp.py: μIoT 温度計 や μIoT 温湿度計 のセンサ値をUDPで受信してLCDに表示する

Ping送信機能つきμIoT LCD example05_lcd_udp_pg.py

無線アクセスポイントによっては、一方向のUDP通信のパケットを破棄してしまうことがあります。末尾に_pgを付与した example05_lcd_udp_pg.py は、Pingを送信することで、無線アクセスポイントに双方向の通信の存在を知らせます。

また、下図は、右上の μIoT 温度計 が送信する温度センサ値を、左側の μIoT LCD で受信した時のようすです。2023年4月9日に2台目の Pico W を入手して撮影しました。

右上の μIoT 温度計 が送信する温度センサ値を、左側の μIoT LCD で受信する

μIoT 温度計 for Ambient example06_temp_ambi.py

アンビエントデータ社が運営するIoTセンサ用のクラウド・サービス Ambient (https://ambidata.io/) に温度センサ値を送信します。マイコン内の温度センサを使用するので、外付けセンサは不要です。

μIoT 温度計 for Ambient example06_temp_ambi.py:クラウド・サービス Ambient に温度センサ値を送信する

関連書籍

本稿の基となる MicroPython 用プログラムは、Pythonで作るIoTシステム プログラム・サンプル集 (CQ出版社)の第8章~第9章で解説しています。ただし、執筆時点で発売されていなかったRaspberry Pi Pico W については書かれていません

Pythonで作るIoTシステム プログラム・サンプル集
https://www.amazon.co.jp/dp/4789859894
第8章 STM32マイコン用 MicroPythonプログラム
第9章 ラズベリー・パイ Pico で BLEワイヤレス・センサを作る

by bokunimo.net

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

 - 
Chinese (Simplified)
 - 
zh-CN
Chinese (Traditional)
 - 
zh-TW
English
 - 
en
French
 - 
fr
German
 - 
de
Italian
 - 
it
Japanese
 - 
ja
Korean
 - 
ko
Russian
 - 
ru
Spanish
 - 
es