google-site-verification: google3bd66dd162ef54c7.html

連続運転していた Raspberry Pi Type-B が故障

 24時間連続運転していた Raspberry Pi Type-B (以下単にラズパイと呼びます)が突然動作停止しました。自作のグリッドタイインバーターの運転データーをzivelyにアップロードするのと、Flight Rader 24へのフィードのために動かしていたのですが、突然止まっていました。

▼Raspberry Pi Type-B
Raspberry pi Type-B
 これ最初に発売になった時にオーダー入れて、5ケ月待ちくらいで入手したものです。上に書いたzivelyへのアップロードとFR24へのフィード以外に、sambaを動かしてあるので、自宅内のファイルサーバーとして小さなファイルのやり取りに便利に使っていました。

 症状としては、SSHでログイン出来なくなっていてコンピューターとして全く動いていない状態です。この写真の基板の左下のLEDはシリアルコンソールの信号などを表示していて、普段ならにぎやかに点滅しているのですが、電源の赤いLEDが点灯したままでピクリとも動いていません。

▼zivelyのデーター
zively
 太陽光パネルの発電量を反映して24時間周期で規則正しく変化していたのが、突然止まっていました。このデーターは2014年の5月以来2年以上継続してアップロードしていました。

▼Flight Rader 24
FR24へのフィードも停止
 これはFR24のフィーダーの管理画面なのですが、8月1日 19:21:53 が最後にデーターが送られた時刻のようです。

▼運転状況(実際にはラズパイは専用ケースに入っています)
使用状況
 こんな感じで運転していました。

▼故障個所の調査
回路図見ながら電源系をチェック
 ソフト的に全く動いていないので、原因はハードに絞られます。ということで、公開されているラズパイの回路図を見ながら故障原因を調べてみました。

 とは言っても、SoC の BGA パッケージなのでアマチュアが出来ることは限られていて、電源電圧のチェックくらいしか出来ません。この基板は USB の5Vから、3.3V, 2.5V, 1.8V をシリーズレギュレーターで作るようになっていますが、そのあたりは電圧だけ見る限りはちゃんと動いているようでした。

 話の順番が後になりましたが、USBの5Vから流れ込んでいる電流はたった70mAでした。ちゃんと動いていたら400mAくらいは流れるはずなので、明らかにどこかのハードが壊れています。

◆ラズパイの後継機種をどうするか
 さて、困りました。何らかの形でネットにデーターをアップロードする環境は持っていたいのですが、後継にすべきプラットフォームが思い当たりません。

 普通に考えると、Raspberry Pi 3 Type-B なのでしょう。でもこれ、消費電力が12Wもあるので、24時間連続運転する気はしません。

 だとしたら、Paspberry Pi Zero くらいが良さそうですが、これネットワーク機能がありません。WiFiのドングルを差してネット接続するしか無さそうですが、無線LANで安定した接続が出来るか、かなり心配です。ちょっと試すくらいなら大丈夫なんでしょうが、24時間運転してもいけるかというとかなり心配な気がします。

 いっそのことESP-WROOM-02あたりにするのがいいのかも知れません。そのあたりは今週末に MFT2016があるので、情報を仕入れてこようかと思います。あと、センサーがネットワークに繋がっているだけで IoT と言ってる会社が多いのですが、これどういうもんなんでしょうね。

Raspberry Piのメンテナンス

 うちではグリッドタイインバーター (GTI) の運転状態の監視Flight Radar24 (FR24) へのフィードのために Raspberry Pi (ラズベリーパイ)を24時間連続運転しています。FR24へのフィードは一旦止めたのですが、受信用ドングルを使った遊びも一段落したので再開しています。

▼Raspberry Pi
Raspberry Pi

 これが12月初め頃から調子がわるくなってしまったのでシステムのアップデートなどの対策を何度か行いました。どうやら症状は治まったようなので、自分用のメモを兼ねて、アップデート作業の内容やその後の効果の確認方法についてまとめておきます。

 時系列で何が起きていたかを知るには xively に記録しているGTIの運転状況を見るのが一番判りやすいです。

▼xively に記録されたGTIの運転状況 (直近1ケ月分)
xivelyのグラフ
 このグラフの見方は過去の記事を見て頂くとして、グラフが平坦になっているところがあります。これは何か不具合が発生して、データーの更新が行われなかったことを表わしています。

 不具合は4回発生していて、説明し易いように該当箇所に①から④まで番号を振りました。以下順に状況を説明していきます。

