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

    View Slide

  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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  6. 6
    Copyright © 2022 Bitkey Inc. All right reserved.
    1. デバイス(FW)の立ち位置
    デバイスが設置される環境
    bitlock PRO

    ドア

    サムターン

    後付け
    - サムターンの形状は?
    - サムターンの固さは?
    - サムターンの回転角度は?
    - ドアは開き戸?引き戸?
    - ドアはどれくらい開く?

    View Slide

  7. 7
    Copyright © 2022 Bitkey Inc. All right reserved.
    1. デバイス(FW)の立ち位置
    連携するデバイス・サービス(workhubの例)
    bitlock PRO

    bitlink

    bitreader+

    ログ 吸い出し・
    遠隔解錠
    テンキー解錠・カード
    解錠

    View Slide

  8. 8
    Copyright © 2022 Bitkey Inc. All right reserved.
    1. デバイス(FW)の立ち位置
    連携するデバイス・サービス(workhubの例)
    bitlock PRO

    bitlink

    bitreader+

    ログ 吸い出し・
    遠隔解錠
    設定・
    FWアップデート
    workhubアプリ

    テンキー解錠・カード
    解錠

    View Slide

  9. 9
    Copyright © 2022 Bitkey Inc. All right reserved.
    1. デバイス(FW)の立ち位置
    連携するデバイス・サービス(workhubの例)
    bitlock PRO

    bitlink

    bitreader+

    ログ 吸い出し・
    遠隔解錠
    設定・
    FWアップデート
    ログ アップロード
    状態確認
    workhubアプリ

    workhub管理画面

    テンキー解錠・カード
    解錠

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  26. 26
    End of File
    Copyright © 2022 Bitkey Inc. All right reserved.

    View Slide