Armadilloフォーラム

Node-RED上から、電波強度を取得したい

y.shimizu

2025年2月10日 14時11分

いつもお世話になっております。
Node-REDのコンテナ上から、電波強度を取得したい。

下のコマンドで取得される結果を、Node-REDで取得したいです。
mmcli -m 0 | grep "signal quality"

【質問】
・REST APIを使用して、取得できますでしょうか。
・具体的な手順をご教示いただけますか。

==========
製品型番:Armadillo-IoT A6E (AG6271)
Debian/ABOSバージョン:3.18.5-at.8
カーネルバージョン:5.10.205-0-at
3G/LTE モジュール情報 (Debianのみ):
その他:
==========

コメント

> いつもお世話になっております。
> Node-REDのコンテナ上から、電波強度を取得したい。
>
> 下のコマンドで取得される結果を、Node-REDで取得したいです。
> mmcli -m 0 | grep "signal quality"

製品マニュアル
6.12.6.9. Rest API : WWAN の設定

電波品質の取得
GET "/api/wwan/signal_quality"
をご確認ください。

https://manual.atmark-techno.com/armadillo-iot-a6e/armadillo-iotg-a6e_p…
>
> 【質問】
> ・REST APIを使用して、取得できますでしょうか。
> ・具体的な手順をご教示いただけますか。
>
>
> ==========
> 製品型番:Armadillo-IoT A6E (AG6271)
> Debian/ABOSバージョン:3.18.5-at.8
> カーネルバージョン:5.10.205-0-at
> 3G/LTE モジュール情報 (Debianのみ):
> その他:
> ==========
>
>
>

> 製品マニュアル
> 6.12.6.9. Rest API : WWAN の設定
> の
> 電波品質の取得
> GET "/api/wwan/signal_quality"
> をご確認ください。
>

ありがとうございます。
ABOS web上で、APIのトークンを作成後、curlで/api/wwan/signal_qualityを叩きましたが、表示なされませんでした。

【質問】
・APIのトークン情報は、aliasの$AUTH内に書きこむのか、Node-REDの起動ファイルに書きこむのかどちらでしょうか。

ご回答いただけると幸いです。

アットマークテクノの古賀(休日モード)です。

y.shimizuさん:
>ありがとうございます。
>ABOS web上で、APIのトークンを作成後、curlで/api/wwan/signal_qualityを叩きましたが、表示なされませんでした。
>
>【質問】
>・APIのトークン情報は、aliasの$AUTH内に書きこむのか、Node-REDの起動ファイルに書きこむのかどちらでしょうか。
>
>ご回答いただけると幸いです。

Node-RED コンテナの起動設定ファイル(コンフィグファイル)に記載してください。
以下のブログが参考になるかと思います:

・Armadillo Base OS:コンテナからLTEの情報を取得する方法
 https://armadillo.atmark-techno.com/blog/15349/23588

> Node-RED コンテナの起動設定ファイル(コンフィグファイル)に記載してください。
> 以下のブログが参考になるかと思います:
>
> ・Armadillo Base OS:コンテナからLTEの情報を取得する方法
>  https://armadillo.atmark-techno.com/blog/15349/23588

上記手順を行ったところ、
 Page not found
の出力が得られました。

【質問】
・APIトークンが有効であるかどうか、ABOS上で調べる方法をご教示ください。
・この結果から、考えられる原因と対策をご教示いただけませんか。

【行った手順】
①ABOSweb上で、networkビューのAPIトークンの作成
②Node-REDのconfファイルにに書き込み
 add_args --env=AUTH="Authorization:Bearer [APIトークン]"
③Node-REDのコンテナ内で、curlのコマンドを叩く
 curl -k -s -H "$AUTH"
 https://host.containers.internal:58080/api/wwan/signal_quality

at_shinya.matsumoto

2025年2月12日 15時13分

横から失礼します。

当該ブログ作成者の松本です。
Armadillo Base OSのバージョン3.20.3-at.5で追加したAPIの為、ご使用の3.18.5-at.8では使うことが出来ません。
お手数ですが、Armadillo Base OSをアップデートしてお試し頂けないでしょうか?

ちなみに、tokenは下記コマンドで確認出来ます。(下記はブログのトークンとは別です)

