36Wワークライト×2個

36Wワークライト×2個

夜間の写真撮影時に、より明るく撮影できるように、最大2個の36Wワークライトが実装できる固定金具を作りました。両端が、ソーラーパネルの台の単管パイプに固定されます。同じ型番のワークライトなのですが、購入時期の違いにより台座の形が違うのが気になります。

ワークライト固定金具

36Wワークライトを使った撮影写真は、こちらから。

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

新しいモバイルWiFiルーター

iKakashi-2号機作成用に、新しいモバイルWiFiルーターを購入し、ロングランテストをしています。

製造元:富士ソフト

型番:FS030W

SIM:OCNモバイルOneのmicro SIM

モバイルWiFiルーターFS030W

特徴

  • ポートマッピング機能が使用でき、httpとSSHのポート番号を指定のIPアドレスにマッピングできます。これにより、スマホのWebブラウザーからiKakashiに接続し、温湿度・気圧・照度のグラフ表示が見えるようになったり、インターネットの遠隔からiKakashiにSSHでリモート接続できるようになります。
  • バッテリーを実装せずに、USBケーブルを接続するだけで自動的にFS030Wの電源が入ります。つまり、USBケーブル内の+5VをOn/Offにすることにより、Raspberry Pi側からモバイルWiFiルーターの電源On/Off制御ができるようになるということです。
  • モバイルWiFiルーターの機能として、「端末再起動」という設定があり、ある時刻になったら自動再起動することができますが、現時点ではiKakashiでこの機能は使わない計画です。
  • モバイルWiFiルーターを分解し改造する必要がありません。

2017年10月3日からモバイルWiFiルーターのロングランテストを開始しています。ロングランテストにパスすればiKakashiにぴったりでお勧めのモバイルWiFiルーターになるかもしれません。

2017年10月3日から一か月間使い続けましたが、その間、モバイルWiFiルーターは全て正常に動き続けました。ロングランテストはパスとさせていただきます。農家のIoTデバイスとして、本モバイルWiFiルーターをお勧めします。

最新プログラムのバージョンが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サイトにアクセスしてもらう予定です。

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

Raspberry Pi Zero WでWiFiのPower ManagementをOffにする方法

Raspberry Pi Zero WでWiFiのPower ManagementをOffにする方法

環境

  • Raspbian Stretch
  • Raspberry Pi Zero W

現在のWiFiのPower Managementの状態を確認する方法

$ iwconfig
lo no wireless extensions.

wlan0 IEEE 802.11 ESSID:”wifirouter”
Mode:Managed Frequency:2.442 GHz Access Point: 00:1D:73:12:34:56
Bit Rate=65 Mb/s Tx-Power=31 dBm
Retry short limit:7 RTS thr:off Fragment thr:off
Power Management:on
Link Quality=70/70 Signal level=-36 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0

Raspberry Pi Zero Wで、WiFiのPower Managementをoffにする方法

Raspberry Pi Zero Wの標準のRaspbianの状態では、Power Managementがonになっています。この状態ですとSSHで接続できなくなったり、iKakashiのプログラムのdefaultgatewayping.pyでDefault gatewayに対してpingが通らない場合があると思われます。そこで、WiFiのPower Managementをoffにします。コマンド的には、以下のようにします。

$ sudo iw dev wlan0 set power_save off

しかしRaspbianを再起動すると、onに戻ってしまいます。そこで、最善の方法ではないと思いますが、/etc/rc.localを編集し、exit 0の前に次の2行を挿入します。

$ sudo nano /etc/rc.local
・・・
# Raspberry Pi Zero W WiFi Power Management off
sudo /sbin/iw dev wlan0 set power_save off
exit 0

これで、Raspbian再起動後でもPower Managementがoffになります。
現在この状態でRaspberry Pi Zero Wをロングランテスト中です。

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

Raspbian がJessieからStretchに変更になりました。

Raspberry PiのOSのイメージが、Jessie(Debian 8)からStretch(Debian 9)に2017年8月16日ぐらいから変更になりました。
これに伴うiKakashiを移植する際の注意点を備忘録として記録します。

結論:Raspbian Stretchでも適切な設定を行えば、iKakashiは動作します。

  1. 固定IPアドレスの設定を行うのに、/etc/dhcpcd.confファイルを編集しますが、無線LAN(USB WiFiドングル)のInterface名が変わりました。
  2. Stretchの標準のDatabaseは、MySQLからMariaDBに変わりました。
  3. apache2のDirectoryの振る舞いが若干変わりました。