Arduino Yun cheat sheet: Difference between revisions

Line 329: Line 329:
</syntaxhighlight>
</syntaxhighlight>


起動直後 NTP 時刻同期完了確認
 
OpenWrt 起動直後は、ネットワークの設定処理が終わっていないことや、NTP で時刻同期がまだできていない状態で、Leonardo 側の処理が動く場合がある。
:ちなみに OpenWrt 側のマイコンには RTC がなく、ブート直後は、時刻が大幅に違っている。(前回 poweroff コマンド実行時の時刻)
USB LED (明るい白色)が点灯する時点で OpenWrt が起動済み(rc.local実行時)ということを利用して、
USB LED (明るい白色)が点灯する時点で OpenWrt が起動済み(rc.local実行時)ということを利用して、
:/etc/rc.local の boot-complete-notify 実行直前は brightness は 0 である。boot-complete-notify 実行後に 255 である。
:白色 LED を消灯するために trigger に none を入力後も brightness は 255 である。


('''Leonardo側で''')
('''Leonardo側で''')
Line 359: Line 359:
}
}
</syntaxhighlight>
</syntaxhighlight>
この関数で /sys/class/leds/ds:green:usb/brightness の値を状態を監視。0 から 255 になったことを確認後、NTP の同期を待つ(25秒ほどで同期する)処理を配置しておく。
この関数で /sys/class/leds/ds:green:usb/brightness の値を状態を監視。0 から 255 になったことを確認したら OpenWrt のブートの一連の処理完了とみなせる。


:/etc/rc.local の boot-complete-notify 実行直前は brightness は 0 である。boot-complete-notify 実行後に 255 である。
=== NTP 時刻同期完了確認 ===
:白色 LED を消灯するために trigger に none を入力後も brightness は 255 である。
OpenWrt 起動直後は、ネットワークの設定処理が終わっていないことや、NTP で時刻同期がまだできていない状態で、Leonardo 側の処理が動く場合がある。
:ちなみに OpenWrt 側のマイコンには RTC がなく、ブート直後は、時刻が大幅に違っている。(前回 poweroff コマンド実行時の時刻)
 
後、NTP の同期を待つ(25秒ほどで同期する)処理を配置しておく。


= Leonardo AVR マイコン =
= Leonardo AVR マイコン =