Time,Living,Bed,PC
00:00:00,30.04,28.45,27.81
00:01:00,30.05,28.35,27.84
ローカル時刻のみの表記から、
Time,Living,Bed,PC,Wa
2024-04-05T00:00:00+09:00,22.70,20.85,20.13,20.82
2024-04-05T00:01:00+09:00,22.72,20.89,20.14,20.85
ISO 8601表記に変更しました。理由はGrafanaにあります。
gettemp7.sh
#!/bin/bash
#clear
PastDay=`date +%Y%m%d --date '1 day ago'`
PastDay2=`date +%Y%m%d --date '2 day ago'`
PastTime="11:59:59"
while true
do
PresentTime=`date +%H:%M:%S`
if [ $PastTime != $PresentTime ]; then
if expr "$PresentTime" : '..:..:00' > /dev/null; then
PresentDay=`date +%Y%m%d`
PresentDay2=`date +%Y-%m-%d `
if [ $PastDay != $PresentDay ]; then
if [ ! -e temp/temp$PresentDay.csv ]; then
if [ ! -e temp$PresentDay.csv ]; then
echo "Time,Living,Bed,PC,Wa" > 'temp/temp'$PresentDay'.csv'
cp temp/temp$PastDay.csv .
# ./csv2chart.pl . 'temp'$PastDay > $PastDay'.html'
# ./csv2chart.pl . 'temp'$PastDay2 > $PastDay2'.html'
# ./csv2chart_w.pl . 'temp'$PastDay > $PastDay'.w.html'
else
cp temp$PresentDay.csv temp
fi
fi
PastDay2=$PastDay
PastDay=$PresentDay
cp *.html /var/www/html/temp
fi
echo ${PresentDay2}"T"${PresentTime}"+09:00" > temp/temp.csv
echo "," >> temp/temp.csv
sshpass -p raspberry ssh pi@192.168.1.201 'RaspberryPi/I2C/mpu_6050_3' >> temp/temp.csv
echo "," >> temp/temp.csv
sshpass -p raspberry ssh pi@192.168.1.202 'RaspberryPi/I2C/mpu_6050_3' >> temp/temp.csv
echo "," >> temp/temp.csv
sshpass -p raspberry ssh pi@192.168.1.203 'RaspberryPi/I2C/mpu_6050_3' >> temp/temp.csv
echo "," >> temp/temp.csv
sshpass -p raspberry ssh pi@192.168.1.204 'RaspberryPi/I2C/mpu_6050_3' >> temp/temp.csv
./gettemp.pl temp/temp.csv >> 'temp/temp'$PresentDay'.csv'
cp 'temp/temp'$PresentDay'.csv' /var/www/html/temp/data.csv
PastTime=$PresentTime
# ./csv2chart.pl ./temp > /var/www/html/temp/Cur.html
# ./csv2chart_w.pl ./temp > /var/www/html/temp/Cur.w.html
# ./csv2chart_w.pl ./temp 'temp'$PresentDay > '/var/www/html/temp/'$PresentDay'.w.html'
fi
fi
sleep 1s
done
インストール
$ sudo apt install curl
[sudo] password for rock:
$ curl -fsSL https://get.docker.com -o get-docker.sh
$ sudo usermod -aG docker rock
$ logout
再接続
$ sudo apt install -y libffi-dev libssl-dev python3 python3-dev python3-pip
$ docker -v
Docker version 24.0.2, build cb74dfc
確認
$ docker run -d -p 3000:3000 grafana/grafana
Rockpi4 http://192.168.1.34:3000/login にアクセスします。
ログイン画面が出れば成功です。
![](image/002.png)
パスワードは再設定させられます。
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ab1202ccba38 grafana/grafana "/run.sh" About a minute ago Up About a minute 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp elated_jackson
$ docker stop ab1202ccba38
ab1202ccba38
稼働
$ docker run -d -p 3000:3000 --name=grafana -e "GF_INSTALL_PLUGINS=marcusolsson-csv-datasource" -v /home/rock:/home grafana/grafana
cdd064874b3226f7830f9310b89149adad60a7bb71702f409fb14b4d31d184ca
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cdd064874b32 grafana/grafana "/run.sh" 6 seconds ago Up 5 seconds 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp grafana
ab1202ccba38 grafana/grafana "/run.sh" 3 minutes ago Exited (0) 47 seconds ago elated_jackson
RoCkPi4Aを再起動時
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2c008dee1cf7 grafana/grafana "/run.sh" 16 hours ago Exited (0) 3 minutes ago grafana
$ docker start 2c008dee1cf7
2c008dee1cf7
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2c008dee1cf7 grafana/grafana "/run.sh" 16 hours ago Up 2 seconds 0.0.0.0:3000->3000/tcp, :::3000->3000/tcp grafana
データソース
ローカルファイルではうまく設定できませんでした。
元々ウェブサーバが動いてましたので、URLに
http://192.168.1.34/temp/data.csv
を設定しました。
CSV Add data source
日付は yyyy-mm-dd HH:MM:SS だと線グラフが出ました。
yyyy-mm-ddTHH:MM:SS+09:00 だとタイムゾーンに対応します。
yyyy-mm-dd HH:MM:SS だとUTCと認識します。
日付が無いと Time series が表示できません。
振り返り
過去データをWebで参照することができなくなってしまいました。
データは残っているので、Python pandas+matplotlibを勉強してグラフ化し用と思います。