Armadilloフォーラム

コンテナ内からmmcliコマンドを使用してSMS関連処理を行いたい

saito.iwaya

2023年12月25日 13時45分

コンテナ内から以下のようなコマンドを実行したいのですが
良い方法等ございませんでしょうか?

リスト取得
mmcli -m 0 --messaging-list-sms

読み出し
mmcli -s [SMS 番号]

削除
mmcli -m 0 --messaging-delete-sms=[SMS 番号]

コメント

at_dominique.m…

2024年1月31日 11時58分

saito.iwayaさん、

お世話になっています、
マルティネです。

返事が遅くなって大変申し訳ございません。

> コンテナ内から以下のようなコマンドを実行したいのですが
> 良い方法等ございませんでしょうか?

「良い方法」とは言いませんが、方法はいくつかあります:

1/ fifo か何かで簡単なサーバーを準備して、コンテナからそれでコマンドを実行する
https://armadillo.atmark-techno.com/forum/armadillo/17613 に再起動用の簡易サービスの説明をしましたが、似たような方法で mmcli コマンドをホストで実行できます。

2/ ホストの dbus ソケットをコンテナに共有して使います
コンテナのコンフィグに「add_volumes /run/dbus:/run/dbus:ro」などで /run/dbus/system_bus_socket を共有すれば、コンテナから mmcli コマンドを直接に実行できます。
ただし、コンテナと ABOS の modemmanager のバージョンが異なる場合にはエラーで失敗する可能性がありますので、その点は充分確認してください。

もっとマシな方法がなくて申し訳ございません、いずれは ABOS-Web の REST API でモデムの管理機能を追加するか、こういうコマンドを自分で追加できるようにしたいですが、今のところはまだできてませんので自分で実装するしかないです。

大変お手数ですが、実装に際に何か困りましたらまた聞いてください。

よろしくお願いします。

at_dominique.m…

2024年1月31日 12時50分

saito.iwayaさん、

連続ですみません

> 「良い方法」とは言いませんが、方法はいくつかあります:

3/ modemmanager をインストールするまでもなく、python か何かで dbus API を直接に叩けるとの連絡が入りました。
https://armadillo.atmark-techno.com/blog/11167/17337 では簡単な LTE 状態の確認しかないですが、SMS もこういうふうに取得できます。
2の modemmanager のバージョンの指摘と同じく、Base OS に入ってる modemmanager や dbus のバージョンの変更で動かなくなる可能性もありますが、modemmanager すべてをコンテナに複製するよりは使いやすいかもしれません。
(ブログの方にもいずれ SMS の例を追加する予定だそうです)

よろしくお願いします。