ロビ2カメラ画像のインターネット配信
2021年2月5日
前回のRITS ロビ・インターネット送信システムその2ではインターネットを使ってロビ2を動かせるようにしました。
今回はロビ2で撮影したカメラ画像をインターネットで配信してリアルタイムに表示してみました。
ロビ2カメラで撮影した画像はマイコンボードのSDカードとは別のSDカードに保存されます。
このSDカードは頭の画像処理ボードに付いているSDカードスロットに入れて保存した画像をパソコン等で表示します。
ロビ2の後頭部にSDカード用のスリットがありそこに抜き差しして使います。(写真は分かりやすいようにSDカードを少し出しています)
SDカードスロットはロックがかかるようなっていますのできちんと装着するためには少しコツがいるようです。
またSDカードは裏面を上に向けて挿し込む必要があるので変換アダプターもその方向で挿し込む必要があります。
あまり強く押すとフレキシブルケーブルが切れてしまうので注意してください。
写真データのFlashAirへのインストール
FlashAirはそのままでも写真撮影が行えますが写真にイラストやロゴを入れたり絵本を読む時にもそのまま使う場合はロビフォトSDに入っていたデータをFlashAirに入れておく必要があります。
FlashAirをロビのリモート操作で使う場合はロビのプログラムはそのままにしておいて今回のデータを入れるとそのままリモート接続にも使えます。
ただしその場合はCONFIGファイルを元のファイルに戻す必要があります。
ロビフォトSDのsystemフォルダーをそのままコピーしてください。
なお写真にロビのイラストやロゴを入れたくない場合はsystemフォルダーは入れないでください。
ただしその場合は絵本を読ませる時にエラーとなります。
FlashAirの設定
FlashAirをインターネットに接続するためにはFlashAirをWiFi無線ルーターに接続する必要があります。
通常はFlashAirを直接スマホ等に接続しますがその場合は設定がアクセスポイント(AP)モードになっています。(初期設定)
今回はステーション(STA)モードでWiFi無線ルーターの子機として動かします。
FlashAirの設定はSD_LANフォルダーのCONFIGファイルを書き変えて行います。
元のCONFIGファイルは元の状態に戻せるように必ずバックアップを取っておいてください。
なおFlashAirのSD_WLANフォルダーおよびCONFIGファイルは隠しフォルダー、隠しファイルの設定になっているのでWindowsの設定はこれらのファイルが表示できるようにしておいてください。
下記URLよりダウンロードしたCONGIFファイルをメモ帳等で変更してください。
CONGIFファイルをメモ帳等で変更してください。
APPMODEはステーションモードの5を指定してください。
BRGSSIDとBRGNETWORKKEYの値を使用する無線LANルーターの合わせて変更してください。
BRGSSIDは無線LANルーターの識別子(SSID)で利用できるネッワークで表示される名前です。
RGNETWORKKEYの値を使用する無線LANルーターのセキュリティキーです。
基本的にこの設定で動かせますが他の値も必要に応じて変更してください。
最後のLUA_SD_EVENTはロビ写真を撮影してSDカードに保存する時に動かすLUAプログラムを指定してます。
CONFIGファイルの詳しい説明はこちらのページ(FlashAir Developers)を参照してください。
ステーションモードの詳しい説明はこちらのページ(FlashAir Developers)を参照してください。
メモ帳で保存する時に名前を付けて保存を行うと拡張子にtxtが付けられるので注意してください。
LUAプログラムのインストール
ロビは撮影した写真のファイル名を日時と時刻にしているためWebブラウザで特定のファイルをアクセスするにはファイル名を固定にする必要があります。
このLUAプログラムで固定のファイル名にしています。
下記URLよりダウンロードしたnew_photo.luaとSettings.luaをFlashAirに入れてください。
new_photo.luaというプログラムはロビが撮影した最新の写真を見つけてrobi_camera.jpgというファイルにコピーしています。
なおこのプログラムは/photoから撮影した写真を消しますが残したい場合はSettings.luaのdelete_after_uploadをfalseにすると/photoフォルダーに撮影した写真を残します。
FlashAir W-03の場合はdelete_after_uploadをfalseにする場合はW03をtrueに変更してください。
serverの設定がブランクの場合はWebサーバは使わずFlashAir内の処理となります。
他の設定はserverFileとdelete_after_uploadしか参照しません。
Webページでの表示
http://flashair/robi_camera.jpgをWebブラウザで表示すると最後に撮影した写真画像が表示されます。
下記URLよりダウンロードしたlocal_viewer.htmlをパソコンの任意のフォルダーに入れてください。
local_viewer.htmlで表示すると2秒間隔で最新の画像が表示されます。
インターネットへの配信
ロビが撮影した写真画像をインターネットで配信するには写真画像をWebサーバーにアップロードする必要があります。
今回はFlashAirのFTP機能を使ってWebサーバーにアップロードしました。
前述のnew_photo.luaにFTPのアップロード処理を追加しています。
Settings.luaは使用するWebサーバーに合わせて変更する必要があります。
serverはWebサーバーのURL(http://またはhttps://から始まる)を指定してください。
serverにブランク以外を設定するとFlashAirのFTP機能でWebサーバーにアップロードします。
serverDirは画像を転送するローカルユーザのフォルダーのパスを指定してください。
userとpasswdはFTPのユーザ名とパスワードを指定してください。
delete_after_uploadをtrueにするとアップロードした後flashairから撮影した写真を削除します。
なおFlashAir W-03ではWebサーバーへの転送は行えません。
Webページでの表示
上記で指定したWebサーバー/フォルダーのURLのrobi_camera.jpgをWebブラウザで表示すると最後に撮影した写真画像が表示されます。
下記URLよりダウンロードしたftop_viewer.htmlをパソコンの任意のフォルダーに入れてください。
ftp_viewer.htmlで表示すると2秒間隔で最新の画像が表示されます。
ftp_viewer.htmlは使用するWebサーバーに合わせて変更する必要があります。
WebサーバーのURL(http://またはhttps://から始まる)に書き変えてください。
スマホでの表示
今までWiFi無線ルーターを使ったステーションモードでFalshAirを接続していましたがスマホやパソコンに直接つなぐ方法を紹介します。
FlashAirの設定はオリジナルのCONFIGファイルがアクセスポイントモードになっているのでそれを使います。
APPMODEはアクセスポイントモードの4を指定してください。
最終行のLUA_SD_EVENTもステーションモードで設定したLUAプログラムを指定してください。
なおステーションモードで使ったCONFIGファイルを変更する場合はAPPSSIDとAPPNETWORKKEYを変更する必要があります。
下記URLよりダウンロードしたnew_photo.luaとSettings.luaをFlashAirに入れてください。
同じく表示Webページはlocal_viewer.htmlがそのまま使えます。
スマホやパソコンの任意のフォルダーに入れてWebブラウザで表示してください。
FlashAirをロビに接続してロビの電源を入れるとPCと無線LANによる通信が可能になります。
スマホやパソコンのWi-Fi設定機能でFlashAirとの通信設定を行います。
PC端末がFlashAirを検出できると接続のためのパスワードを聞いてきます。
「12345678」を入力すると接続に成功する事ができます。
なおスマホ等のWi-Fi設定は機種によって異なりますので詳しくは各説明書をご覧ください。
スマホに転送したlocal_viewer.htmlをChrome等のWebブラウザで開けば撮影画像が定期的(2秒間隔)に更新されて表示されます。
ダウンロード
設定ファイル、LUAスクリプト、Webページのサンプルは以下のリンクからダウンロードする事ができます。
robi_camera.zip
実際に動かした動画です。
目次に戻る