Armadillo Base OSでコンテナ内(アプリケーション)からLTEの設定を行う方法を紹介します。
本内容はArmadillo Base OSのバージョン 3.20.2-at.1 以降で使用する事が出来ます。
バージョンが古い場合はアップデートしてからお試し下さい。
1.ABOS Webでトークンの設定を行う
2.コンテナにcurlをインストールする
3.コンテナのコンフィグファイルを修正
4.コンテナ内からLTEコネクションを作成する
1.ABOS Webでトークンの設定を行う
最初にABOS Webを開いてトークンの設定を行います。
ABOS Webへのアクセス方法は製品マニュアルまたはこちらを参照下さい。
ABOS Webを開き、下記の設定管理を開きます。
この設定管理ではパスワード変更以外に、トークンの追加/削除や権限の設定を行う事ができます。
※トークンの権限は製品マニュアルの「REST API」を参照下さい。
今回はLTE接続を行う必要がある為、トークンに NetworkAdmin と NetworkView の権限を
追加しておきます。
これでトークン側の設定は完了です。
2.コンテナにcurl , jq をインストールする
VScodeでコンテナ(アプリケーション)を作成する場合は、packages.txtに curl , jq を追記し、
ビルド時にインストールしておきます。
3.コンテナのコンフィグファイルを修正
トークンを変数AUTHとして設定
VScodeのapp.conf(Armadillo Base OSでは/etc/atmark/containers/コンテナ名.conf)に下記の様に
変数としてトークンを設定しておくと楽です。
(コンテナに/etc/atmark/abos_web/tokensをマウントする事でもコンテナ内から確認出来ます)
add_args --env=AUTH="Authorization:Bearer a05f27ee-9396-4c0e-b7fb-436fe735b6f0"
上記のコンテナ及びコンフィグファイルをArmadilloにインストールした前提で次に進みます。
4.コンテナ内でLTEの設定を行う
ここではコマンドの検証の為、コンテナ内に入って動作確認を行います。
コンテナの再起動
[armadillo]# podman_start [コンテナ名]
コンテナに入る
[armadillo]# podman exec -it [コンテナ名] /bin/bash
コンテナ内にコネクションを作成する前に、現状のコネクションを確認します。
コンテナ内からコネクションを確認
[container]# curl -k -s -H "$AUTH" \
"https://host.containers.internal:58080/api/connections" | jq
<実行結果>
{
"connections": [
{
"name": "Wired connection 2",
"state": "activated",
"uuid": "188a6e2d-fe01-3b50-b741-00b226aeff82",
"ctype": "802-3-ethernet",
"device": "eth1"
},
{
"name": "lo",
"state": "activated",
"uuid": "9f760843-dfcd-458e-ba88-b7734a068478",
"ctype": "loopback",
"device": "lo"
}
]
}
次にLTEコネクションを作成します。
コンテナ内からLTEコネクションを作成(*****はAPN情報を適宜設定)
※プロンプトが戻るまで30秒~1分程度時間が掛かります。
[container]# curl -k -H "$AUTH" -X POST \
-d apn=***** \
-d user=***** \
-d password=***** \
https://host.containers.internal:58080/api/wwan
<実行結果>
{"uuid":"98d16fc1-4cf2-4f9a-a62f-ed178c550e0c"}
コネクションが作られているか確認します。
コネクションを確認(gsm-ttyCommModemがLTEのコネクション)
[container]# curl -k -s -H "$AUTH" \
"https://host.containers.internal:58080/api/connections" | jq
<実行結果>
<中略>
{
"name": "gsm-ttyCommModem",
"state": "activated",
"uuid": "98d16fc1-4cf2-4f9a-a62f-ed178c550e0c",
"ctype": "gsm",
"device": "ttyCommModem"
},
<以下略>
参考情報として、LTEコネクションを削除する場合は下記を実行します。
[container]# curl -k -s -H "$AUTH" -X DELETE \
https://host.containers.internal:58080/api/wwan
以上で、LTEのコネクション作成は完了です。