iKakashi-1号機なぞのトラブルの調査結果

iKakashi-1号機なぞのトラブルの調査結果

iKakashi-1号機初のトラブルは、3つの原因がありました。現象は、こちら。

  1. 原因:モバイルWiFiルーターで、LAN側の無線LAN接続は正常でしたが、WAN側(インターネット側)との通信ができない問題。NEC社製のAterm MR04LNモバイルWiFiルーターの問題で、モバイルWiFiルーターの電源を入れ直すことにより現象を消すことができます。
    対策:NEC社製Aterm MR04LNモバイルWiFiルーターは、Raspberry Pi側から電源を入れることはできますが、電源を切る切ることができません。富士ソフト社製FS030WモバイルWiFiルーターなら、Raspberry Pi側から電源を入れることも切ることもできます。このモバイルWiFiルーターは、現在iKakashiの仕様に耐えられるかどうかロングランテスト中です。
  2. 原因:WAN側のGlobal IP Addressが変更になったことを検出するプログラムで、エラー処理が十分にされていなかったため、プログラムが途中でエラーになり、処理が中断することがありました。
    対策:プログラムのエラー処理を強化し、処理が中断する発生頻度を下げるように修正を加えました。
  3. 原因:iKakashi-1号機のバッテリーケースには、衣装ケースを流用しましたが、屋外に設置してあるため、紫外線と雨水により、予想以上にプラスチックの劣化が進んでしまいした。雨水による湿気により、太陽電池充電コントローラーが過負荷を検出し、出力電圧を遮断しました。その後の乾燥により、太陽電池充電コントローラーは正常に動作するようになりました。
    対策:バッテリーケースを屋外仕様の防水・防塵ケースに変更すべく、ケース選定をしています。

この写真は、屋外設置から16か月経過したバッテリーケースです。

バッテリーケース-1

バッテリーケース-2

バッテリーケース-3

最新プログラムのバージョンが2017/09/29になりました。

バージョン:2017/09/29では、以下の点が変更になりました。

  • モバイルWiFiルーターのWAN側のGlobal IP Addressを調べるプログラムGetWanIPaddrで、10000回中1029回頻度でエラーが発生し、連続して最大約200回エラーになるために、エラー処理を強化しました。

詳細は、最新のプログラムのダウンロードページへ

iKakashi-1号機なぞのトラブルか?

iKakashi-1号機、初の原因不明なトラブルか?

現象

  • http、SSH、pingが全て反応なし。これは、インターネット側からiKakashiへの接続ができないことを表しています。
  • iKakshiからメールが送られてきません。これは、iKakashi側からインターネットに接続できていないことを表しています。
  • Active LEDが青色で点滅。これは、正常な状態で、iKakashi内のintruderdetect.pyというPython 2.7のプログラムが正常に動作していることを表しています。
  • USB WiFiドングルの青色LEDも点滅。これは、正常な状態で、Raspberry PiとモバイルWiFiルーターが無線LAN接続できていることを表しています。
  • モバイルWiFiルーターのWAN接続も正常のようです。
  • 電源を入れなおしても、同じ現象が発生します。
  • モバイルWiFiルーターのみの電源を入れなおしを行っても同じ現象が発生します。
  • 人感センサーに反応し、写真撮影は行えるようです。

推測

  • インターネット接続を除くiKakashiの機能は正常に動作しているように思えます。
  • モバイルWiFiルーター内部で、WAN側とLAN側がうまくデータ通信できていないような現象のように思えます。
  • Client様にお願いして、iKakashiの近くに行き、スマホをモバイルWiFiルーターに接続し、インターネット接続できるかどうかを確認してもらう予定です。その際、モバイルWiFiルーターのWAN側のIPアドレスを表示してくれるようなWebサイトにアクセスしてもらう予定です。

その後の調査結果は、こちら

Defaultgatewayへのpingが通らないことがある。

Defaultgatewayへのpingが通らないことがある

環境

  • Raspberry Pi Model A+
  • USB WiFiドングル:WN-G150UMW I・O Data社製
  • 2017-08-16-raspbian-stretch-lite
  • 2017/8/24のソースプログラム defaultgatewayping.py

現象

  • 一日に3~4程度の頻度で、Defaultgatewayへのpingが通らないことがあります。
  • この現象は、Raspbian Stretch以前のバージョンでは発生していませんでした。
  • USB WiFiドングルのPower ManagementはOffにしても、頻度は減ったものの現象は発生します。

対処

pythonのソースプログラムdefaultgatewayping.pyを修正して、ロングランテスト中です。

結果

defaultgatewayping.pyを修正し、ロングランテストをパスしました。「ダウンロード」→「ソフトウェア(ソースプログラム)」としてアップします。

 

Raspbian StretchでMariaDBのインストール方法

Raspberry PiのOSであるRaspbianがバージョンアップされ、JessieからStretchに新しくなりました。これに伴い標準のDatabaseもMySQLからMariaDBになりました。高い互換性があります。

MariaDBとpython-mysqldbのインストール方法
sudo apt-get install mariadb-server python-mysqldb
$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
で以下のように編集します。

変更前
character-set-server = utf8mb4
collation-server = utf8mb4_gereral_ci

変更後
character-set-server = utf8
# collation-server = utf8mb4_gereral_ci

$ sudo systemctl restart mariadb
$ sudo mysql_secure_installation

ここで質問に答えていきます。この時にMariaDB用のrootのパスワード設定も行われます。
MariaDBの起動方法は、次のようになります。
$ sudo mysql -u root -p

 

Raspbian Stretchで今まで通りのinterface名を使うには

Raspbian Jessieまでは、USB Wifiドングルのinterface名はwlan0のような名前でしたが、Raspbian Stretchから、wlx123456789abcのようなMACアドレスに基づくinterface名に変わってしまいました。
Raspbian Stretchでも今まで通りのwlan0に戻す方法は、次のように行います。

  1. /boot/cmdline.txtファイルを編集し、次の文字列を行の最後に追加します。
  2.  net.ifnames=0
  3. 再起動後、Raspbian Stretchでもwlan0になります。

これにより、iKakashiに固定ipアドレスを設定する/etc/dhcpcd.confファイル内の記述が簡単になります。

この設定変更は、以下のモデルで動作検証を行いました。

  • Raspberry Pi Model A+
  • Raspberry Pi 2 Model B
  • Raspberry Pi zero w