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

Nature Remo SDKアップデートの軌跡

Nature Remo SDKアップデートの軌跡

tomoyuki-nakabayashi

September 29, 2022
Tweet

More Decks by tomoyuki-nakabayashi

Other Decks in Programming

Transcript

  1. How It Works スマートデバイス Nature Remo 家電 赤外線 インターネット !?

    ※登壇者の居室が真っ暗になるデモ中です 

  2. BLE Central BLE Peripheral HTTP Server (mDNS) HTTP / WebSocket

    Client 赤外線 センサ 温度、湿度 人感、輝度 Nature Remo3の機能 BLE連携 setup Local API server
  3. Nature RemoのSDK - ESP-IDF (Espressif IoT Development Framework) - 大部分がOSS

    - GitHubでissueやパッチの受け入れも - 無線通信部分などはバイナリ配布
  4. ぶっちゃけESP32 (ESP-IDF) ってどうなの? - (カタログスペック比で) 破格の安さ - ソフトウェア開発環境は使いやすい - ログシステム

    / デバッグ環境 / テスト環境 - ビルド用のDocker image完備 - menuconfig / kconfig - ソフトウェアに力入れているのは感じる - SDKの変更量 - LLVMのxtensa対応 - Rust - ただし… - 続きは発表の最後で! - チャンネルはそのまま! Ferrous Systemsがやっている Rustチュートリアル用ボードとかも製造
  5. - ESP-IDF v3.3.4を2年ほど使用 - メンテナンス期限切れ - security issueとか発生したら…? - 機能追加

    / バグフィックス / 開発環境改善 - WPA3対応 - gcc 5.4 -> 8.4 なぜSDKをアップデートするのか?
  6. 楽しい冒険の始まり - 直前にリリースされた ESP-IDF v4.3.2を移行対象に決定 - 機能開発は凍結 (ぼっちファームなので問題なし ! -

    短期決戦を目指して最優先でやる (3ヶ月でケリをつける! 残された希望に満ちたメモ … 100日後に折れるフラグ
  7. - v3.3.4で困っていたバグがいくつか直ってそう - WPA3対応してる! - メモリアロケータが変わった…だと…?(v4.3から - TLSF (Two-Level Segregate

    Fit) アロケータに - 教科書通りのフリーリストアロケータから O(1) アロケータに - これは重要な変更だ!じっくり調査するしかあるまい? - アロケータの論文 / コード読んだり楽しい時間を過ごす 夢の広がるリリースノート
  8. ヒープ残量が・・・ - v4.3.2に上げるとヒープ残量ががっつり減った… - 60KB -> 50KB - 何もしてないのにヒープ残量が減った! -

    SDKのコンフィギュレーションが何か変わったか?と調査を開始 - TLSFアロケータのテーブルが10KB使っている
  9. v4.3.2の評価結果は・・・? - ダメでした! - 2週間くらい動かすと WiFi 止まる現象がちらほら… - ここから長く苦しいバグ調査の日々が始まる -

    真相はバイナリの中 - なので、現象をファームのアプリ層でキャッチする条件調査 - 死活監視入れたり
  10. 新たなる希望v4.4.1 > Fixed failing to transmit data or getting stuck

    in WiFi sleep if running WiFi and BT with modem-sleep together これは…まさか…?
  11. ぶっちゃけESP32 (ESP-IDF) ってどうなの? - 破格の安さ - なぜか割と入手できる - 開発環境は使いやすい -

    ログシステム / デバッグ環境 / テスト環境 - ビルド用のDocker image完備 - menuconfig / kconfig - ソフトウェアに力入れているのは感じる - SDKの変更量 - LLVMのxtensa対応 - Rust - ただし…安定性は慎重な評価が必要 - 場合によっては死活監視も・・・ Ferrous Systemsがやっている Rustチュートリアル用ボードとかも製造
  12. まとめ - Nature RemoのESP-IDFをv3.3.4からv4.4.1にアップデートできた! - ESP32 & ESP-IDFは… - 使いやすいが安定性は慎重に評価が必要

    - バイナリ配布の通信部分はどうしようもない… - 見ての通りOSの自作は人生の役に立つんだ!