Slide 1

Slide 1 text

@takasehideki #Zenoh 完全に理解した 〜組込み純情篇〜 2024/08/31

Slide 2

Slide 2 text

Hobby Recent R&D Affiliation https://discourse-cdn-sjc1.com/standard/uploads/ros/original/1X/4a43b86081b214cff55280de763dbc2f3a445189.png Mission あらゆる モノ・コトと ヒトを繋げる 設計基盤の 確⽴ 最適化 設計技術 良いモノ を 誰でも楽に つくることができる世界へ 組込み/IoTコンピューティング基盤を⽀える プラットフォーム技術と設計⽅法論 @takasehideki MEC BEAM クラウド BEAM エッジ BEAM 最適配分アルゴリズム 透過型分散プラットフォーム BEAM システム開発者 デプロイされる コード ① ③ ② ③ ③ ❤ 評価アプリ ❤ 評価アプリ ④ ④ ❤ 評価アプリ ④ ② ② ❤ 評価アプリ ④ ② ② ② ②

Slide 3

Slide 3 text

3 下呂に行っていました! https://swest.toppers.jp/phx/

Slide 4

Slide 4 text

4 こんなんやりました!! https://swest.toppers.jp/SWEST26/program#s5b @takasehideki 2024/08/30 SWEST26 セッションs5b すべてが #Zenoh になる 〜柔軟にして軽量〜

Slide 5

Slide 5 text

5 セッションの構成 • 前半:チュートリアル (a.k.a Zenoh完全に理解した:D −前口上:IoT Computing と出版購読型通信 −Zenoh の4つの側面 −広がるセカイ:ロボットにもマイコンにも! • 後半:ハンズオン (a.k.a Zenohまるでわからん;;( 1:様々な言語でつなげる 2:IoT的につなげる

Slide 6

Slide 6 text

Peer to Peer Clique Mesh Brokered Routed Peer Peer Peer Peer Peer Peer Peer Peer Peer client client Router Router Router client client client client client client Router Router • Zero Overhead Pub/Sub, Store/Query and Compute. −Zero network overhead protocol −ネットワーク内ではDDSライク, ネットワーク間ではMQTTライクな通信ミドルウェア • 4つのポイント ① とにかくかるい! ② なんでもつかえる! ③ いろいろつながる! ④ よしなにしゃべれる! 6 https://zenoh.io/blog/2023-03-21-zenoh-vs-mqtt-kafka-dds/ • Pub / Sub (Push) - basic pub/sub method • Pub / Sub (Pull) - Sub receives in its own timing • Pub / Store / Get - KVS based computation • Get / Reply - RPC-like communication node node node node node node node node Pub Sub(callback) Sub(Pull) Pub Pub Get Reply Pull TL;DR,,,

Slide 7

Slide 7 text

• ZettaScale CEO/CTO直伝!Zenoh完全理解セミナー! @2023/12/19 −スライド資料 −YouTubeアーカイブ • speakerdeck.com/takasehideki −なんしかいろいろつながるZenohの紹介 @FA_Study#17 2024/02/03 −ZenohのROS 2向け対応の現状と方向性 @rosjp#54 2024/02/09 −すべてが #Zenoh になる @robosemi#44 2024/03/15 −Zenohex完全に理解した(しらんけど:D @daimon.ex 2024/07/19 ✓ YouTubeアーカイブ 7 詳しくは??

Slide 8

Slide 8 text

• ROSCon JP 2024!! @2024/09/25 https://roscon.jp/2024/ 8 詳しくは??

Slide 9

Slide 9 text

• https://github.com/eclipse-zenoh/zenoh-pico −Cで再実装した組込み向け軽量Zenoh −PlatformIO で各種PF/RTOS/ボード向けに対応 −かなりええ感じの性能が出ているらしい https://zenoh.io/blog/2022-02-08-dragonbot/ 9 これが本題!組込みマイコンでも!!

Slide 10

Slide 10 text

10 • ハンズオン1:様々な言語でつなげる −Python, Elixir, Rust 実装のノードをPub/Subしてみる −PhoenixアプリとWeb連携させてみる −プログラミングモデルを理解する • ハンズオン2:IoT的につなげる −zenoh-pico を使ってみる −組込みマイコンとWebアプリをIoT連携させてみる • 詳細な手順は,,, https://github.com/takasehideki/zenoh_swest26_trial 論よりRUN!! "ron yori run" The RUN is mightier than the word

Slide 11

Slide 11 text

11 One more thing,,, • 参加者の方がブラウザアプリで 弊 Zenohex を簡単にお試しできる 環境を整備してくれました!! https://qiita.com/RyoWakabayashi/ items/5ca689f9a14f3abfafea

Slide 12

Slide 12 text

12 One more thing,,, MEC MEC MEC MEC S R v 6 M U P m e e t s E l i x i r & Z e n oh t ow a r ds G i oc c i ! ! G i o c c i Z en ohex Z e n o he x = Z e n o h+ E l i x i r MEC エッジ・MEC・クラウドを意識させないプラットフォーム MEC 軽量かつ柔軟なPub/Sub通信ミドルウェア基盤 https://github.com/biyooon-ex/giocci https://github.com/biyooon-ex/zenohex ⾼瀬 英希・伊藤 慧弥・細合 晋太郎(東京⼤学)・菊池 豊・⻄内 ⼀⾺・⼤崎 充博(⾼知⼯科⼤学)・松嶋 聡(ソフトバンク) MEC MEC MEC MEC MEC MEC MEC MEC MEC Internet GW GW クラウドサーバ ⾃動で最適なMECに オフロード 学校 船舶 ⼯場 農業 運送 公共交通 ① ② ①エッジデバイス ⇆ MEC ②エッジデバイス ⇆ クラウドサーバ S R v 6 M U P ex ex フロント エンド バック エンド 画像 認識 PHP 5G-SA キャリアA キャリアB Engine 5G MEC関東 Store Engine 5G MEC関⻄ Store Client Device Giocci.ex module SRv6 MUP module Relay SRv6 MUP node1 node2 node3 node4 Zenoh Python Zenoh Elixir Zenohex Rustler Zenoh Elixir Zenohex Rustler t o p ic n o d e 1 n o d e 2 n o d e 3 n o d e 4 button pub sub sub motor sub pub movie sub pub pub/sub Zenoh C++ NAPT NAPT

Slide 13

Slide 13 text

13 Thank you! merci!! Arigato!!! @takasehideki A part of this work is going as collaborative research with SoftBank Corp., and was supported by the commissioned research (04001) by National Institute of Information and Communications Technology (NICT), Japan.