① この時はRaspberry Pi の運転が止まっていました。電源は入っていたのですが、Linuxが走っていませんでした。回りの配線を動かしたりしたので暴走してしまったのかも知れません。
 このラズパイは2年以上連続で動いているので、まさか落ちるとは思っていなくて、気付くのに2日以上かかっています。

 そこで再起動させて運転開始したかと思っていると、

② ここで停止しています。この時はOSは動いていましたが、なぜか xively への送信プロセスが止まっていました。こんなふうに止まったことは、これまでに一度も無かったので、怪しいのはフライトレーダー24のフィード用プログラムです。

 しょうがないなー、と思いながら再起動。ところが、

③ 約3時間後に止まっています。FR24へのフィードは正常に動いていますが、xively への送信だけ止まっています。

 こりゃFR24のフィード止めるか、とも思ったのですが、ラズパイのアップデートをずっとやってなかったのでまずはそちらをやってみることにしました。以下のコマンドでシステムをアップデート。
sudo apt-get update
sudo apt-get upgrade

 大量のアップデートがかかってかなりの時間がかかりましたが、無事終了です。このコマンドはこまめに実行した方がいいのですが、なにぶん普段は放ったからしのシステムなので、そうはいきません。

 これでリブートして再起動。うまく動いているので対策効果が出たと思っていたら、

④ ここで半日間止まっています。これまでと違うのは自動的に再開していることです。xively への送信プログラムは、ネットワークエラーなどでまれに止まることがありました。そこでLinuxのシェルスクリプトで監視し、もし止まっていたら再起動をかけるような仕掛けにしてあるのでこれは本来の動作です。④はおそらく xively 側が止まっていたのだと思います。

 xively への送信は運転状況のログをファイルに落とすようにしてあるので、その中身を真面目に見てみます。

▼ログの様子
エラーログ
 これでは訳が判らないので Excel に食わせてやります。

 そのためにまずはファイルをネットワークの共有フォルダにコピーします。うちのラズパイの共有フォルダは /media/usb0 で、ここに置いたファイルは外から見えるようになります。
cp abcd.out /media/usb0/abcd.out

 Excelで読みやすくするために Windows のFINDSTRコマンドで、年という文字が入っている行だけ抽出します。
FINDSTR /C:"年" abcd.out > abcd-x.csv
これでエラー発生日時の行だけ引っこ抜いたファイルが出来ます。なお、コマンドプロンプト画面をフォルダの深い階層まで移動させるのは大変です。そういう時はエクスプローラーでそのフォルダに移動しておいて、アドレスバーに CMD と入力してリターンキーを押すと、一発でその階層に行った状態でコマンド画面が開きます。

 まだゴミの文字がいっぱい入っているので、エディタの文字列置換で置き換えて、Excelの日付・時刻関数で読める書式に整形。最後に文字コードをshift-JISに変更して保存。

 あとは Excel で調べるのが楽ですが、とりあえずグラフにしてみました。

▼エラー発生時刻のマップ
エラー発生日時プロット
 横軸が時間軸(日時)で縦軸は24時間で表わした時刻。プロットした点はプログラム ( xively へのデーター転送プログラム) の再起動がかかったタイミングを表わしています。けっこうな頻度で再起動がかかっています。昔は一日に一回あるかどうかだったので、FR24のフィードプログラムの影響が出ているのだと思います。

 このグラフを見ると、昼間の方がプロットが多い(つまりよく止まっている)感じがします。これ、昼間は飛んでいる飛行機が多いので FR24 への通信料が増え、その影響で xively との通信失敗の頻度が上がるとも考えられます。

 ここで判るのは、①から③までの停止は再起動のプロセスが失敗していたということです。ただその原因は、良く判りません。③の停止の後でシステムのアップデートをやっていますが、それ以降は止まっていないようです。

 ④でプロットが連続しているのは、xively から応答が無かったのでプログラムが停止し、それをシェルスクリプトが2分間隔で検出して再起動をかけ続けているからです。

 とりあえず正しく動いているようなので、このまま運転継続したいと思います。apt-getでシステムを最新にした効果が出ているなら嬉しいのですが。

 それと、今気付いたのですが、昨日も xively の調子がおかしくなっていましたが、どうしたんでしょうね。IoTの旗手として注目されたこともある xively ですが、最近は調子悪いのかも。

