Armadilloフォーラム

A6のシャットダウンモード起床トリガによる処理について

yuji_aoki

2023年12月25日 12時50分

お世話になります。
Armadillo-IoT A6を用いて間欠動作によるシステムを作成しております。
システムは、
シャットダウンモード -> 起床(RTC) -> センサ値取得 -> クラウド送信 -> シャットダウンモード
と動作させたく、

crontab にて

@reboot /root/work.sh

work.shにて

!/bin/sh
python3 /root/work.py
aiot-alarm-poweroff +180

としてみたのですが、直接
root@armadillo:~# sh work.sh
と実行した場合は、work.pyとaiot-alarm-poweroff +180 が実行され、180秒後にA6が起動するのですが、
起動後はwork.pyは実行されるのですが、aiot-alarm-poweroff によるpowerpff がなぜか行われず、緑の起動ランプがついたままになります。
ループできずに困っています。
この点何かアドバイス頂けませんでしょうか?
ちなみに標準出力をファイルに書き出したところ、aiot-alarm-poweroff: alarm_timer +180 second
という内容は出力されています。

よろしくおねがいします。

コメント

at_syunya.ohshio

2023年12月26日 15時37分

大塩です。

> root@armadillo:~# sh work.sh
> と実行した場合は、work.pyとaiot-alarm-poweroff +180 が実行され、180秒後にA6が起動するのですが、
> 起動後はwork.pyは実行されるのですが、aiot-alarm-poweroff によるpowerpff がなぜか行われず、緑の起動ランプがついたままになります。

上記現象につきまして、crontab ではなく systemd で自動実行を実装した場合は動作するでしょうか。
systemd の詳細につきましては以下をご確認ください。
https://armadillo.atmark-techno.com/blog/6938/2865

以上です。

yuji_aoki

2023年12月27日 9時04分

大塩様 ご回答ありがとうございます。
crontab ではなく systemd で自動実行を実装した場合は動作しました、ありがとうございます。

また、別途
https://armadillo.atmark-techno.com/forum/armadillo/8912
こちらを参考に、sleepによるループも実施してみたところ、
(1) そのまま処理を継続する
では約300回後のsleep後に起動しておらず、SW1を押すことで起動し、その後動作を続けました。
コンソールに特に異常は見られませんでした。
(2) systemd の機能を使用する
という方法も紹介されていました。
この2つについては(1)は不安定で(2) がオススメ等ありますでしょうか?

よろしくおねがいします。

at_syunya.ohshio

2023年12月28日 17時08分

大塩です。

> (1) そのまま処理を継続する
> では約300回後のsleep後に起動しておらず、SW1を押すことで起動し、その後動作を続けました。
> コンソールに特に異常は見られませんでした。

上記につきまして、300秒後 に起床することがなかったという理解で宜しいでしょうか。
その場合、aiot-set-wake-trigger rtc enabled +300 を手動で動作させた場合の aiot-sleep では起床するでしょうか。

> (2) systemd の機能を使用する
> という方法も紹介されていました。

こちらは、まず参考にされたフォーラムに記載されている方法で想定した動作はするでしょうか。
動作しているのであれば、起床トリガーを任意の方法に変更すれば良いと思います。

以上です。