ラズベリーパイ #26 CRONエラー

何故か動いていなかった。
原因は単純な記述ミス。かっこわる。

正:
0 1 * * * php /home/pi/www/bat/daily_sum.php
0 2 * * 0 php /home/pi/www/bat/weekly_sum.php
0 3 1 * * php /home/pi/www/bat/monthly_sum.php

昼休みにWEBページのメニューを書いてみた。

5min Report: yyyy/mm/dd Hour
・指定時刻の5分毎
Hour Report: yyyy/mm/dd
・指定日の時間毎
Day Report: yyyy/mm/dd
・指定日から30日間
Weekly Report: yyyy/mm
・指定月から3カ月間の週別
Month Report: yyyy/mm
・指定月の日にち毎
Monthly Report: yyyy
・指定年の月別

ラズベリーパイ #24 バッチ準備完了

5つのDBへデータを蓄積するプログラム3つが一応完成。
下記の感じでCRONに登録してみた。
さて無事動作するかな。。。
毎月のテストは来月にならないと結果がわからないが。。。

さて次は、グラフ作成とTwitter機能ですな。
全体の60%ぐらい終わった感じかな。

0 1 * * * /home/pi/www/bat/php daily_sum.php 毎朝1時
0 2 * * 0 /home/pi/www/bat/php weekly_sum.php 毎日曜2時
0 3 1 * * /home/pi/www/bat/php monthly_sum.php 毎月1日3時

PHPのプログラミング用に、今まではphpStormを使っていたが、
今回からSublime Textにしてみた。良い感じです。
なので支払いを済ませた。価格はphpStormの年間費用と同じぐらい。
From amount ¥8,923 JPY
To amount $70.00 USD

★Clipboard取込

ラズベリーパイ #23 MySQL蓄積

2号機でTable作成(間違いとかあったけど)、
Dailyバッチプログラムを修正して再度テスト。
エラー出まくりで、デバッグを何度も行って一応形になったかな。
※これでもまだ機能不足かな

T_DAY_MIN: 全記録データ
T_DAY_HH : 時間毎の気温(最大、最小、平均)
T_DAY_SUM: 日毎の気温(最大、最小、平均)
あと、週別と月別が必要かな。※あと週と月別テーブルも必要
それが終われば、そのデータを読み込んでグラフ作成。
あ、あと、Twitterへのレポート。
これが終われば、取りあえずの目的達成かな。

★Clipboard取込

ラズベリーパイ #22 PhpMyAdminにはまる

今までが順調過ぎたのか? 行き詰まった。
DB用にPhpMyAdminをインストールしたが、動作しない。
※正確には空白ページが表示

切り分けでMySQLのログインとか、テーブルチェックを行うが問題なし。
3号機でセットアップしたが、試行錯誤もあったので、
帰宅後、1号機で試すが(シンプルインストール)、結果は同じで空白。
無いと困る訳じゃ無いので、諦めた。

その代わり、レンタルサイト(Sakura)のPhpMyAdminを使ってテーブルを作成。
そのSQL文をコピペで転用することにする。

3号機でうまく動作したので(間違いあったけど)、帰宅したら本番(2号機)で試す予定。

★Clipboard取込

ちょとSQLメモ:(受け渡し)

続きを読む

ラズベリーパイ #21 SD-クローン複製

クローン複製後の再設定内容を記録。
※今のクローンが暫くメインとなるため

KB,Mouse,HDMI,LAN接続後、本体起動
※.151が未使用なら、SSHからも設定出来るかな

sudo raspi-config にて、
・ホスト名変更
・パスワード変更
・一応バージョンアップ

sudo nano /etc/network/interfaces にて、
固定IPアドレス(eth0,wlan0)変更

vncパスワード変更
vncpasswd

sambaパスワード変更
sudo pdbedit -a pi

MYSQLパスワード変更
mysql_secure_installation
MYSQL起動
mysql -u root -p

OSバージョンアップ

 

ラズベリーパイ #20 温度計設置&データ集計

帰宅後、靴箱兼 機器置き場に2号機を設置。
USB延長ケーブルで接続したら、
実際の温度計とほぼ同じ温度情報が取得出来て一安心。

集計プログラムの仕様をメモ程度に書いて、早速プログラミング。
悩んだあげく、手っ取り早そうなPHPを採用。(単に自分が慣れてるだけ)
PHPをWEB処理以外で作ったのは初めて。こういうことも出来るのね。。。

このPHPプログラムは、翌朝にバッチで実行予定。
前日のデータを絞り込んで、平均、最大、最小温度を集計して書き出し。

もうちょっと仕様をきっちり決めないといけないが、
とりあえず実験も兼ねて作成&実行。

次は集計の仕様をきっちり決めて、残りのバッチを作成。
そしてCRONTABに仕込む。
更にDB化もやってみる予定。
それが終わればグラフ化かな。(ここは初チャレンジ)

2015-11-11 19.26.18 2015-11-11 19.25.59 ★Clipboard取込 ★Clipboard取込

ラズベリーパイ #19 温度データの管理

色々と調べていたらMQTTというサービスの存在を知った。
ほんと、新しいテクノロジーがどんどん出てきてて、知らない事ばかりだ。。。
もうデータを自分の所に蓄積って時代じゃないのね。
※確かにIOT機器上でデータを貯め込むのもどうかと思うが

メモ:
https://shiguredo.jp/#mqtt

さて、どうやってデータを管理(蓄積)していくべきか、、、。
※当初は下記の1,2コース
1.ローカルCSV管理
2.ローカルDB管理
3.別サーバDB管理
4.MQTT経由別サーバ管理(DB?)

IOT機器側の負荷を考慮したら、4が理想でしょうね。

とりあえず、当初の予定通り上記1,2コースで進めるかな。
※外部公開する訳じゃないから負荷も大きくないだろうし

データの蓄積/管理方法を変更:
・1分毎→5分毎
・ファイル連続→年別フォルダ内に蓄積
いずれもCRONTABの修正で解決できる。

/var/log/temper.log/`date “+\%Y”`/`date “+\%Y_\%m”`.log

温度が30度でレポートされる件は、
恐らくUSBが本体直付けのため、本体の影響を受けていると思われる。

★Clipboard取込

ラズベリーパイ #18 USB温度計稼働

USB温度計を接続。
ググりながらプログラムを実行。
※日付フォーマットを自分好みに変更
権限などで試行錯誤の結果、無事成功。

次はCRONTABを使ってスケジュール化。
存在は昔から知っているが、初めて自分仕込んだかも。
これまた試行錯誤の結果、無事動作。

5分毎の実行だったが1分毎に変更。
更にファイル名をYYYYMMとした。
これまた試行錯誤の結果、無事動作。
ほんと手探りです。。。

とりあえず月単位のファイルにしたので、1ファイル4.4万ラインか、、、。
データの取得タイミングを再検討ですな。

データが落ちてくる仕組みは完成したので次は、
DB化、グラフ化(WEB)ですかね。

温度計合ってるのかな、30度もあると思えない(体感20度ぐらい)。

★Clipboard取込