IoT+WEBのためのホームサーバ計画の実装編15。HomeServerとUSERを関連付ける。

HomeServerとUSERとの関連付け

そうです。
今回の大きな趣旨のひとつとして、

つないだらそのまま使える

というのは大きなポイントで。
ということは、つないでる時点では、どのユーザにも関連付けられていないのは明白。
ということは、ユーザの方から固有情報をなんらか入力してやらなきゃいけない。
ということは、HomeServer側になんらか表示させるってことで落ち着きます。

そう、無線ルータにSSID(とPIN)が書いて貼ってあるかのように。
ではシナリオを考えましょ。

シナリオ

ってことで、こうです。

●HomeServerをつなぐ➡
●LCDディスプレイまたはM5StackまたはM5StickCの表示でIDとPINを確認する。➡
●WEBにログインする➡
●ID一覧表示、または、IDの直接入力をする➡
●PINを入力し、HomeServerとユーザとの関係を確立する。

まぁこんなとこでしょ。

まぁIDとPINなんて書きましたが、要するに、
42492a34-4f23-2a86-1234-5db419556b18
なんていうIDをサーバ側からHomeServerへ発行してるので、
42492a34-4f23-2a86-1234
がキーで、
5db419556b18
がPINあたりってことでいいっすかね。

まぁPINも変更可能にしてあげてれば、問題無い気がします。

もうひとつの方法

シナリオを書いときながら、いきなりもう一つの方法です。

それはこんな感じです。
但し、『スマフォもHomeServerと同じLANにいる』
という前提です。
同じLANという言い方はぜんぜん正確で無いですが、
要するに、『外へ出ていくときのグローバルIPが、HomeServerと同じ』
という意味です。

早い話、、『ブロードバンドルータ+無線LAN 』 の環境で、HomeServer有線LAN、スマフォは無線LANとか、
スマフォじゃなくて、PCが無線LANとか有線LANとか、そんな環境です。

●HomeServerをつなぐ
●直後にWebにログインする
●GlobbalIPが同じで、**分以内であれば、ユーザと判断し、勝手に関連付ける

まぁこんな感じです。もちろん、

『HomeServerが 無線LANじゃぁダメか?』

っていうのもあるのですが、
ひとつは、安定性の問題。
ひとつは、セパレート機能(無線LAN同志でつながらなくしてる)の問題。
ってのがあるんで。

DB管理しましょ

ユーザはDB管理したので、関連付けもDB管理しないとですねー。
話を整理するとこんなです。

USER-LSITがあって、HomeServerのID-LISTがあって、

あとは、、その対応のテーブルを持てばいいっすね。

あと、考えられることは、、HomeServerとユーザは、1対多になると思うので、
【管理者】フラグがあったり、、【仮登録】フラグがあったり、
まぁ例によって、登録日、更新日あたりもいれときましょう。

そうすると、
[id] auto
[username] text
[HomeServerID] text
[registdate] int
[lastdate] int
[regist] int
[note] text
[etc] text
雑ですが、、こんなもんかなー。

良く考えたら、HomeServerのID登録とかまだだったぞっ

そうでした。
そうすると、、

[id] auto
[homeserverid] text
[homeserverpin] text
[registdate] int
[lastdate] int
[regist] int
[script] text
[note] text
[etc] text
まぁこれrも雑だな^^;

HomeServerのID登録はいつ行われるかというとっ、、

それはもちろん、起動時にWebSocket通信をして、そこで登録です。
うぅーーん。更新とかどうしましょね。
厳密には、[script]にクライアントに紐づいてるIoTコントローラの情報も含めるという考え方もあるのですが、
その都度取りに行くというのでもよさそうな気もするので、
それは両方やってみて決めましょ。

基本的には、

あれこれ綿密に設計するより、やってみて決める

でいいかと思うんですよね(o^^o)

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です