Skip to content

kenkenpa198/modane-co2-watcher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Modane CO2 Watcher

もだねちゃんCO2濃度計の写真

1. 概要

Raspberry Pi で動作するもだねちゃんの二酸化炭素濃度計です🌸
C 言語と Linux の練習で制作しました。

  • 周辺の CO2 濃度を 10 分毎に取得し、グラフとして表示します。
    • グラフは 20 時間前まで、10 時間前まで、3 時間前まで の 3 つの表示を切り替えられます。
  • 取得した CO2 濃度は /logs/co2_conces.csv へログとして蓄積されます。
    • このログファイルは約 30 日分の記録を保存し、制限に達したらログファイルをローテートします。
    • ログファイルは最大 12 ファイル分を保持します。
  • 現在の日時や天気を一定間隔毎に表示します。
    • 天気を取得する場所は環境変数で指定できます。
  • もだねちゃんの表情がコロコロ変わります。
  • シェルのウィンドウ幅に応じてレスポンシブに描画します。

2. ハードウェア

  • Raspberry Pi 4 Model B
  • MH-Z19B
  • ELECROW RC050S

3. ソフトウェア

3.1. OS

  • Raspberry Pi OS (64-bit)

3.2. 言語

  • C
  • Python

3.3. その他

  • 画像は Raspberry Pi の LXTerminal 上で実行しています。
  • 等幅フォントでの表示が必要です。画像のフォントは HackGenNerd Console を使用しています。

4. 環境構築・実行方法

※ プログラムのダウンロード・実行は自己責任でお願いします。

4.1. ハードウェアの構築

先に 7.1.3. CO2 濃度の測定 を参考に、MH-Z19B センサーのセットアップを行っておきます。

4.2. ソフトウェアの構築・実行

下記のコマンドを順に実行します。

# apt パッケージリストの取得・既存パッケージの更新
$ sudo apt update && sudo apt upgrade -y

# curses ライブラリのインストール
$ sudo apt install -y libncurses5-dev

# pip3 のインストール
$ sudo apt install -y python3-pip

# mh_z19 モジュールのインストール
$ sudo pip3 install mh_z19

# 天気表示用のロケール設定 ※値は半角 159 文字以下で設定してください
$ export WTTR_LOCALE="Tokyo"

# リポジトリのクローン
$ git clone https://github.com/kenkenpa198/modane-co2-watcher.git

# リポジトリへ移動
$ cd modane-co2-watcher

# コンパイル
$ gcc ModaneCO2Watcher.c -lncursesw -o ModaneCO2Watcher.out

# 実行
$ ./ModaneCO2Watcher.out

WTTR_LOCALE 環境変数は .bashrc などに記述して永続化しておくとよいです。
お好みでシェルのフォントサイズの調整や autostart 等の設定も。

5. 使用ソフトウェア

6. 参考文献

6.1. Raspberry Pi

6.1.1. セットアップ

6.1.2. 設定

6.1.3. CO2 濃度の測定

6.2. C 言語

6.2.1. 画面描画

6.2.2. 配列・メモリ操作

6.2.3. その他

6.3. ログローテーション

6.4. 天気情報の取得

6.5. アスキーアート

About

もだねちゃんの二酸化炭素濃度計

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published