● ランチャーアプリが管理するネットワーク環境例 ここで①~⑦について説明する。
① raspiとはRaspberry Pi(ラズベリー パイ)の略でARMプロセッサを搭載したシングルボードコンピュータでRaspberry Pi財団で管理、運用されている。
● raspiZの詳細はここのZeroの項で詳しく説明されている。(丁度、中ごろにHATについても説明がある)
・特筆すべき点はこの消費電力を確認してほしいのだが0.5[W]程度で作動し、月間の電気代が15円程度しか掛からない。
長期の継続運用にクラウド利用代やオンプレミスの高速計算機も必要なくその他、ビューア端末の電気代とネットワーク周りの電気代が必要である。
ビューア端末はデータ確認時だけ通電すれば良く年間のランニングコストが非常に安価になる。
また、ネットワーク関連の特別な知識も必要としない。
・raspiの詳細にあるようにraspiにはA+、2B、2B+、3B、3B+、4、5などがあるがここでは消費電力の温度変化による誤差発生で非推奨である。
推奨はZero、ZeroW、ZeroWh、Zero2Wで32bit版限定としている。また、64bit版は動作未確認である。
raspiZeroはWiFiが無くUSB経由でeth0へ接続するが現在入手困難状態である。
ZeroW、ZeroWh、Zero2Wはeth0とWiFi接続ができるがランチャーアプリでこの切り替えが交互に可能である。
② 市販のブロードバンドルータをブリッジモードで接続している。外部にメカニカルスイッチが付いておりAutoをBR側に倒す。
● ここでDHCPサーバが機能しており、gatewayはデフォルトの192.168.170.1としている。
・SDカード作成の項で説明したがip固定化で例えばraspi2Wを先に固定化し、これをネットワーク不参加状態でSDカードを作成するとDHCPは重複した
ipを割り振ることがあり、運用するdeviceは全てネットワークへ参加した状態でSDカードを作成する。
・Global IPが無接続の場合でもこのセグメント内で稼働中のアプリは稼働する。
③ 例えばキャリア4社で選べば各キャリアは様々な形態のサービスを用意している。
● ここではルータ付ONU(Optical Network Unit)の例を示しておりルータ無しONUの場合、別途ルータを用意する。
・ルータ付ONUはDHCPサーバが機能しており、gatewayはデフォルトの192.168.11.1としている。なおdeviceはeth0として認識する。
・Global IPが無接続の場合でもこのセグメント内で稼働中のアプリは正常稼働する。
・この部分をモバイルWiFi(呼称は各種ある)としてこれをGlobal IP契約し、例えば山間部に設置したビニールハウス内の環境モニターも可能。
④ 市販の8 port hub
・SDカード作成の項で説明したがip固定化で例えばraspi2Wを先に固定化し、これをネットワーク不参加状態でSDカードを作成するとDHCPは重複した
ipを割り振ることがあり、運用するdeviceは全てネットワークへ参加した状態でSDカードを作成すると同ip番号を割り振ることは無い。
⑤ ビューア端末
・現在Windows10、11が使用可能で他は準備中である。
⑥ ビューア端末で各アプリの起動
⑦ アンドロイド端末でアプリの起動(現在準備中)
● ランチャーアプリを起動する前にdevice側のip番号を調べる。
・タスクトレイの「ここへ入力して検索」へ半角でdosと入力すると黒いウインドウ枠のコマンドプロンプトが現れる。
Microsoft Windows [Version 10.0.19045.4780]
(c) Microsoft Corporation. All rights reserved.
C:\Users\user_name> ssh pi@raspberrypi11<-ユーザー名:piとホスト名:raspberrypi11を入力してssh接続を行う
The authenticity of host 'raspberrypi11 (fe80::13c8:411:a98d:bda4%4)' can't be established.
ECDSA key fingerprint is SHA256:11+YfS1ZpUEhB+FiTuse3q6DgYWp+CXjNobfAQSFAQM.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes<-yesを入力
Warning: Permanently added 'raspberrypi11,fe80::13c8:411:a98d:bda4%4' (ECDSA) to the list of known hosts.
pi@raspberrypi11's password: **<-パスワード:**を入力
Linux raspberrypi11 6.1.21+ #1642 Mon Apr 3 17:19:14 BST 2023 armv6l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
pi@raspberrypi11:~ $ ifconfig<-ip番号を調べる(ip aでも良い)
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.51.139 netmask 255.255.255.0 broadcast 192.168.51.255<-192.168.51.139がip番号
inet6 fe80::13c8:411:a98d:bda4 prefixlen 64 scopeid 0x20<link>
ether bc:5c:4c:e1:09:ca txqueuelen 1000 (Ethernet)
RX packets 206850 bytes 14738799 (14.0 MiB)
RX errors 0 dropped 44849 overruns 0 frame 0
TX packets 210555 bytes 259243974 (247.2 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1000 (Local Loopback)
RX packets 1329 bytes 255967 (249.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1329 bytes 255967 (249.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.1.242 netmask 255.255.255.0 broadcast 192.168.1.255<-192.168.1.242がWiFiのip番号
inet6 fe80::682e:dbfd:ec00:6e39 prefixlen 64 scopeid 0x20<link>
ether b8:27:eb:07:f8:cb txqueuelen 1000 (Ethernet)
RX packets 36368 bytes 3491042 (3.3 MiB)
RX errors 0 dropped 247 overruns 0 frame 0
TX packets 84 bytes 8492 (8.2 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
● ランチャーアプリを起動する。
・Windows編で作成した \環境モニター\ 内のランチャーアイコンをWクリックする。
・調べたip番号:192.168.51.139をDev_IP番号:欄へ入力して「デバイス側確認」ボタンをクリックする。
ここで黒枠内のコンソールボックスへ赤字でエラー表示される場合は最下位へ説明がある。
起動直後はDev_IP(wlan0):WiFiと表示されるがボタンクリックでdevice側のWiFiのIP番号に変わる。
Dev_Port番号:8335など現在表示されている内容はdevice側の初期値である。
ここで実環境に合わせるため、表題:環境モニター(51.139)、設置場所:設置(15号館5階)などを関連付いた文字列に変更する。
ロゴファイル名も変更できるがここではそのまま(初期値のまま)にしておく。
ランチャーメモ:欄は自ネットワーク環境に設置するdeviceのIP番号と関連付けてキッチンとか居間南側とかをメモ程度に記入しておくと良い。
・自環境に変更後「設定」ボタンをクリックする。
変更する内容確認が表示されるのでこれで良ければyesを押す。間違っていたらやり直す。
・次に再度「デバイス側確認」ボタンをクリックする。
device側を読み出すと以下のように同じ内容が表示される。
これはdevice側の初期値が変更されたことを意味する。
・この内容をビューア端末へ保存するため、ここで「デバイス指定」ボタンをクリックする。
この時点でランチャーメモ:の内容がビューア端末側(Windows)へ保存される。
device側の情報は世界中からアクセスされる共通情報であり、ランチャーメモ:は個々のプライベート情報である。
ランチャーアプリはこの情報を区別して管理する。
・Windows編で作成した \環境モニター\ 内の環境モニターアイコンをWクリックする。
以下のように表題:と設置場所:の文字列が変更(device側へ書き込まれた)されている。
測定エリアに一箇所のみ環境モニター設置の場合はこの設定で次から環境モニターアイコンのWクリックでアプリが起動できる。
ランチャーアプリはここで閉じる(X)で終了させておき次から起動する必要はない。
● 同じビューア端末で個々の設定をしてみる。
・同じ設定パネルの表題:環境モニター(温度、湿度)、設置場所:設置(居間北側)、ロゴファイル名:ondob.jpgに変更する。
・ここで「設定」ボタンをクリックせず、「デバイス指定」ボタンを押す。
「設定」ボタンをクリックしていないのでdevice側にはこの情報は書き込まれず、この情報はこのビューア端末のみ有効である。
・この状態で再度、環境モニターアイコンをWクリックする。
・「設定」ボタンが押されていないのでdevice側の情報は変更されておらずこのビューア端末のみ以下の表示に変わっている。
ロゴファイル名:はこの端末ではondob.jpgに変わっているがdevice側はondoa.jpgのまま変更されていない。
このように個々の端末側で任意の表示例に変更でき、もしこの情報を世界中からアクセスされる共通情報としたければ「設定」ボタンを押せば良い。
・これは違うビューア端末でも同じことができる。(N台のビューア端末が同時、起動可能)
違うビューア端末でランチャーを起動した場合すでに設定済みのdevice側の共通情報が表示され、ランチャーメモ:は個々のプライベート情報が設定できる。
● ランチャーアプリを起動
・Dev_IP番号:欄へ変更したいdeviceのip番号を入力する。
・ここで必ず「デバイス側確認」ボタンをクリックする。これを怠ると現在表示中の違う情報がこのdeviceへ書き込まれてしまう。
この「デバイス側確認」ボタンを押すというのはいわゆるdeviceのリード・モデファイ・ライトを行うことである。
一例として温度オフセット:-2.512225、湿度オフセット:0.551115に変更する。(符号付:浮動小数点の32Bitが有効)
・「設定」ボタンをクリックする。
・内容確認が表示されるのでyesを押す。
変更内容は30秒後受け付ける。
・以下のように温度オフセットが変更された。
・入力値が-記号以外と半角数字以外であった場合は無視される。この時、注意等は表示されない。0の場合は0.0に変更される。
・各deviceごと個別設定が可能。なお、30秒のタイマーが付いているのは頻繁に変更されないようにするため。
● ランチャーアプリを起動し、「デバイス側確認」や「Ping送信ボタン」を押すとエラーが発生する場合
・Dev_IP番号:欄へ192.168.51.139bなど半角数字以外を入力した場合。
・Dev_Port番号:欄へ8335aなど半角数字以外を入力した場合。変更する時は8300~8400範囲外は受理されない。
・Dev_IP番号:欄へ192.168.51.137など設定編で登録した以外の番号は赤文字で表示される。
また、deviceの電源入り直後はバーイン処理を数分間行っている。この時間帯も赤文字で表示される。
間違い等が無く「Ping送信ボタン」で赤文字が解消されない場合はケーブル接続やネットワーク機器周りを確認しdeviceの電源切
り入りも行ってみる。
特にWiFi環境の場合、ある特定のビューア端末のWiFiドライバー等で不整合が起きていると全deviceがこの影響を受ける。
それでも解消されない場合はSDカードの寿命等を疑ってみる。