こんにちは。いよいよ寒くなってきましたね。
北海道はもう初雪が降って、暖房なしでは生きていけないくらいに冷えてきています🥶
冬を温かく過ごすため、思いついたモノを作っていく過程を記事にしていきます。
1. 開発の動機
我が家は石油ストーブで寒い冬を越すのですが、やはり怖いのは一酸化炭素中毒です。
こまめに換気をしなければならないのですが、窓を開けたら寒いし、定期的な換気とか面倒だし・・
そうだ、換気のサインを教えてくれるものがあれば、換気の頻度を最低限に抑えられるのでは?
一酸化炭素濃度を計測できるものや一定以上になったら警報が鳴るような商品はいろいろありますが、テレワークなこともあり、MTG中に警報音がなるのはイヤですよねw
ヤバくなる前に「そろそろ換気しなさい」と通知してくれれば、MTG終了後に余裕をもって窓を開けたりもできるわけです。
そういうワガママに対応した商品は、探してみた感じでは見つかりませんでした。。。
なら仕方ない。自分で作ってみようか。
前々から初めてのラズパイで何か作れないかと思っていたのですが、絶好の機会ですね!
2. ざっくり構成の検討
初めてのラズパイで、何ができるのかすらよく分かってないので、こんな感じのモノを用意できればいいかなという感じです。
- ハード面
- ラズパイ
- COセンサー
- 閾値以上で外部へ通信(APIを叩ける)できるようにしたい
- ソフト面
- ラズパイへのロジック:CO濃度を計測、閾値以上でLINE通知APIを叩く
- LINE通知の仕組み構築(AWS API Gateway + Lambda)
3. 実際に買ったもの
いろいろググったりChatGPTさんに相談したりして、最終的に下記を購入しました。
知識がなさすぎて合ってるのかはわかりませんが、不要だったら勉強代だと思うことにしますw
- ラズパイ Pico W
- Picoはラズパイシリーズで一番小さい
- WはWifi接続可能。まさしくこれだ!!
- MQ-7 一酸化炭素検出センサー
- 一酸化炭素のセンサーは「MQ-7」というものだそうです。
- ブレッドボード
- たくさん空いてる穴にピンを刺して、回路をつなげるらしい。
- ジャンパーワイヤー
- ラズパイやセンサー等をつなげる回路
- 色によって種類が違ったりするのだろうか?
- 単純に分かりやすくするためのようで、色を変えたら動かなくなるとかはないようです。
- こんなに要らないけど、安いし他にも作りたいものができたとき用ってことで!
- 7セグメント LED
- 空気中のCO濃度を表示できると面白そう
- 抵抗器セット
- 何かと使うらしいが、こんなに必要なのか??
- こちらも安いし、他にも作りたいものができるかもだしOK
ラズパイは思ったより安いんですね!Picoでないタイプは1万円は余裕で超えるので、少しためらったりしてました。
4. ラズパイの環境構築
ラズパイの開発環境を構築していきます。
4-1. 公式サイトよりUF2ファームウェアをダウンロード
4-2. BOOTSELボタンを押しながらUSB接続
4-3. エクスプローラが開くことを確認し、ダウンロードしたファームウェアをコピー
※自分の場合は F:\RPI_PICO_W-20241025-v1.24.0.uf2
PC起動時やソースコードをラズパイに書き込む際は毎度必要な操作です。ファームウェアを毎度ダウンロードするのも手間なので、消さずに残しておきましょう。
4-4. VSCodeにMicroPicoをインストール
左下にいろいろ出てくることを確認。Pico Connectedになってることが大事。
5. ラズパイを動かしてみる
無事接続できることを確認したら、次は実際にラズパイを動かしてみます。
といっても、単体ではほぼ何もできないようなので、とりあえずLEDランプをチカチカさせてみます。
プログラミング言語はC/C++またはMicroPythonとのことです。自分はMicroPythonを選択しました。
MicroPythonとは、低スペック用の最小限で軽量なPythonらしいです。基本的な書き方はサポートされてるはずなので、十分かと思います。
from machine import Pin
import utime as time
led = Pin('LED', Pin.OUT)
while True:
time.sleep(0.2)
led.off()
time.sleep(0.2)
led.on()
Run!!
おぉ、、点滅した!!
初めてなので、これだけでもテンションが上がりますw
最後に
今回は一酸化炭素の警報装置を作るために購入したモノの紹介と、ラズパイの簡単なサンプルを動かしてみました。
次回はWi-Fiへの接続を試してみます。
参考
Raspberry Pi Pico W の LED を VS Code を使って、点滅させてみた。
投稿者プロフィール
-
学んだことをアウトプットしていきます!
好きなこと:音楽鑑賞🎵 / ドライブ🚗 / サウナ🧖
最新の投稿
- 【LINE】2024年11月24日【LINE】Notify APIからMessaging APIへ移行する②
- 【LINE】2024年11月17日【LINE】Notify APIからMessaging APIへ移行する①
- 【RaspberryPi】2024年11月10日【RaspberryPi】一酸化炭素濃度の警報装置を作ってみた①
- 【Next.js】2024年8月10日【Next.js】ローカル環境をSSL化してみる