Raspberry Pi で太陽光発電のデーターロギング

 Raspberry Piの使い方の勉強の続きです。シリアルポートからのデーターの読み込みUSBメモリへのデータの書き込み方法が判ったので、今回は合わせ技。簡単なデーターロガーを立ち上げてみます。

 使うデーターは自作のグリッドタイインバーターがUSBに流している運転状態のデーターです。

▼GTIの上にラズパイを展開
GTIの上にラズパイを貼り付ける
 ラズパイ使う時、ケーブルがあちこちにいっぱい出て収まりが悪くて困ります。場所があればこんなふうに要所をテープで止めれば多少は扱い易くなります。

 GTIからデーターは1秒毎に流れてきます。ただ日時の情報が入っていないので、毎回のデータの先頭に日時情報をエクセルの日付関数で読める形式で挿入します。

 pythonで作ったプログラム(140520usb.py)

# -*- coding: UTF-8 -*-
# Read Serial on ttyUSB0 port

import serial
import datetime

def main():
todaydetail = datetime.datetime.today()
# con=serial.Serial('/dev/ttyUSB0', 9600, timeout=10) # USBのシリアルポート タイムアウト10秒
con=serial.Serial('/dev/ttyUSB0', 9600) # USBのシリアルポート
print con.portstr # ポートのステータスを出力
while 1: # 無限ループで
str=con.readline() # シリアルから一行読む
todaydetail = datetime.datetime.today() # 日時を取得
print todaydetail.strftime("%Y/%m/%d %H:%M:%S"), # Excel形式で日時を出力
print str, # 元データを出力

if __name__ == '__main__':
main()

 これを以下のようなコマンドで起動します。
$ nohup python 140520usb.py > /media/usb0/140524.csv&
 出力をリダイレクトしてUSBメモリに作成。ログアウトしてもプログラムが動き続けるように nohupで起動します。プログラムを止めたい時はps alxでPIDを調べてkillすればOK。

▼作成されたファイル
収集されたデーター

 これをWindowsに取り出すにはsambaでファイル共有すれば便利ですが、とりあえずTeraTeramのSSHに付いているSCPで受信しています。

▼SSH のSCPで受信
SSHのSCPでデーター受信
 Receiveボタンで転送開始します。 ファイルを一つ抜き出すくらいならこの方法が簡単。

 で、こうやって取得したデータの内容が結構衝撃的でした。

▼発電量をエクセルでグラフ化
発電量のグラフ
 これは昨日の発電量のグラフです。終日晴れだったのにかかわらず、12時過ぎからしか本格的に発電していません。12時以前の発電は散乱光によるものでしょう。この日の発電量はたった92Wh。

 ちなみに、冬至の頃でも発電量は102Whあり、9時過ぎからきっちり発電していました。また、3月の中旬だと150Whも発電した日もあった訳で、この調子なら夏至になればかなりの発電量になるかも。ひょっとしたら200Wh越すかも、と楽しみにしていました。

 これ、何が起こっているのかというと、マンションのベランダで太陽光発電する場合の大きな問題。庇(ひさし)の影の影響でした。

 どういうことかと言うと、夏至の前後では太陽高度がかなり高くなります。すると、ベランダの庇の影がパネルに落ちるために発電量が低下する現象が発生してしまいます。パネルの一部でも影になると出力は大きく低下してしまうので影響は甚大です。

 ちなみに南向きのベランダだと正午前後の発電量が下がって左右対称のグラフになると思います。ところがうちのベランダは南西に向いているので、直射日光が入り始める頃にはもうかなり太陽高度が高く、最初から庇の陰がパネルにかかってしまいます。ということで午前中は発電出来ない状態になっています。

 ラズパイいじりはまだまだ続きますが、発電量のデーターについては別の記事でレポしたいと思います。やっぱりきちっとデーターを取ることは大事ですね。
カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
プロフィール

ラジオペンチ

Author:ラジオペンチ
電子工作を中心としたブログです。たまに近所(東京都稲城市)の話題など。60過ぎて視力や器用さの衰えを感じつつ日々挑戦!
コメントを入れる時にメールアドレスの記入は不要です。なお、非公開コメントは受け付けていません。

記事が気に入ったらクリックを!
最新記事
カテゴリ
最新コメント
リンク
FC2カウンター
検索フォーム
月別アーカイブ
RSSリンクの表示
QRコード
QRコード