2021年4月号 連載 メカニズム丸見え!ラズパイAIサーバを作る サポートページ

連載の最終回となる今回は,これまでにラズベリー・パイ上に作ったサービスを振り返ります.

連載で作った全ての機能を試せるように,サービス構築用スクリプトを用意しました.

ダウンロード・ページ

1台のラズベリー・パイ上で全てサービスを構築できます(Vision Bonnetの機能は除く).

最終回の記事で詳しく解説できなかった部分は,連載の過去記事か,以下の解説を参考に進めてください.

 

ここでは,本誌に掲載できなかったスクリーンショットや,編集部で動かしてみた様子を紹介します.

以下,ダウンロード・ファイルを/home/pi/Downloads/CQ/に展開したものとして説明します.説明のため/home/pi/Downloads/CQ/AIServerディレクトリを$MyServerHomeと表記します.

 

■Slackへ自動でメッセージを投稿する

猫などがラズベリー・パイに近づいた時に,Slackへメッセージを投稿する機能です.

この機能を使うにはまず,Slackでアカウントを取得し,メッセージを投稿できるように設定します.

Slackは日本語のページと英語のぺージがありますが,編集部で動作確認した限りでは,日本語のページでは設定用ページがうまく表示されませんでした.

英語のページで設定用のページへ遷移するのも分かりにくいのですが,次の画像を参考にしてください.

図1:このページが表示されたら右上の「Your apps」をクリックする

 

図2:「Create New App」をクリックする

 

 

●鍵を控える

Slackへ投稿するための鍵としてOAuth Access Tokenを使います.

次のように,表示されたらコピーしておき,ラズベリー・パイの設定ファイル($HOME/CQ/
MyServer/PetWatcher/Automate/distance_check.config)に書き込みます(2021年4月号P164参照).

図:この鍵を控えておく

 

 

■ストレージ・サービスに画像を保存

連載ではラズベリー・パイで動くストレージ・サービスを作りました.

ウェブ・ブラウザからhttp://192.168.2.12:8080にアクセスして,画像をラズベリー・パイで稼働するストレージ・サービスに保存できます(IPアドレスは実際のアドレスを指定する).

図:ストレージ・サービスをウェブ・ブラウザで開いたところ

 

 

■画像に猫が写っている場合だけ画像を保存する

デフォルトでは,60秒に1度撮影し,全ての画像を保存します.設定の変更方法は次の通りです.

$MyServerHome/PetWatcher/MONITOR/config.jsonのcat_onlyをtrueに設定します.

$MyServerHomeディレクトリに移動して,次のコマンドでサービスを再起動します.

$ ./stop_monitor.sh

$./start_monitor.sh

以降は,自動で撮影した画像に猫が写っている場合のみ保存されるようになります.

図:Vision Kitは猫と判断したため,保存された(このぬいぐるみは,正立していると猫と認識されなかった)

 

 

■画像に写っている物によって保存場所を自動で振り分ける

ストレージ・サービスへ特定のファイル名(/AI/画像識別/*)を使って画像をアップロードすると,画像に写っているものに応じて自動で保存場所を振り分けます.

この機能を試すにはVision Kitが必要です.

▲コマンドラインから画像をStorageサービスにアップロード

PCもしくはラズベリー・パイのコマンドラインから次のコマンドを打ちこみ,AIサーバのStorageサービスへ画像をPOSTします.

$ curl -F “name=/AI/画像識別/cat.jpg” -F “file=@`pwd`/cat.jpg” 192.168.2.12:3000/storage/

IPアドレスはラズベリー・パイのアドレスを指定します.

cat.jpgはアップロードするファイル名です.カレント・ディレクトリにこのファイルがある状態でコマンドを入力してください.

詳しくは,2021年1月号135ページを参照してください.

 

▲振り分けられたか確認する

ウェブ・ブラウザでhttp://192.168.2.12:3000/storage/にアクセスします.

IPアドレスは実際のラズベリー・パイのアドレスを指定してください.

図:猫の画像の保存場所が自動で振り分けられた

 

●おまけ:Vision Bonnetのデモ・プログラムの様子