あるけみーの小屋

趣味の話とか色々

Raspberry Pi工作日記②~導入編~

前回のあらすじ

突如電子工作に目覚めたあるけみーにアイデアが降ってくる。

fieldpaddy.hatenablog.com

 

本日のお品書き

  • 届いたRaspberry PiにOSをインストールするよ
  • mh_z19ライブラリインストールするよ

ラズパイ届く

妻に「それ何?」って聞かれたので、「ラズベリーパイだよ」と答えたら「お菓子じゃないじゃん」というテンプレ通りの会話をしたところで開封の儀。

想像していたよりもかなり小さい。

 

 

どれくらい小さいか、普段使ってるボールペンと比較してみた。(既にヒートシンクをつけたあとだが…)

 

一緒に買ったケースキット。

中身を色々みてみると、

ディスプレイと接続するためのコネクタ(HDMI↔︎TypeB)や、電源ケーブル(TypeC)、USBハブ(TypeB)など、絶妙に自宅になかったものたち。電源ケーブルはないこともないが、必要なもの+あったら嬉しいものが勢揃い。

というわけでヒートシンク(CPUの排熱用)とケースをつけたものがこちら。

 

さて、OSでもインストールするかーと思った矢先。重大な事に気づく。

 

「(あるはずの)microSDカードなくね?」

 

そんなわけ…と過去を思い返したが、

 

  1. Nintendo SwitchのSDカードを容量が大きいものにデータ移行する
  2. 元々使っていたSDカードを放置(←これがあると思っていた)
  3. 古い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

 

pypi.org

 

とりあえず、

で繋げば良さそう?

 

公式のページも参考につないでみた。

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ができることを確認

> ssh xxxxxxxxx@raspberrypi.local                                                                                    
xxxxxxxxx@raspberrypi.local's password: 
Linux raspberrypi 6.1.21+ #1642 Mon Apr  3 17:19:14 BST 2023 armv6l

The 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等を参考に作業を進める。

github.com

 

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ライブラリを入れてセンサーの値が取れることを確認

次回の作業予定

  • AWSアカウント作成(今回やろうと思ったけど、OSインストールに時間かかったから次回)
  • センサーからAWSにセンサーデータを送れるようにする