ArmadilloをWLANのアクセスポイントとして使用した場合に、接続している子機の通信状況を確認する方法を紹介します。
ブログ
-
at_takuma.fukuda
-
at_kazutaka.bito
下記のArmadilloは、SD/microSDカードでインストールすることができます。
Armadillo-X1/IoT(G3):SDカードでインストール可能
Armadillo-610/640/X2/IoT(G3L/A6/A6E/G4):microSDカードでインストール可能
製品マニュアルには、ATDE上でSD/microSDカードにインストールディスクイメージを
書き込む手順が記載されていますが、ここではWindows上で書き込みます。 -
at_kazutaka.bito
Armadillo-640(Debian)をArmadillo-440のROM書き換え(※)のtftpサーバーとして使う方法です。
※) Armadillo-400 シリーズソフトウェアマニュアル:6.4. tftpdl を使用してフラッシュメモリを書き換える
Armadillo-640は、2種類のOS(Debian、Armadillo Base OS)に対応していますが、この手順では、Debianを使用します。 -
at_kazutaka.bito
Armadillo-IoT(G3/G3L)上で標準のインストールディスクイメージを書き込んだ
インストールディスク(SD/microSDカード)を作成する方法です。 -
at_shinya.matsumoto
本ブログはLTEや無線LAN等を搭載したArmadilloを経由して、本来直接外部からSSH接続できない
装置へSSH接続する方法をご説明します。 -
at_kazutaka.bito
Armadillo-IoT(G3/G3L)/X1を無線LANアクセスポイントのように使う方法です。
ここでは、dnsmasq+hostapdを使います。 -
at_kazutaka.bito
Armadilloでネットワーク通信のパケットを確認する方法です。
ここでは、Debianで動作するArmadilloでtsharkを使用します。 -
at_shinya.matsumoto
Armadilloの各製品に搭載しているLTEモジュールの機能を一覧表にしました。
-
at_shinya.matsumoto
Armadilloの各製品に搭載している無線LAN+BTモジュールの機能を一覧表にしました。
-
at_kazutaka.bito
無線LANの電波強度を確認する方法です。
ここでは、wavemonを使用します。 -
at_kazutaka.bito
UDP通信できているか簡易的に確認する方法です。
ディストリビューションがDebianのArmadilloを対象としています。
ここでは、通信の対向側にはATDEを使用します。 -
at_kazutaka.bito
Armadillo-IoT(G3L)をSDブートさせるためのブートディスクを作成する方法です。
各製品マニュアルには、PC上で動作する開発環境(ATDE)を使って作成する方法が記載されていますが、
ここでは、Armadillo-IoT(G3L)上で作成します。 -
at_takumi.mizutani
NetworkManagerを用いて構築したアクセスポイントは、標準でWPSが有効になっておりますが、
セキュリティの観点からWPSは無効化しておくことを推奨いたします。ここでは例として、接続名が "wifi_ap" のコネクションに対してWPSの無効化を行います。
root@armadillo:~# nmcli connection modify wifi_ap 802-11-wireless-security.wps-method disabled
また、反映された設定は以下のコマンドで確認することが出来ます。
-
at_kazutaka.bito
Debian busterで動作するArmadillo(X1、IoT(G3)、640等)で、pythonスクリプトを実行ファイル化する方法です。
-
at_takuma.fukuda
IoTゲートウェイを様々なセンサや機器と接続して使用する際、 データを収集してサーバへアップロードするだけでなく、接続された機器への遠隔制御を行う場合、
Armadilloシリーズ製品ではどのようにその機能を実装すれば良いかをご紹介します。基本的な考え方
機器を制御するための処理を実装しておき、この処理を実行するためのトリガを遠隔から与えるという考え方です。
トリガの種別ごとにいくつかの方法をご紹介します。サーバに常時接続していない場合
Armadilloがサーバに常時接続していない場合、サーバで何らかの操作を行ってもArmadilloにはすぐには反映されません。
そこで、別途Armadilloにアクセスする手段を考える必要があります。 -
at_takumi.mizutani
ファイル内文字列の加工
文字列の一部を置き換え、削除といった加工を行うにはsedコマンドを使用します。
文字列の置き換え
sedコマンドで"s/置換元/置換後/g"と記述することで文字列の置き換えを行うことができます。
以下の例では、Armadillo.txtから"G3"とマッチする箇所を"Degu_G3"と置き換えます。
-
at_takumi.mizutani
ファイル内文字列の検索(基本正規表現)
ファイル内の文字列を検索するにはgrepコマンドを使用します。
以下の例では、Armadillo.txtから"Armadillo-IoT"とマッチする行を検索します。
cオプションを使用するとマッチする行数を出力することもできます。
-
at_takumi.mizutani
本記事で紹介する正規表現
本記事で紹介する正規表現の概要について下表にまとめます。
各正規表現の詳細な説明についてはその後に説明します。
-
at_takumi.mizutani
本記事で紹介する正規表現
本記事で紹介する正規表現の概要について下表にまとめます。
各正規表現の詳細な説明についてはその後に説明します。
-
at_takumi.mizutani
本記事で紹介する正規表現
本記事で紹介する正規表現の概要について下表にまとめます。
各正規表現の詳細な説明についてはその後に説明します。
-
at_takumi.mizutani
コマンドが存在するパスを調べるには、whichコマンドを使用します。
※ここでは例として、systemctlコマンドについて調べます。[armadillo ~]# which systemctl /usr/bin/systemctl
また、whereisコマンドを使用することで、指定したコマンドのマニュアル等が存在するパスも調べることができます。
[armadillo ~]# whereis systemctl systemctl: /usr/bin/systemctl /usr/share/man/man1/systemctl.1.gz
マニュアルのパスのみを調べる場合はman -wコマンドを使用します。
-
at_takumi.mizutani
Linuxコマンドのリファレンスマニュアルを表示するにはmanコマンドを使用します。
コマンドの概要のみを表示す場合にはwhatisコマンドを使用します。
※ここでは例として、systemctlコマンドについて調べます。 -
at_shiita.ishigaki
任意のメモリ空間にアクセスする方法として devmem2 を使用する方法がありますが、似た機能を持つコマンドとして **memtool** があります。 **memtool** は debian パッケージとして配布されているため、ビルドせずに使用することができます。
-
at_kazutaka.bito
SDブートを活用して、eMMC内のルートファイルシステムの一部を書き換える方法です。
活用例)
eMMC内のソフトが意図した動作をせず、起動途中で止まる、ログインできないなど操作不能の状態に陥った場合
→SDブートで起動して、eMMC内の問題となるソフトを停止、削除、正常なソフトに書き換える。 -
at_kazutaka.bito
Armadillo-IoT(G3L):製品アップデート/ソフトバージョン相関早見表(Linux-4.9/Buster版)
(2022年4月時点) -
at_kazutaka.bito
Armadillo-IoT(G3L):製品アップデート/ソフトバージョン相関早見表(Linux-4.9/Stretch版)
(2022年4月時点) -
at_shinya.matsumoto
Armadillo製品に使用しているeMMC(ストレージ)の予備領域の確認方法について、eMMCの前提情報を交えつつご紹介します。
予備領域が残っているかどうかで寿命予測に活用できます。 -
at_kazutaka.bito
購入製品登録ための正規認証ファイルの取得には、Armadillo-X1/IoT(G3/G3L)上でget-board-infoを実行しますが、
Linuxディストリビューションによって、手順に若干の違いがあります。
正規認証ファイルの取得(get-board-info)が失敗する場合は、下記のようにLinuxディストリビューションを確認の上、
get-board-infoを実行ください。 -
at_kazutaka.bito
シリアル通信で制御コードを含むデータの送信/受信する簡易的な方法です。
ここでは、pyserialを使用します。 -
at_kazutaka.bito
コマンドのみで、シリアル通信で制御コードを含むデータを送信する方法です。
-
at_takuma.fukuda
Armadillo-640のBT/THオプションモジュールを使ってビーコンの接近を感知し、警報を出力するシステムをご紹介しました。
Armadillo-640:BT/THオプションモジュールを使用してビーコンの接近を感知、警報を出力する
このシステムをArmadillo-IoT G3Lを使って構築し、動作することを確認しました。
基本的にはArmadillo-640と同様に、以下をインストールしておけばサンプルコードを動作させることが出来ます。 -
at_shiita.ishigaki
コマンドの出力と実行した時間を記録する方法
-
at_shiita.ishigaki
systemdのログはserviceの一つである、systemd-journald.serviceによって保存されます。 本ブログではsystemd-journald.serviceによって保存されたログの確認方法について紹介します。
-
at_shiita.ishigaki
ホスト名を確認・変更する方法
-
at_shiita.ishigaki
ロケールとは国・地域等によって違うタイムゾーンや書式等をシステムに伝える機能です。 本ブログではロケール設定を確認、及び変更する方法について説明します。
-
at_shiita.ishigaki
bashでオプションを解析する方法
-
at_shiita.ishigaki
ファイル内の改行数・単語数・文字数を表示する方法
-
at_shiita.ishigaki
.zipファイルを圧縮・解凍する方法
-
at_shiita.ishigaki
.xzファイルを圧縮・解凍する方法
-
at_shiita.ishigaki
ファイルの同じ文字列の行を削除して表示する
-
at_shiita.ishigaki
タブからスペース、スペースからタブに変換する方法
-
at_shiita.ishigaki
任意のサイズのファイルを作成する方法
-
at_takuma.fukuda
外部メモリの自動マウントについて、udevの挙動がDebian Busterで変化しているため、その対策を紹介する
-
at_shiita.ishigaki
ファイルを作成・タイムスタンプの更新をする方法
-
at_shiita.ishigaki
指定した文字を削除・置換する方法
-
at_shiita.ishigaki
端末の設定を表示・変更する方法
-
at_shiita.ishigaki
ファイルの更新日時等の情報を表示する方法
-
at_shiita.ishigaki
ファイル内の表示可能な文字列を表示する方法
-
at_shiita.ishigaki
ファイルの中身をソートする方法
-
at_shiita.ishigaki
数値や文字列をシャッフルする方法