1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Zetta platform 試してみた

Last updated at Posted at 2024-12-20

TL;DR

Zetta platformを使ってNat越え通信をお試ししてみた記録です。

Zenoh とは

とにかく軽くて、かなり何でもつながる凄いプロトコルです。

詳しい説明は@Shintaro_Hosoaiさんのこちらの記事@takasehidekiさんのこのプレゼン等を参照ください。

Zenoh Routerと呼ばれるサーバを用いることで、遠隔地の別ネットワークのPC同士でもpub/sub通信させることができます。また、MQTTやOPC-UAの様なPLCで使う通信規格や各種DBとも通信が可能です。

Zetta platformとは

Zenohの開発を行っているZetta Scaleが運営しているZenoh用のPaaSです。ZenohのRouterメッシュの管理をしたり、クライアントに渡す認証情報の発行をWebで完結させることができます。

AWSやAzureで自前のZenoh Routerを建てれば通信はできるのですが、Zetta Platformを使えば、ネットワークの設定等の手間を少しだけ省くことができます。参考

image.png

やること

Zetta Platformを使って、ネットワーク越しに pub / subを行う。

環境

Ubuntu 24.04
Zenoh 1.1.0 1.0.4 ※1.1.0にて動作確認済

(可能であれば、別々のルータ配下のPCを1台ずつ)

1. ユーザー登録

以下のURLに開いてユーザー登録をいます。

Registerを押してください。
image.png

Get Startedを押して登録を開始してください。基本的にNEXTを押していくだけで、登録できました。
image.png

支払い方法の追加などが必要なので、適当なクレジットカードを登録してください。

2. Projectを作成する

ログイン後のホーム画面で、[Create Project]を押してプロジェクトを作成します。

image.png

プロジェクトの名前とZenohのバージョンは1.0.4を選択し、NEXTを押します。
image.png

Zenoh Routerを追加する画面に遷移します。Zenoh Routerの名前と設置するリージョン選択し、NEXTを押します。
image.png

ストレージの追加画面に遷移します。使わなければNEXTを押します。
image.png

MQTTとのコネクタ作成画面です。使わなければNEXTを押します。
(MQTTと通信させる場合はなぜかここで追加が必須)
image.png

確認画面に遷移します。最後にcreate projectを押すとプロジェクト作成されます。
image.png

クライアントを作成して認証情報を発行する

作成したプロジェクトを開いて[Use my Project]を押下します。

image.png

以下の画面に遷移するので右上の[USE MY PROJECT]->[Connect a client app]を押下
image.png

以下の画面に遷移します。Clientの名前を入力して[NEXT]をクリックしてください。
image.png

画面が遷移して、pythonのサンプルプログラムをダウロードする方法と実行方法が表示されます。
image.png

画面の指示に従って、curlを使ってサンプルプログラムをダウロードして、unzipなどで適当なディレクトリに回答します。

同様の手順でもう一つclient作成してダウンロードすれば準備は完了です。

通信テスト

クライアントの作成と各PCへのサンプルプログラムのダウンロードが完了したら、

以下のコマンドで対応するZenohのライブラリをインストールしてください。
(Ubuntu 24.04からaptでインストールできないライブラリは、venv等の仮想環境でインストールするよう警告が出ます。適当な仮想環境を準備してください。)

pip3 install eclipse-zenoh==1.1.0

追記 2025/1/11現在、Zenoh 1.1.0に対応した模様です。

PC1

python3 z_sub.py -c config.json

PC2

python3 z_pub.py -c config.json

通信が成功すれば、ブラウザのprojectのHomeで下記のようにRouterとClientが接続されて表示されます。

image.png

停止する

プロジェクト使わない場合には、ホームの下記の画面からインスタンスの停止ができます。

image.png

停止しておかないと稼働してる時間分ずっと料金が発生します。ご注意ください。

お値段

有料のSaaSサービスなのでお金かかります。 0.3ユーロ/時間とのこと

image.png

実際に、一番ボーレートの小さいSmallを設定し、2日間ちょっと動かしっぱなしで合計54時間 17.01 ドル 2400円ちょっとでした。

image.png

30日動かすとして 35,000円/月くらいになるので、ちょっとお高い印象です。

稼働・停止ができるので、使わないときに止めておけば料金は安く抑えられるので、ちょっとした実験用にはよいのではないでしょうか。

データ量でも料金が変わってくるみたいなので、運用次第かもですが。

感想とか

  • セキュリティ関係の設定なんかも使いやすくまとまっているので、ちょっとした実験に使うの良さそう
  • 今回はROS 2でrmw_zenohを試していないので、後々試す
  • 長期で使うなら自前サーバ建てた方が良いかも

参考資料

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?