月別アーカイブ: 2015年11月

ラズベリーパイ #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取込

ラズベリーパイ #17 USB温度計&追加2台

結局というか、早く完成させたいのでAmazonでUSB温度計を注文。。

★Clipboard取込

追加注文していた2台が納品。
SDカードからクローンで作成。しかし、東芝SDは容量が若干違っててNG。
手持ちのUMAX製と、SanDisk製がOkとなった。
別途手配中のSDカードは東芝製、、、こりゃダイエットコピーが必須かな。

2015-11-10 20.39.36

ラズベリーパイ #16 温度計準備

苦手な電子工作、親父に抵抗の相談をしながら組み立ててみる。
温度計と抵抗の2つだけなのに、素人には大変。
失敗したら壊れそうで怖い。

結局、うまく動作(認識?)せず。。。
何が悪いのだろうか、抵抗の大きさかな、それとも配線問題か。
ラズベリー側の設定を見直すが間違っていないと思う。う~ん。
結局時間切れで終了。
電子工作がますます苦手(嫌い)になったのである。。

2015-11-09 20.48.33 ★Clipboard取込 ★Clipboard取込

ラズベリーパイ #15 IOTへ向けて

自分の中では基本準備は完了。
次は電子工作(何となく避けたい気分)です。

今後のプランとして、2つぐらい常時運用(監視)の機器を設置したい。
そこで新たにラズベリーパイを2台注文。(いずれもWifiを付ける)
SDカードは別途Amazonから調達。(かなり安いので)
不要とは思うが容量は32GBで行きます。
(本体内にデータや画像の蓄積を行うかも知れないのと、大は小を兼ねる)

OSセットアップは楽をしたいから、基本的に初号機のクローンを作り、
それを2号機、3号機へ反映する。
※そういう意味では初号機は実験用機器

2号機:
・電子工作:温度計を作成
・PHPかPythonでデータ収集&CSV作成
・グラフ表示サイト(言語未確定)準備
・拡張:扇風機コントール
・拡張:Twitter連動(報告用)
・拡張:CSVデータのDB化
・拡張:WS IOT利用

3号機: ※大ざっぱな思惑だけ
・電子工作:赤外線センサ&カメラ接続
・自動撮影&報告(詳細未定)
・設置場所検討&本格運用

初号機: ※ここまでこれたら、4号機を注文してそう
・電子工作:LEDランプ設置(複数個)
・ソフトウエアにてLED管理
・拡張:Twitter連動
・未定

 

ラズベリーパイ #14 Twitter Test(PHP)

電子工作は、自分には敷居が高いため、、、とりあずソフトウエア系を、、、
簡単そうな、PHPでTwitterに発信するプログラムにチャレンジ。
※IOTには直接関係ないが、、、

ネットのサンプルプログラムをそのまま流用。
試行錯誤の結果、無事成功。
嬉しいが、自分で作った所なんて皆無なので複雑な心境。
取りあえず、これで感知/収集した情報をした外向けに通知できるかな。
※PHP:事前に下記がインストール必要らしい
apt-get install php5-curl

★Clipboard取込

ラズベリーパイ #13 WWW/PHP/MySQL/Samba

雑誌の情報を元に、分からないところはググりながら
以下のセットアップが完了した。
・www(Apacheではなく、nginx)
・PHP(基本の動作確認まで)
・MySQL(ログインまで)
・Samba(PCからの読み書きまで)

昔やって無駄と思ったLinuxのインストール経験が
ここで生かされたような気がする。。。

これでwindowsからテキストファイルの編集も可能となる。

★Clipboard取込 ★Clipboard取込 ★Clipboard取込 ★Clipboard取込

ラズベリーパイ #12 VNC自動起動OK

結果的にOkとなったが、原因がわからない。
ググって見つけた通常の起動方法ではNGでした。
*コマンド実行はOkなので記述には問題なし

仕方なく下記のファイル内に、
sudo nano /etc/rc.local
下記の起動命令を入れて、一応自動起動が実現できた
sudo /etc/init.d/vncboot start

今日は、外出先(リモート)でもラズベリーパイが運用出来るようにということで、
朝のうちに、モバイルWIFIルーターとの接続テスト(ネットワークアドレス調整)して
会社の昼休みに作業をした。結果大成功。

これで電源だけが確保できれば、どこでも稼働出来る事になる。

■最新版へ $ sudo apt-get upgrade
※updateを先に行う
■raspi-configにて
・タイムゾーン設定
・PIのバージョンアップ
・パスワードの設定
・SSH有効化
■SSH動作テスト Windows側はPuTTYアプリを使用
■VNCサーバのインストール
■WIFI接続
■IPアドレス固定
・eth0 – 192.168.1.151
・wlan0- 192.168.1.161
■日本語フォントインストール
■モバイルWIFI接続、外出先での接続
■SSHのセッションキープ(60秒毎)
■VNC動作/自動起動

これにて初期設定完了かな。

次は以下のいずれかを予定。
□WEBサーバー起動、PHP/MySQLテスト
□簡単な電子工作、動作テスト

テキストエディットは、慣れたPCの方が効率良いかな。
でもこの機会だから、UNIX側にも慣れるべきか。
nanoを使っているが、いまいち使い方わからず、要勉強ですな。
※viは今更って感じ

vncserverのパスワード変更コマンド。
vncpasswd

2015-11-06 12.53.43

ラズベリーパイ #11 VNC起動NG

VNCServerが自動起動が出来ない。
定義ファイルを手で入力するのが面倒だから、
ネットからコピペ(Windows SSH上から)。
これが問題かと思っているが、原因が不明。
※CR+LF/UTF-8問題と思ったのだが

★Clipboard取込