農家のIoTデバイスiKakashiは、自作可能な農家の監視システムです。より多くの方々にiKakashiのような監視システムを作っていただきたいと思っています。このWebサイトは、そのような方々に、iKakashiを製作する敷居を低くしたいと思い、その作り方を公開しています。
ご不明な点、ご要望などございましたら、お気軽に「お問い合わせ」フォームをご利用ください。
自作可能なセキュリティカメラ、温湿度・気圧・照度計、農家のIoTデバイス、iKakashi
農家のIoTデバイスiKakashiは、自作可能な農家の監視システムです。より多くの方々にiKakashiのような監視システムを作っていただきたいと思っています。このWebサイトは、そのような方々に、iKakashiを製作する敷居を低くしたいと思い、その作り方を公開しています。
ご不明な点、ご要望などございましたら、お気軽に「お問い合わせ」フォームをご利用ください。
36Wワークライト×2個
夜間の写真撮影時に、より明るく撮影できるように、最大2個の36Wワークライトが実装できる固定金具を作りました。両端が、ソーラーパネルの台の単管パイプに固定されます。同じ型番のワークライトなのですが、購入時期の違いにより台座の形が違うのが気になります。
iKakashi-1号機なぞのトラブルの調査結果
iKakashi-1号機初のトラブルは、3つの原因がありました。現象は、こちら。
この写真は、屋外設置から16か月経過したバッテリーケースです。
iKakashi-2号機作成用に、新しいモバイルWiFiルーターを購入し、ロングランテストをしています。
製造元:富士ソフト
型番:FS030W
SIM:OCNモバイルOneのmicro SIM
特徴
2017年10月3日からモバイルWiFiルーターのロングランテストを開始しています。ロングランテストにパスすればiKakashiにぴったりでお勧めのモバイルWiFiルーターになるかもしれません。
2017年10月3日から一か月間使い続けましたが、その間、モバイルWiFiルーターは全て正常に動き続けました。ロングランテストはパスとさせていただきます。農家のIoTデバイスとして、本モバイルWiFiルーターをお勧めします。
バージョン:2017/09/29では、以下の点が変更になりました。
iKakashi-1号機、初の原因不明なトラブルか?
現象
推測
Raspberry Pi Zero WでWiFiのPower ManagementをOffにする方法
環境
現在の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が通らないことがある
環境
現象
対処
pythonのソースプログラムdefaultgatewayping.pyを修正して、ロングランテスト中です。
結果
defaultgatewayping.pyを修正し、ロングランテストをパスしました。「ダウンロード」→「ソフトウェア(ソースプログラム)」としてアップします。
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 Jessieまでは、USB Wifiドングルのinterface名はwlan0のような名前でしたが、Raspbian Stretchから、wlx123456789abcのようなMACアドレスに基づくinterface名に変わってしまいました。
Raspbian Stretchでも今まで通りのwlan0に戻す方法は、次のように行います。
これにより、iKakashiに固定ipアドレスを設定する/etc/dhcpcd.confファイル内の記述が簡単になります。
この設定変更は、以下のモデルで動作検証を行いました。
Raspberry PiのOSのイメージが、Jessie(Debian 8)からStretch(Debian 9)に2017年8月16日ぐらいから変更になりました。
これに伴うiKakashiを移植する際の注意点を備忘録として記録します。
結論:Raspbian Stretchでも適切な設定を行えば、iKakashiは動作します。