ブログ

Armadillo-IoT G4:ユーザースイッチのみでシャットダウン、リブートを行う方法

at_shinya.matsumoto
2022年12月15日 9時05分

本ブログはArmadillo Base OS搭載製品で、実運用時などコンソールが無い場合でもArmadilloを
poweroff や reboot を実行する方法をご紹介します。
※実行するにはArmadillo Base OS側で設定が必要です。

ユーザースイッチとは

Armadillo-IoT G4では下記図の右側にあるタクトスイッチをユーザースイッチと言います。
このスイッチの機能はお客様のご用途に合わせて設定して頂く事が可能になっています。

今回はArmadillo Base OS(ホスト側)で使用しますが、コンテナ内で使用する事も可能です。
コンテナ内で使用する場合には /dev/inputをコンテナに渡す必要があります。

設定手順

今回はユーザースイッチに下記の設定を行います。
①長押し5秒以上10秒未満でrebootを実行
②長押し10秒以上でpoweroffを実行
※長押し時間が最も長いものはスイッチを離さなくても実行されます。(②の場合、10秒経過でpoweroffを開始)
 長押し以外にも1秒未満の押下設定も可能です。

Armadillo Base OSの/etc/atmark/buttond.conf を下記の様に編集します。

[Armadillo]# cat /etc/atmark/buttond.conf
BUTTOND_ARGS="$BUTTOND_ARGS -l prog1 -t 5000 -a 'reboot'"
BUTTOND_ARGS="$BUTTOND_ARGS -l prog1 -t 10000 -a 'poweroff'"


次に、buttond.conf を永続化し、buttond を再起動します。

buttond.conf を永続化
# persist_file /etc/atmark/buttond.conf
 
buttond を再起動
# rc-service buttond restart
buttond                  | * Stopping button watching daemon ... [ ok ]
buttond                  | * Starting button watching daemon ... [ ok ]


以上で、設定が完了です。

電源切断が可能かの判断について

コンソールが無い場合、いつ電源を抜いて良いかは下記LED3が消灯したら切断が可能と判断する事が可能です。
※LED3がデフォルト設定の場合