0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ラズパイPicoWを使用した簡易IoTシステム

0
Last updated at Posted at 2026-05-24

PicoIot

1. 概要

PicoIotは、Raspberry Pi Pico Wを使用した簡易IoTシステムです。各種センサ(GPIO入力、ADC電圧、BME280環境センサなど)から取得したデータを、Wi-FiやBLEを利用してPCやスマートフォンへ送信・表示することができます。※BME280を接続していなくても使用できます。

2. 成果物

ソースコード、バイナリ、マニュアルは以下のGitHubリポジトリで公開しています。
GitHub - shiomachisoft/PicoIot

開発環境・使用言語

  • ファームウェア(FW): C++ / Arduino IDE
  • 設定用のPCアプリ: C# / Visual Studio

3. 主な特徴

本システムには「Wi-Fiモード」と「BLEモード」の2つの通信モードがあり、用途に応じて以下の機能を活用できます。

Wi-Fiモード

  • Webブラウザでのデータ表示
    PCやスマートフォンのブラウザからアクセスし、データを閲覧できます。表示されるデータは5秒間隔で更新されます。
  • Eメール送信
    指定した間隔でのデータの「定期送信」や、センサ値がしきい値を超えた際の「アラート通知」を行います。
    • 注意
      Pico Wのファームウェアにはメール送信サーバーの機能は含まれていません。Eメール送信機能を利用する場合は、外部のSMTPサーバーにメールの送信を依頼する形となります。一般的なプロバイダのSMTPサーバーのほか、GmailのSMTPサーバーなども利用可能です。
  • TCPソケット通信
    Pico WがTCPサーバーとなり、JSON形式のデータを外部クライアント(Tera Termなど)に5秒間隔で送信します。

BLEモード

  • BLE通信でスマホなどにJSON形式のデータを5秒間隔で送信します。

4. 取得・送信可能なセンサデータ

  • Pico WのGPIO入力値(GP10〜15)
  • Pico WのADC値(ADC0, ADC1, ADC2、および内蔵温度センサ)
  • BME280のデータ(温度、湿度、気圧、不快指数、露点温度、絶対湿度、WBGTなど) ※BME280接続時のみ

5. セットアップと使用方法

※各手順や使い方の詳細については、マニュアルをご参照ください。

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

  • Pico WのBOOTSELボタン(白いボタン)を押しながらPCとUSB接続し、RPI-RP2ドライブを認識させます。
  • ドライブ内にファームウェア(PicoIot_XXXXXXXX.uf2)をドラッグ&ドロップします。

5.2 PCアプリ(PicoJigApp)による基本設定

  • Pico WをPCとUSB接続します。
  • Windows PC上で PicoJigApp.exe を起動し、下記の基本設定を行います。基本設定はFlashメモリに保存されます。
    • 基本設定: 通信モード(Wi-Fi/BLE)やWi-Fi設定(IPアドレス、サブネットマスク、ゲートウェイ、SSID、パスワード)
image

5.3 オプション設定(Wi-Fiモード時)

  • WebブラウザからPico WのIPアドレス(例: http://192.168.10.100)にアクセスします。
  • ブラウザ画面上の「Settings」ボタンを押すか、URLの末尾に /config を追加して設定画面に移行します。
  • 設定画面より、下記のオプション設定を行います。プション設定もFlashメモリに保存されます。
    • オプション設定: EメールのSMTPサーバー情報や送信間隔、アラートのしきい値など
image

6. FWのソースコードのカスタマイズ

6.1 センサデータのカスタマイズ

Webブラウザでの表示内容やEメールの本文などは、内部で生成されるセンサのJSONデータから動的に作成されています。そのため、ユーザーがFWのソースコード(センサデータを取得してJSONを作成する部分)を変更するだけで、容易に表示・送信するデータをカスタマイズできます。

カスタマイズを行う場合は、src フォルダ内の以下のソースファイルを編集して下さい。なお、FWのソースコードはArduino IDEを使用し、C++で記述されています。

  • Gpio.h
  • Gpio.cpp
  • Sensor2Json.h
  • Sensor2Json.cpp

6.2 アラート処理のカスタマイズ

センサデータがしきい値を超えた際の独自の処理を追加・変更したい場合は、同じく src フォルダ内の Alert.cpp を変更して下さい。

7. 免責事項

本記事の内容や本ソフトウェアの使用により生じた、いかなる損害やトラブルについても、作者は一切の責任を負いません。ご利用は自己責任でお願いいたします。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?