Armadilloフォーラム

poweroffによる電源をOFFにした後の再起に関して

shiba

2018年3月26日 11時43分

お世話になっております。

只今Armadillo-IoT ゲートウェイ G3 製品マニュアルを参考に開発を行っているのですが、

-----下記引用-----
14.4. RTC による制御
[armadillo ~]# echo +3600 > /sys/class/rtc/rtc0/wakealarm
----------------------

上記コマンドを用いて1時間毎に起動し、
RTCタイマを設定した後poweroffをし、1時間後起動し・・・
というシステムを開発しております。

もし上記コマンドをなんらかの事象で書込をする前にpoweroffしてしまった場合、
SW1を押す等、外部からの動作ではなく、内部(ソフトによる制御)等で1時間たっても起きないを判断し
起動する事は可能でしょうか
haltコマンドはWDTの最大値が128秒で再起動するとの事で、
例えばpoweroffしてから1時間後にRTCによる制御で再起動できず、
1時間半後にWDTに再起動出来なかったことを検知し、再起動をかけるというシステム設計は
Armadillo-IoT-G3/G3Lにて可能でしょうか?

以上、よろしくお願いいたします。

コメント

at_mizo

2018年3月27日 9時53分

溝渕です。

> もし上記コマンドをなんらかの事象で書込をする前にpoweroffしてしまった場合、
> SW1を押す等、外部からの動作ではなく、内部(ソフトによる制御)等で1時間たっても起きないを判断し
> 起動する事は可能でしょうか

まず、poweroff後はCPUが停止しているため、ソフトによる制御での復帰はで
きません。

poweroffコマンド実行時には、必ずwakealarm設定を行うようにしてはいかが
でしょうか。

次のように、wakealarmを設定させることができるかと思います。
# 動作確認していないので、注意してご利用ください

[armadillo]# vi /etc/systemd/system/example.service
[Unit]
Description=example
Before=poweroff.target
DefaultDependencies=no

[Service]
Type=oneshot
ExecStart=/usr/local/bin/wakealarm.sh

[Install]
WantedBy=poweroff.target
[armadillo]# vi /usr/local/bin/wakealarm.sh
#!/bin/sh
echo +3600 > /sys/class/rtc/rtc0/wakealarm
[armadillo]# chmod +x /usr/local/bin/wakealarm.sh
[armadillo]# systemctl enable example.service