Armadillo Base OSでコンテナ内(アプリケーション)からLTEの情報を取得する方法を紹介します。
本内容はArmadillo Base OSのバージョン 3.20.3-at.5 以降で使用する事が出来ます。
バージョンが古い場合はアップデートしてからお試し下さい。
1.ABOS Webでトークンの設定を行う
2.コンテナにcurlをインストールする
3.コンテナのコンフィグファイルを修正
4.コンテナ内からLTEの情報を取得する
1.ABOS Webでトークンの設定を行う
最初にABOS Webを開いてトークンの設定を行います。
ABOS Webへのアクセス方法は製品マニュアルまたはこちらを参照下さい。
ABOS Webを開き、下記の設定管理を開きます。
この設定管理ではパスワード変更以外に、トークンの追加/削除や権限の設定を行う事ができます。
※トークンの権限は製品マニュアルの「REST API」を参照下さい。
今回は無線LANの設定を行う必要がある為、トークンに NetworkView の権限を追加しておきます。
これでトークン側の設定は完了です。
2.コンテナにcurlをインストールする
VScodeでコンテナ(アプリケーション)を作成する場合は、packages.txtに curl を追記し、
ビルド時にインストールしておきます。
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
以下のコマンドでIMEI、電話番号、電波品質情報を取得します。
■IMEIの取得
[container]# curl -k -s -H "$AUTH" \
https://host.containers.internal:58080/api/wwan/imei
<実行結果>
{"imei":"xxxxxxxxxxxxxxx"}
■電話番号の取得
[container]# curl -k -s -H "$AUTH" \
https://host.containers.internal:58080/api/wwan/phone_numbers
<実行結果>
{"phone_numbers":["xxxyyyyzzzz"]}
■電波強度の取得
[container]# curl -k -s -H "$AUTH" \
https://host.containers.internal:58080/api/wwan/signal_quality
<実行結果>
{"signal_quality":"100"}
以上の様にLTEの情報の取得方法頂ければと思います。