[armadillo]# cat /etc/atmark/abos_web/tokens/[APIトークン].token
《実行結果》
{"permissions":["NetworkView"]}

> お手数ですが、Armadillo Base OSをアップデートしてお試し頂けないでしょうか?

・アップデートしようとしたところ、エラーが出ました。
・エラーを見ると、証明書の追加が必要だと書かれておりました。
・initial_setup.swu作成の際、mkswu --init を実行した際に質問のどれかで「アットマークテクノが作成したイメージをインストール可能にしますか? (Y/n) 」の選択をnoとしたため、/etc/swupdate.pemに、証明書の追加を行いました。
参照:https://armadillo.atmark-techno.com/forum/armadillo/16971
・追加後、アップデートをしようとしたところ、以下のエラーが出力されました。

【依頼】
エラーに対する内容と、解決策をご教示いただけませんか。

エラー内容

armadillo:~#swupdate -d '-u https://armadillo.atmark-techno.com/files/do
wnloads/armadillo-iot-a6e/image/baseos-6e-3.20.5-at.8.swu'
SWUpdate v2023.05_git20231025-r0
 
Licensed under GPLv2. See source distribution for detailed copyright notices.
 
[INFO ] : SWUPDATE running :  [main] : Running on iot-a6e Revision at1
[INFO ] : SWUPDATE running :  [channel_get_file] : Total download size is 59390 kB.
[INFO ] : SWUPDATE started :  Software Update started !
7C0D88B6:error:17000064:CMS routines:cms_signerinfo_verify_cert:certificate verify error:crypto/cms/cms_smime.c:289:Verify error: self-signed certificate
[ERROR] : SWUPDATE failed [0] ERROR : Signature verification failed
[ERROR] : SWUPDATE failed [0] ERROR : Compatible SW not found
[ERROR] : SWUPDATE failed [1] Image invalid or corrupted. Not installing ...
[ERROR] : SWUPDATE failed [0] ERROR : Writing into SWUpdate IPC stream failed.
[INFO ] : No SWUPDATE running :  Waiting for requests...
[ERROR] : SWUPDATE failed [0] ERROR : Channel operation returned error (23): 'Failed writing received data to disk/application'

at_satoshi.ohta

2025年2月12日 19時08分

太田です。

横から失礼いたします。
こちらのエラーはアットマークテクノの署名用の公開鍵が無いのが原因かと思われます。
以下のコマンドをArmadillo上で実行してみるとどうなりますでしょうか?

armadillo:~# abos-ctrl certificates restore-atmark
armadillo:~# abos-ctrl update 

abos-ctrl certificates restore-atmarkでアットマークの公開鍵が復元されるはずです。
abos-ctrl update で最新のArmadillo Base OSのSWUイメージがインストール出来ます。

もし、アットマークの公開鍵を消去したい場合は、アップデート後に以下のコマンドを実行してください。

armadillo:~# abos-ctrl certificates remove-atmark

試してみて、解決の一助となれば幸いです。
どうぞよろしくお願いいたしします。

> 太田さん
>
> 横から失礼いたします。
> こちらのエラーはアットマークテクノの署名用の公開鍵が無いのが原因かと思われます。
> 以下のコマンドをArmadillo上で実行してみるとどうなりますでしょうか?
>

> armadillo:~# abos-ctrl certificates restore-atmark
> armadillo:~# abos-ctrl update 
> 

以下のログが出力されました。
ABOSのバージョンが3.18.5-at.8であることと関係ありますでしょうか。

armadillo:~# abos-ctrl certificates restore-atmark
WARNING: Invalid option certificates
Usage: /usr/sbin/abos-ctrl [options] [action]
 
Armadillo Base OS control utility
 
The default action is status.
 
Actions:
    status: print and check current active partition
    reboot: reboot after making sure no update is in progress
    rollback: force a rollback to the other version
    rollback-force <dev>: rollback to specified target device
    rollback-clone: copy current system on backup partition
    mount-old: mount previous baseos on /target
    make-installer: make install disk image from current system
    podman-storage: display or change podman main storage (disk or tmpfs)
    podman-rw: manually run podman with its read only storage as read-write
    container-clear: remove all containers and related data
    restore-kernel: remove kernel pinning and reinstall version from repo
    umount: recursive umount command
 
