Upgrade to Pro — share decks privately, control downloads, hide ads and more …

システム全体の一部としてFWを考える

 システム全体の一部としてFWを考える

More Decks by 株式会社ビットキー / Bitkey Inc.

Other Decks in Technology

Transcript

  1. Copyright © 2022 Bitkey Inc. All right reserved. システム全体の一部としてFWを考える 株式会社ビットキー 佐藤祥来 2022/11/30

  2. 2 Copyright © 2022 Bitkey Inc. All right reserved. 自己紹介

    佐藤 祥来 Sato Yoshiki 2014.04 2021.10 ネットワーク製品のFW開発に従事。特にWi-Fiアクセ スポイントについてはリリース後の保守や、IEEE規格 レベルでの技術サポートまで長期的に関わる。 また、製品に使用している独自OSの保守・機能追加も 担当。 ビットキーへ入社 FWエンジニアとしてリリース済みデバイスの機能追加 や修正、問い合わせ対応などを主に担当。 2022.11 上記に加え、デバイスFW リリースやQA スケジュール管 理を行うほか、新規 デバイス FW実装も担当。 Rust関連 Qiita記事書いたりもしてました。 https://qiita.com/0yoyoyo
  3. 3 Copyright © 2022 Bitkey Inc. All right reserved. Outline

    1. デバイス(FW)の立ち位置 2. 電池残量通知の例 3. オートロック制御の例 4. まとめ
  4. 4 Copyright © 2022 Bitkey Inc. All right reserved. 1.

    デバイス(FW)の立ち位置
  5. 5 Copyright © 2022 Bitkey Inc. All right reserved. 1.

    デバイス(FW)の立ち位置 はじめに - IoTサービスはデバイスがないと始まらない - かといって、デバイスだけではサービスを作れない - FWエンジニアとしてデバイス(FW)の位置付けを考え、どう設計すべきか考察してみる
  6. 6 Copyright © 2022 Bitkey Inc. All right reserved. 1.

    デバイス(FW)の立ち位置 デバイスが設置される環境 bitlock PRO
 ドア
 サムターン
 後付け - サムターンの形状は? - サムターンの固さは? - サムターンの回転角度は? - ドアは開き戸?引き戸? - ドアはどれくらい開く?
  7. 7 Copyright © 2022 Bitkey Inc. All right reserved. 1.

    デバイス(FW)の立ち位置 連携するデバイス・サービス(workhubの例) bitlock PRO
 bitlink
 bitreader+
 ログ 吸い出し・ 遠隔解錠 テンキー解錠・カード 解錠
  8. 8 Copyright © 2022 Bitkey Inc. All right reserved. 1.

    デバイス(FW)の立ち位置 連携するデバイス・サービス(workhubの例) bitlock PRO
 bitlink
 bitreader+
 ログ 吸い出し・ 遠隔解錠 設定・ FWアップデート workhubアプリ
 テンキー解錠・カード 解錠
  9. 9 Copyright © 2022 Bitkey Inc. All right reserved. 1.

    デバイス(FW)の立ち位置 連携するデバイス・サービス(workhubの例) bitlock PRO
 bitlink
 bitreader+
 ログ 吸い出し・ 遠隔解錠 設定・ FWアップデート ログ アップロード 状態確認 workhubアプリ
 workhub管理画面
 テンキー解錠・カード 解錠
  10. 10 Copyright © 2022 Bitkey Inc. All right reserved. 1.

    デバイス(FW)の立ち位置 変更しやすさの比較 - 機構設計、電気設計とも に後からの変更は前提と しない - もし変更する場合は数ヶ 月以上の期間が必要、か つ、設置済みのデバイス には適用できない HW FW SW - 例えばスマホアプリであ れば、どこでもユーザ操 作でアップデート可能 - アップデートを促すメッ セージなども表示できる - スマホからBLE経由での アップデートや設定変更 が可能 - デバイスがある現地に行 かないとアップデートで きないという制約
  11. 11 Copyright © 2022 Bitkey Inc. All right reserved. 1.

    デバイス(FW)の立ち位置 変更しやすさの比較 - 機構設計、電気設計とも に後からの変更は前提と しない - もし変更する場合は数ヶ 月以上の期間が必要、か つ、設置済みのデバイス には適用できない HW FW SW < < 変更できるけど頻繁なアップデート 避けたい 微妙な位置付け - 例えばスマホアプリであ れば、どこでもユーザ操 作でアップデート可能 - アップデートを促すメッ セージなども表示できる - スマホからBLE経由での アップデートや設定変更 が可能 - デバイスがある現地に行 かないとアップデートで きないという制約
  12. 12 Copyright © 2022 Bitkey Inc. All right reserved. 1.

    デバイス(FW)の立ち位置 FWの位置付けを考える - HWと協調し、物理的な環境とのインターフェースを担う - デバイス同士はもちろん、スマホアプリとも連携する - FWで取得した情報は、上位で提供するサービスにも使われる
  13. 13 Copyright © 2022 Bitkey Inc. All right reserved. 1.

    デバイス(FW)の立ち位置 FWの位置付けを考える - HWと協調し、物理的な環境とのインターフェースを担う - デバイス同士はもちろん、スマホアプリとも連携する - FWで取得した情報は、上位で提供するサービスにも使われる なので、 連携部分が多くて悩みが増えがち
  14. 14 Copyright © 2022 Bitkey Inc. All right reserved. 1.

    デバイス(FW)の立ち位置 FWの位置付けを考える - HWと協調し、物理的な環境とのインターフェースを担う - デバイス同士はもちろん、スマホアプリとも連携する - FWで取得した情報は、上位で提供するサービスにも使われる なので、 しかし逆に言えば、 連携部分が多くて悩みが増えがち システム全体としてうまく設計できれ サービス 質や改善速度 向上に大きく寄与できる
  15. 15 Copyright © 2022 Bitkey Inc. All right reserved. 2.

    電池残量通知の例
  16. 16 Copyright © 2022 Bitkey Inc. All right reserved. 2.

    電池残量通知の例 デバイスの電池残量を通知する - ビットキーの多くのデバイスは電池で駆動している - 電池交換を促すため、残量が残り少なくなったらユーザに警告を行いたい しかし、電池残量を測定する 単純で ない
  17. 17 Copyright © 2022 Bitkey Inc. All right reserved. 2.

    電池残量通知の例 使用している電池(CR123A)の放電特性 - 「電池の残量」という明確な数値はない - 電圧から判断する - 電圧も100%から0%に直線的に落ちていく わけではない - モーターなどの強い負荷がかかると一時的に 電圧が低下する(電圧降下) 標準放電特性 一例 (https://industrial.panasonic.com/cdbs/www-data/pdf2/AAA4000/AAA4000C288.pdf) ユーザに伝えるために 加工が必要
  18. 18 Copyright © 2022 Bitkey Inc. All right reserved. 2.

    電池残量通知の例 デバイスから直接ユーザに通知する場合 ユーザに見せるための加工をデバイス内部で実施する必要がある - 加工処理のためのリソースが必要 - 将来、処理が改善された場合にFWのアップデートが必要 - 改善前と改善後が混在するのもサポート上マイナス 無理で ないが、拡張しにくい
  19. 19 Copyright © 2022 Bitkey Inc. All right reserved. 2.

    電池残量通知の例 クラウドを経由させる場合 ユーザへの見せ方はSWの領域で制御できる - デバイスとしてはシンプルに生データを記録すればよい - もし将来的に変更する場合は、SWレイヤで一括して変更できる 加工して通知 電圧値を渡す システム全体として設計することで、拡張性を保てる
  20. 20 Copyright © 2022 Bitkey Inc. All right reserved. 3.

    オートロック制御の例
  21. 21 Copyright © 2022 Bitkey Inc. All right reserved. 3.

    オートロック制御の例 内部的な仕組み - オートロックを行うには a. カギを解錠されたことを検知し、 b. ドアが開けられたことを検知し、 c. ドアが再び閉められたことを検知し、 d. その状態が継続してそうか判断し、 e. カギを施錠する
  22. 22 Copyright © 2022 Bitkey Inc. All right reserved. 3.

    オートロック制御の例 内部的な仕組み - オートロックを行うには a. カギを解錠されたことを検知し、 b. ドアが開けられたことを検知し、 c. ドアが再び閉められたことを検知し、 d. その状態が継続してそうか判断し、 e. カギを施錠する どれくらい開けられたら? どれくらい回す? どうやって検知する? これら 設置時に自動で計測を行い設定 →ユーザが細かい仕様を理解せずとも最適な状態にできる (ど センサによって)
  23. 23 Copyright © 2022 Bitkey Inc. All right reserved. 3.

    オートロック制御の例 内部的な仕組み - オートロックを行うには a. カギを解錠されたことを検知し、 b. ドアが開けられたことを検知し、 c. ドアが再び閉められたことを検知し、 d. その状態が継続してそうか判断し、 e. カギを施錠する 解錠したけどドアを 開けなかったら? ドアを開けたまま放置したら? これら 変更可能だが現状 固定で設定 →アプリ 機能追加 みで素早く対応可能 回す時 細かいパラメータとか
  24. 24 Copyright © 2022 Bitkey Inc. All right reserved. 4.

    まとめ
  25. 25 Copyright © 2022 Bitkey Inc. All right reserved. 4.

    まとめ - FWはHWともSWとも連携する、中間にある存在 - 間に挟まっているからこその悩みも多い - だからこそ、うまく設計できると気持ちいい
  26. 26 End of File Copyright © 2022 Bitkey Inc. All

    right reserved.