at_kazutaka.bito
2023年4月2日 15時33分
Armadillo-IoT(G3)のユーザースイッチ1でpoweroffする方法です。
10秒以上長押しするとpoweroffが実行されます。
poweroffが完了するとユーザーLEDは消灯します。
ユーザースイッチとユーザーLEDの位置はマニュアル(※)を参照ください。
※)
Armadillo-IoT ゲートウェイ G3製品マニュアル「3.4. Armadillo-IoTゲートウェイの外観」
1. 必要なパッケージのインストール、ソースコードのダウンロード
Armadillo-IoT(G3)をインターネットに接続可能なネットワークに接続しておきます。
必要なパッケージのインストール、ソースコードのダウンロードをします。
補足)ここでは、ソースコードにatmark-x1-base_3.2.1を使用しています。
異なるバージョンを使用する場合は、以下、バージョンを読み替えてください。
root@armadillo:~# apt-get update
root@armadillo:~# apt-get install build-essential
root@armadillo:~# wget https://download.atmark-techno.com/debian/pool/main/a/atmark-x1-base/atmark-x1-base_3.2.1.orig.tar.gz
2. ユーザースイッチでpoweroffするソフト(input-poweroffd)をビルド
ユーザースイッチでpoweroffするソフト(input-poweroffd)をビルドします。
root@armadillo:~# tar xzvf atmark-x1-base_3.2.1.orig.tar.gz
root@armadillo:~# cd atmark-x1-base_3.2.1/input-poweroffd
root@armadillo:~/atmark-x1-base_3.2.1/input-poweroffd# make
root@armadillo:~/atmark-x1-base_3.2.1/input-poweroffd# cp input-poweroffd /usr/sbin/
3. input-poweroffdの設定の変更
Armadillo-IoT(G3)のユーザースイッチ1でpoweroffするように
/lib/systemd/system/input-poweroffd.serviceの設定を下記のように変更します。
/lib/systemd/system/input-poweroffd.service
(元々の設定のうち、[Service]の下2行が変更が必要な個所です。)
[Unit]
Description=input event poweroff daemon
After=rc-local.service
[Service]
Type=simple
ExecStart=/usr/sbin/input-poweroffd -d /dev/input/event1 -k KEY_1
ExecStop=/usr/bin/input-poweroff stop
[Install]
WantedBy=multi-user.target
input-poweroffdを有効にします。
root@armadillo:~# systemctl enable input-poweroffd
root@armadillo:~# systemctl restart input-poweroffd
以上で、ユーザースイッチ1を10秒以上長押しすると、poweroffするようになります。