この記事では、RaspberryPi3でミニ百葉箱を作成する方法をソースコード付きでまとめました。
ミニ百葉箱
RaspberryPi 3では、温度センサーなどのセンサを繋いで簡単な気象観測ができます。
今回は、以下のような処理を行うミニ百葉箱を作ってみました。
【ラズベリーパイ3側】
順 | 処理内容 |
---|---|
① | ラズベリーパイ3と各種センサーを用いて、「気温」「湿度」「大気圧」「空気中のPM2.5の濃度」を観測 |
② | 観測したデータを1時間毎にCSVファイル(data.csv)に記録 |
③ | data.csvを1時間毎にインターネット上のサーバーにFTPでアップロード |
【Webページ側】
順 | 処理内容 |
---|---|
① | JavascriptでアップロードされたCSVファイル(data.csv)を読み込みます。 |
② | 読み込んだデータのうち、今日と昨日の24時間分のデータをグラフ化します。 |
回路図・構成部品
回路図と構成部品です。
【回路図】
準備中
【構成部品】
・ラズベリーパイ3 ×1
・GROVE – ダストセンサ×1
・ブレッドボード ×1
・ジャンパーワイヤ 数本
ソースコード
サンプルプログラムのソースコードです。
<
h3>ラズベリーパイ側
Python3スクリプト:main.py
CSVファイル:data.csv
■補足
上記のCSVファイルは2017年分の日時と各値の初期値(0)を1時間毎に記述したものです。
今回は、1時間毎にファイルを開いて該当する日時の箇所に値を書き込んでいきます。
CSVファイルは以下の記事にあるプログラムで最初に作成しました。
【ラズベリーパイ3】ミニ百葉箱用のCSVファイル作成
<
h3>Webページ側
HTML:index.html
CSS:style.css
Javascript:main.js
実行結果
サンプルプログラムの実行結果です。
準備中
【今後の予定】
今後は以下のセンサーも追加して観測項目を増やす予定です。
・雷センサー
・雨量センサー
・風量センサー
・風向センサー
・日照センサー
・画像センサー(Webカメラ)
【関連記事】
■ラズベリーパイ3
【ラズベリーパイ3】BME280で気温・湿度・大気圧の測定
【ラズベリーパイ3】ダストセンサーでPM2.5測定
【Python】FTPでサーバーにファイルをアップロード
【Python】CSVファイル処理
ラズベリーパイ3で電子工作入門
■Webページ
【Chart.js】CSVの時系列データをグラフ化
コメント