Darkside(リンクエラー修正しました)

2019年6月7日(金) 21:53

Jetson Nano 搭載決定

 サービス自動起動の実行順序について調べていると、便利なコマンドが判明。

sudo systemd-analyze plot > unitstart.html
とやると、起動タイミングと時間が見やすい表として html 出力される。

 切り出した部分の上から3番目に見える superimpose.service がカメラ画像合成プログラムである。動画配信も制御している。これは、早目に起動していても大丈夫で、起動失敗することはない。
 問題の hostapd.service は、superimpose.service より後に起動するよう指定している。だが、superimpose.service 自体の起動が想像より早い。
 赤が起動処理中であり、薄い色は起動成功中だ。白は起動失敗。hostapd は起動失敗し、isc-dhcp-server は起動成功後に終了している。

 更に後から起動されるサービスを見ると、大量のデバイスがスタートしている。そして最後の方でAifup@wlan0.service など wlan0 系が起動している。
 hostapd が起動失敗する場合、wlan0 が見つからずドライバーが対応していない、みたいなエラーになる。もしかして、wlan0 系より後に起動させなきゃいけないのでは?
 そう思って ifup@wlan0.service より後に起動するように設定したが、効かない。起動タイミングが変わらない。
 残念ながら、設定が効く相手と効かない相手があるようだ。

 そこで改めて確認すると、apache2.service という手頃なものがある。毎回2秒以上も起動に要しているし、タテマエ上も手頃だ。これより後に起動するよう設定してみよう。

 apache2 の起動が終了したタイミングで hostapd が起動。薄い色が右に伸びていて、実行に成功していることが分かる。isc-dhcp-server は hostapd の後に起動するよう設定した。こちらも、ずっと実行されたままだ。
 どうやら、問題は解決したようだ。サービスの実行順序は「同等のもの」は順序が入れ替わるようで、それにより起動に失敗する時と成功する時があった模様。そういう微妙なタイミングが2秒も遅延できれば、ほぼ確実に起動成功する。万一起動に失敗することがあれば、全サービス中で圧倒的な時間食いである mysql を活用させて貰おう。

 ただしこれでカメラ映像配信の開始は、電源投入から40秒は待たされる。この待ち時間は、どうしても短縮できない。

 最大の問題が解決できたので、Jetson Nano はSタンク搭載決定。PICとの通信目的で、SPIを有効化する。Ubuntu の入った母艦が必要だが、最近全く使っていないXPノートパソコンがある。ここに32ビット版Ubuntu16 をインストール。SPI有効化に成功した。
>SPIが有効になっていると以下ようにCの列が00の結果を取得できます。
を自分の Jetson Nano で確認できた。

 具体的なSPIアクセス方法は今後の調査だが、ここまで来て手も足も出ないことはあるまい。ひとまずSPIは保留し、他の部分を製作しようと思う。

written by higashino [Sタンク 1/16] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

Comments

TrackBacks

Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4