前回のあらすじ
突如電子工作に目覚めたあるけみーにアイデアが降ってくる。
本日のお品書き
- 届いたRaspberry PiにOSをインストールするよ
- mh_z19ライブラリインストールするよ
ラズパイ届く
妻に「それ何?」って聞かれたので、「ラズベリーパイだよ」と答えたら「お菓子じゃないじゃん」というテンプレ通りの会話をしたところで開封の儀。
想像していたよりもかなり小さい。
どれくらい小さいか、普段使ってるボールペンと比較してみた。(既にヒートシンクをつけたあとだが…)
一緒に買ったケースキット。
中身を色々みてみると、
ディスプレイと接続するためのコネクタ(HDMI↔︎TypeB)や、電源ケーブル(TypeC)、USBハブ(TypeB)など、絶妙に自宅になかったものたち。電源ケーブルはないこともないが、必要なもの+あったら嬉しいものが勢揃い。
というわけでヒートシンク(CPUの排熱用)とケースをつけたものがこちら。
さて、OSでもインストールするかーと思った矢先。重大な事に気づく。
「(あるはずの)microSDカードなくね?」
そんなわけ…と過去を思い返したが、
- Nintendo SwitchのSDカードを容量が大きいものにデータ移行する
- 元々使っていたSDカードを放置(←これがあると思っていた)
- 古いNintendo Switchを妹にあげる時、2.のSDカードも一緒に渡す(←この記憶が抹消されていた)
…というわけでこの日の作業は中断された。
後日
物理配線
CO2センサーが届いた。ということで接続するかーとは思ったものの、
基盤に書いてある文字の意味が分からない。TxとRxは送信受信ってことはわかるけど、他はよく分からん。
ということで色々調べてみる。
ラズパイ(Raspberry Pi)のGPIOを再確認! | Device Plus - デバプラ
MH-19Cのデータシートを発掘した。
https://www.winsen-sensor.com/d/files/infrared-gas-sensor/mh-z19c-pins-type-co2-manual-ver1_0.pdf
分からん。
Parts:Sensor:MH-Z19C - robot-jp wiki
とりあえず、
- Raspberry Pi(Tx)とMH-Z19C(Rx)
- Raspberry Pi(Rx)とMH-Z19C(Tx)
- Raspberry Pi(GND)とMH-Z19C(GND)
- Raspberry Pi(5V)とMH-Z19C(Vin)
で繋げば良さそう?
公式のページも参考につないでみた。
https://www.raspberrypi.com/documentation/computers/raspberry-pi.html
こんな感じ。どうでも良いけどケーブルがめっちゃ臭かった。
電源もつないでみると。。。
光った!少なくとも電源周りは良さそう。
とりあえず接続関係は一旦置いといて、OSのインストールへ。
OSインストール
microSDが届いた。
ラズパイにはデフォルトではOSが入っていない。なのでOSを入れる必要があるのだが、その際にmicroSDにOS Imageを入れて、それをラズパイに挿し起動する流れとなる。
下記に従ってやってみる。
https://projects.raspberrypi.org/ja-JP/projects/raspberry-pi-getting-started/3
まずはOSのダウンロードページに飛び、使ってるPCに応じたDLボタンを押す。今回はmacOS。
https://www.raspberrypi.com/software/
インストールした.dmgファイルをクリック。
例によってApplicationsフォルダへドラッグ。
その後、アプリケーションを起動。
デバイス:Raspberry Pi Zero W
OS:Recommendedがついているやつ。
ストレージ:microSDを選ぶ
Legacyって書いてあるのが気になったが、推奨されているから仕方がない。
microSDを挿したら選択できるようになる。
次へを押したらどうやら設定が編集できそうだったので、WiFi情報とか入れた。多分後から設定できるのでここは「いいえ」を選択しても問題なさそう。
書き込み中
完了!
起動してみる
モバイルディスプレイに繋いで起動すると、最初のトップ画面(OSの起動画面)は映るものの、そのあとでディスプレイの出力が止まってしまう。なぜだなぜだと思って色々調べてみたら、どうやらディスプレイによってはうまく出力されないようだ。
というわけで普段テレワークで使ってるディスプレイに切り替えてみた。
映った!
画面の指示に従って必要情報を入力していく。
最後にソフトウェアアップデートも完了したら(結構時間かかった)再起動。
できた!
ライブラリインストール
このままラズパイのGUIでもできるが、作業が色々面倒になりそうなのでSSH接続できるようにした。
GUIからは設定>Raspberry Piの設定>インターフェースのところからSSHを有効にする。コマンドでもできるので要チェック。
下記を参考にしている。
その後SSHができることを確認
> ssh xxxxxxxxx@raspberrypi.local
xxxxxxxxx@raspberrypi.local's password:
Linux raspberrypi 6.1.21+ #1642 Mon Apr 3 17:19:14 BST 2023 armv6lThe programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Apr 4 22:42:06 2024
xxxxxxxxx@raspberrypi:~ $
xxxxxxxxxは自身で設定したユーザ名を入力する。
それでは下記GitHub等を参考に作業を進める。
xxxxxxxx@raspberrypi:~ $ git clone https://github.com/UedaTakeyuki/mh-z19.git
まずはgit clone(gitもデフォルトで入ってるんだ)
xxxxxxx@raspberrypi:~ $ cd mh-z19/
xxxxxxx@raspberrypi:~/mh-z19 $ ./setup.sh
その後setupスクリプトを実行。再起動を促されるので再起動する。
スクリプトの中身をみると、シリアル通信が有効化されるっぽい。
xxxxxxx@raspberrypi:~ $ sudo pip3 install mh_z19
mh_z19のライブラリをインストール。
xxxxxxx@raspberrypi:~ $ sudo python3 -m mh_z19
{"co2": 2021}
値がとれた!
けど、ありえんくらい値高くない????(とりあえず窓開けた)
今回の進捗報告
- 配線完了
- Raspberry PiにOS入れて起動確認
- mh_z19ライブラリを入れてセンサーの値が取れることを確認