Pico W IoTドアセンサー(リードスイッチ)
ドアや窓が開けっぱなしになっていませんか?どこにいてもスマホで確かめられます。このプロジェクトは、アプリのIoTテンプレートドア / 窓の手順ガイドです。Raspberry Pi Pico W、リードスイッチ、小さな磁石を2本の線でつないで組み立てます。マイ工房 › デバイス › デバイスを追加で、ボードにPico W、テンプレートにドア / 窓を選ぶと、Ohmiがあなたのデバイスキーでコードを用意します。このページのコードは見本で、キーとWi-Fi情報は仮の値です。

このデバイスをアプリから操作しよう
ESP32 または Raspberry Pi Pico W を Wi-Fi につなげば、スマホからオン/オフでき、計測値をリアルタイムで見られます。コードは Ohmi が用意するので、Wi-Fi 情報を入力して書き込むだけです。
アプリのテンプレート:ドア / 窓
- アプリのどこにある?ツールタブ、またはマイ工房 › デバイスから新しいデバイスを追加し、このテンプレートを選びます。
- Arduino ライブラリArduino IDE でライブラリマネージャを開き、BlueGraysIoT を検索してインストールします。
無料プランは 1 デバイス、1 グラフ、24 時間の履歴。プレミアムならデバイスとグラフを増やし、履歴も長く残せます。
回路図

ソースコード
1// ─────────────────────────────────────────
2// BlueGrays · bluegrays.com
3// Pico W IoTドアセンサー(リードスイッチ)
4// ─────────────────────────────────────────
5// BlueGraysアプリのIoTテンプレート「ドア /
6// 窓」です。リードスイッチと磁石で、ドアや窓が開いているか閉まっているかをスマホで確認できます。本物のコードは、アプリの中でOhmiがあなたのデバイスキーを使って用意します(マイ工房›デバイス›デバイスを追加)。ここにあるコードは見本で、デバイスキーとWi-Fi情報は仮の値です。ボードパッケージ:Raspberry
7// Pi Pico(Earle
8// Philhower)。ライブラリマネージャ:BlueGraysIoT(依存ライブラリも一緒に)。ボードは2.4GHzのWi-Fiにだけつながります。磁石が近いとリードスイッチが閉じ、ドアは閉まっているとみなされます。
9//
10// ピン:
11// GP14 -> リードスイッチの片方の足
12// GND -> リードスイッチのもう片方の足
13// ESP32:リード GPIO27
14
15/*
16 * ドア / 窓 · BlueGrays IoT
17 * BlueGrays · bluegrays.com
18 * このコードは共有しないでください。デバイスキーとWi-Fiのパスワードが含まれています。
19 */
20
21#include <BlueGraysIoT.h>
22
23const char *DEVICE_KEY = "デバイスキー";
24const char *WIFI_NAME = "Wi-Fiの名前";
25const char *WIFI_PASSWORD = "Wi-Fiのパスワード";
26
27BlueGraysIoT bg(DEVICE_KEY);
28
29const int REED_PIN = 14;
30bool lastRaw = false, stableOpen = false;
31unsigned long changedAtMs = 0;
32
33void setup() {
34 Serial.begin(115200);
35 pinMode(REED_PIN, INPUT_PULLUP);
36 bg.setDebug(Serial);
37 bg.setLanguage(BG_LANG_EN);
38 bg.begin(WIFI_NAME, WIFI_PASSWORD);
39}
40
41void loop() {
42 bg.loop(); // ここで長いdelay()は使わないでください
43 bool raw = digitalRead(REED_PIN) == HIGH;
44 if (raw != lastRaw) { lastRaw = raw; changedAtMs = millis(); }
45 if (millis() - changedAtMs > 50) stableOpen = raw;
46 bg.send("kapi", stableOpen ? "acik" : "kapali");
47}
48よくある質問
このページのコードをそのままボードに書き込めますか?
書き込めますが、接続はできません。コードの中のデバイスキーとWi-Fi情報は仮の値です。アプリでマイ工房 › デバイス › デバイスを追加を開き、ボードにPico W、テンプレートにドア / 窓を選ぶと、Ohmiがあなたのキー、ネットワーク名、パスワードでコードを用意します。そのコードをコピーして書き込みましょう。コード全体はあとからデバイス › コードとキーでも見られます。
Pico Wへの書き込み方は?MicroPythonですか?
このプロジェクトはMicroPythonではなく、Arduino C++で動きます。Arduino IDEのボードマネージャで「pico」(Raspberry Pi Pico/RP2040、Earle Philhower)パッケージをインストールし、ツール › ボードでRaspberry Pi Pico Wを選びます。はじめての書き込みのときやポートが出てこないときは、BOOTSELボタンを押したままUSBケーブルをさしてください。Arduino IDEがボードをドライブとして認識し、書き込みます。ライブラリマネージャでBlueGraysIoTを依存ライブラリと一緒にインストールします。
リードスイッチと磁石はどうつければいいですか?
リードスイッチをドアの枠に、磁石をドアが閉まったときにちょうど向かい合う位置のドアに、両面テープでつけるか、ねじでとめます。すき間は1 cmより小さくしてください。磁石が近いとリードスイッチが閉じて「閉じている」、ドアが開いて磁石が離れると「開いている」になります。リードスイッチの2本の足に極性はないので、どちらをGP14につないでもかまいません。線をのばすなら細い2芯のケーブルで十分です。ガラスのリードスイッチは割れやすいので、本体のすぐそばで足を曲げないでください。
ESP32でも使えますか?
使えます。デバイスを追加するときにボードとしてESP32を選んでください。コードは同じで、ピンだけが変わります。リードスイッチの片方の足はGPIO27、もう片方はGNDです。Arduino IDEのボードマネージャで「esp32」パッケージをインストールします。このページの回路と写真はPico Wで作りました。