Options:
    -n/--dry-run: do not actually rollback, just print what would be done
    -v/--verbose: add trace messages
    -q/--quiet: do not display info messages
                repeat to disable warnings as well
    -V/--version: show version and exit

at_satoshi.ohta

2025年2月12日 20時25分

太田です。

ABOSのバージョンが古いため、abos-ctrl certificatesコマンドが存在しないようです。

armadillo:~# vi /etc/swupdate.pem 

で以下を追記して頂いてもよろしいでしょうか?

# atmark-2
-----BEGIN CERTIFICATE-----
MIIBvzCCAWagAwIBAgIUfagaF9RAjO2+x54PMqIlZkain9MwCgYIKoZIzj0EAwIw
NzERMA8GA1UECgwIU1dVcGRhdGUxIjAgBgNVBAMMGUFybWFkaWxsbyBzd3VwZGF0
ZSBrZXkgIzIwHhcNMjIwNjIxMDA1MDA3WhcNMjcwNjIwMDA1MDA3WjA3MREwDwYD
VQQKDAhTV1VwZGF0ZTEiMCAGA1UEAwwZQXJtYWRpbGxvIHN3dXBkYXRlIGtleSAj
MjBWMBAGByqGSM49AgEGBSuBBAAKA0IABEZET+Xk1wUxu+tIBJgXwgc+H1smH1Md
2vrGMh3uLnNbEDdm2r8X2gZSZshiODGPz5I4eRQ1XHXWX4peedllKFmjUzBRMB0G
A1UdDgQWBBRWljU9dLvWsc0/vl+uoF9l4NxhqjAfBgNVHSMEGDAWgBRWljU9dLvW
sc0/vl+uoF9l4NxhqjAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMCA0cAMEQC
IB5TR4mquAJVwcugTL/4pzc06Gfci/a6Fkg77PvyfrKmAiBLB51kBrxi07alCofM
LAzCERFEjT1UH1NutbSZr5IFdQ==
-----END CERTIFICATE-----
# atmark-3
-----BEGIN CERTIFICATE-----
MIIBwTCCAWagAwIBAgIUXXINCBvN9qSiMBms8SNnRZ3BZG0wCgYIKoZIzj0EAwIw
NzERMA8GA1UECgwIU1dVcGRhdGUxIjAgBgNVBAMMGUFybWFkaWxsbyBzd3VwZGF0
ZSBrZXkgIzMwHhcNMjQxMTA1MDQxNDEwWhcNMjkxMTA0MDQxNDEwWjA3MREwDwYD
VQQKDAhTV1VwZGF0ZTEiMCAGA1UEAwwZQXJtYWRpbGxvIHN3dXBkYXRlIGtleSAj
MzBWMBAGByqGSM49AgEGBSuBBAAKA0IABOiGR2/uUTPMMV1gfDXVacuZO0x2OtUi
j+/uBqnoFtkgyd8mFGLsC+zGVYyrWrlGFGEFbysxHPoIcTnUIDKHc3yjUzBRMB0G
A1UdDgQWBBROxN05Lj3ys40OktLJU/Lgw7rY8DAfBgNVHSMEGDAWgBROxN05Lj3y
s40OktLJU/Lgw7rY8DAPBgNVHRMBAf8EBTADAQH/MAoGCCqGSM49BAMCA0kAMEYC
IQClyuLZXOOutzmC9hs+0kki6xzLBJq8v0cVrT+N5oQezQIhAJg0Ew/C/E8bAemp
LTteeyDeKJOYWXWvi9lRUx7jY6WR
-----END CERTIFICATE-----

その後、以下のコマンドを実行してください。

armadillo:~# swupdate -d "-u https://armadillo.atmark-techno.com/files/downloads/armadillo-iot-a6e/image/baseos-6e-3.20.5-at.8.swu"

これで問題なくアップデートできるでしょうか?

どうぞよろしくお願いいたします。

> 太田さん
>
> これで問題なくアップデートできるでしょうか?
>
> どうぞよろしくお願いいたします。

ありがとうございます。
上記の、公開鍵を追加したところ、問題なくアップデートが行われました。

また、Node-RED上から、signal_qualityの取得することも確認できました。

この度はありがとうございました。