背景および概要
システム導入時点では、Raspberry PiとSynologyでシステムを構築しておりました。
Raspberry Piが、画像検出および、Synologyにインストール出来ない・実行出来ない機能を担当し、Synologyは主にWEBサーバーの公開をメインに利用しておりました。
Raspberry Piの画像検出部分は、NVIDIA Jetson Nanoを導入し、NVIDIAのCudaコアを用いた処理により高速化を実現し、現時点では、NVIDIA Jetson導入により画像検出部分の平行/二重実行を実現し、単体では100%と言えない画像検出率を飛躍的に向上させることが出来ました。その代わりに、Raspberry PiとNVIDIA Jetson、それぞれの処理が独立して動作するため、複雑な処理構造となりました。
そして、この度、SynologyのWEBサーバーが負荷を処理しきれずに、Intel NUCによるWEBサーバーを導入しました。WEBサーバーをSynologyに変更したことで、自由なUbuntu環境が入手できたので、今までRaspberry Piで担当していた処理を新規Intel NUCのUbuntu環境に移行することが可能となりました。(もちろんSynologyで実施していた処理も基本的にUbuntuに移行します)
そして、Intel NUCでは、十分なCPU処理性能とメモリ容量などから、Dockerコンテナを導入し、各種新規技術がすぐに導入出来る環境となりました。
WEBサーバー系などは、コンテナ化済みとなります。
そして、この度、前々から導入したかった、Ansibleの導入に踏み切りました。Ansibleは、ジョブ管理ソフトとなり、スケジュールに沿った処理の実行が可能となり、複数Nodeにまたがった処理などを一元管理することが出来るようになります。
また、バラバラしていたソースコード群もきれいに整理することにしました。
サーバー移行時に苦労したのと、それなりにじゃんけんシステムのメインロジックが固まったので、良い機会かなと考えています。
基本的に、外部仕様は変わらないので、サイト訪問者様には影響が出ない予定です。
機能一覧
現時点実現している機能を整理し、適材適所での実行と、ソースコードの一元管理、ソースコードの自動配布を実現してゆく予定です。
面白い内容でもないので、有用そうなメモのみ投稿して行く予定です。
ジャンケン事前登録 | |
ツイッター内容チェック | |
ジャンケンスケジュール登録 | |
TV ON-OFF | |
電源ON(RaspiのHDMI経由) | |
電源OFF(RaspiのHDMI経由) | |
ツイッター発信 | |
ツイッター予想発信 | |
ツイッター結果発信 | |
ブログ更新 | |
ブログ結果更新 | |
ブログ予測更新 | |
じゃんけん結果取得 | |
Raspi結果取得(画像検出) | |
NVIDIA Jetson結果取得(画像検出) | |
じゃんけん実行 | |
出し手をテレビに送信 | |
次回予想 | |
1次系列予想 | |
3系列予想 | |
じゃんけん広場 | |
じゃんけん広場 予想登録 | |
じゃんけん広場 結果集計 | |
ブログ新規投稿 | |
日次結果ポスト投稿 | |
週次結果ポスト投稿 |