Armadilloフォーラム

ブログ"Armadillo-IoT G4 で Matter デバイスの制御をしてみた"をG3で実現可能か

y.hosokawa

2023年10月25日 17時22分

初めまして、Armadillo-IoTを利用している者です。
Matter技術に関する下記のブログに興味を持ちました。
https://armadillo.atmark-techno.com/blog/15992/14537

こちらをArmadillo-IoT G4ではなくG3で実現したいと考えているのですが、可能でしょうか。
OSがDebianとArmadillo Base OSという違いがあるので気になりました。

コメント

at_koseki

2023年10月25日 21時30分

古関です。

OSの違いがありますので、ブログの内容と全く同じ手順ではできないのですが、
コンテナ上で実行している部分を、G3のdebian上でやればできるはずです。
原理的にはchip-toolをlinux上で動作させ、WLAN, BTで通信しているだけですので。
(chip-toolを単純にビルドすると、G3のeMMC内に収まらないので、
 USBストレージを使うなどしないといけないはずです)

後日、弊社でも試してみますが、
それより前に、お客様でサクッとできてしまうかもしれません。
弊社で動かすことができたら、手順含め報告させていただきますね。

よろしくお願いいたします。

koga

2023年10月26日 7時37分

アットマークテクノの古賀です。

y.hosokawaさん:
>初めまして、Armadillo-IoTを利用している者です。
>Matter技術に関する下記のブログに興味を持ちました。
>https://armadillo.atmark-techno.com/blog/15992/14537
>
>こちらをArmadillo-IoT G4ではなくG3で実現したいと考えているのですが、可能でしょうか。
>OSがDebianとArmadillo Base OSという違いがあるので気になりました。

G3 で可能かどうかは、古関からもコメントしましたように、確認したことがないので、分かりません。ごめんなさい。
ひとまず、以下で紹介する Howto で使用している、Debian 11 (bullesye) ベースのコンテナを、G3 に Docker engine をインストールして試してみてくださいませ。

さて、G3 の場合は、上のブログで紹介している手順を使えません。このブログでは、G4 の ABOS (Armadillo Base OS) 上の Debian コンテナ内で、Matter コントローラー(chip-tool)をセルフビルドしています。しかし、chip-tool のビルドに必要なツールの一部(ZAP Tool など)が 64bit OS にしか対応していないため、32bit CPU の G3 ではセルフビルドできないのです。

そのため、chip-tool を、64bit OS で Arm 32bit CPU (armhf/armv7) 用にクロスビルドしないといけません。クロスビルドの手順は、こちらの Howto の「付録」で紹介しています:

 Matter over Thread 対応家電を Armadillo-640 + BT/TH オプションモジュールで操作する
 https://armadillo.atmark-techno.com/howto/a640_matter_over_thread
 https://armadillo.atmark-techno.com/howto/a640_matter_over_thread#appen…

ここに載せているクロスビルド手順は、bullesye ベースの ATDE 9 で行っていますので、ビルドしてできた chip-tool のバイナリを、G3 の Debian 10 (buster) で動かそうとしても、libstdc++.so.6 のマイナーバージョンが buster と bullesye とで違っていたりするため動作しません。
buster ベースの ATDE 8 で同じ手順を試してみましたが、「chip-tool のクロスビルドに必要なライブラリ群をクロスビルドする」の項の手順でビルドエラーしてしまいました。ビルドエラーの原因を追っていませんが、ATDE 9 でクロスビルドした chip-tool を、bullesye の Debian コンテナ上で動かすのが手っ取り早いかも知れません。

上記の Howto 用に、Matter デバイスのコミッショニングの際の Bluetooth 通信に必要な bluez と、armhf ターゲットにクロスビルドした chip-tool を入れた bullseye ベースのコンテナイメージを提供しています:
 https://armadillo.atmark-techno.com/howto/a640_matter_over_thread#appen…

G3 に Docker engine をインストールした後、Howto で説明している手順を参考にして、コンテナイメージのロードとコンテナの作成を行い、動かしてみてください。ABOS のコンテナエンジンは podman ですので、Docker engine を使う場合は、podman コマンドの代わりに docker コマンドを使わないといけませんが、コマンドオプションは大体同じです。
Docker engine のインストール手順は、Docker のドキュメントをご覧ください:
 https://matsuand.github.io/docs.docker.jp.onthefly/engine/install/debia…

以上、参考になりましたら幸いです。