ロビ2カメラ画像のメール
2022年2月26日
2月28日改訂
3月2日改訂
前回のロビ2カメラ画像のインターネット配信ではロビ2が撮影した写真をFlashAirでパソコンやスマホに転送してリアルタイムに撮影した写真を見れるようにしました。
今回は撮影した写真をメールで送信してみました。
今回も写真撮影用のSDカードにFlashAirを使用します。
FlashAirはLUAという言語のプログラム実行する機能があります。
そのにMailSendという関数がありその関数を呼ぶだけで画像ファイルを添付したメールを送信する事ができます。
今までFlashAirは変換アダプターで頭部のマイクロカードスロットに差し込んだだけでしたが今回は頭の中に内蔵してみました。
FlashAirの内蔵
ロビ2の写真撮影用のマイクロSDカードは頭の後にスリッが空いていてそこから抜き差しできるようになっています。
SDカードスロットはヘッドカバーと密着しているためその隙間に変換アダプターわ挿し込む事はできないのでどうしても頭の外に出てしまいます。
SDカードスロットはSDカードボードに取り付けられていて画像処理ボードに接続されています。
SDカードスロットを内側に向けると変換アダプターを頭の中で挿し込む事ができます。
そのまま画像処理ボードに挿し込むとピン配列が逆になり動作しなくなります。
SDカードボードを裏返えす事でピン配列が元に戻す事ができます。
裏返えして画像処理ボードに挿し込めるようにSDカードボードのピンヘッダーを裏側にハンダ付けし直すか表側のピンを延長すればいいのですがオリジナルパーツの改造はやりたくなかったので別の方法でやりました。
2.0mmピッチの10Pソケットを2個使ってそれぞれの端子をハンダ付けしました。
お互いの端子が接触するまで折り曲げて接触した部分をハンダ付けします。
ICなどの一般的なピン間隔は2.54mmですがSDカードボードのピン間隔は2.0mmと少し特殊なので注意してください。
今回2個ともソケットを使いましたが画像処理ボード側はメスのコネクターなので本来2.0mmピッチピンヘッダーと組み合わせるのが正当なやり方だと思います。
また2.0mmピッチのプリント基板があればそれにハンダ付けをした方が簡単だと思います。
画像処理ボード側はメスのコネクターなので接続するにはピンヘッダーから抜いたピンをコネクターに挿して接続しました。
変換アダプターをSDカードスロットに挿し込んでFlashAirを装填します。
SDカードスロットが裏側になるのでやりにくいので最初に変換アダプターを挿し込んでから画像処理ボードに取り付けた方が簡単かも知れません。
緑で示した部分がFlashAirです。
音声認識ボードのシリアルケーブルコネクターがFlashAirに干渉するためシリアルケーブルコネクター(赤線)が外側になるように音声認識ボードの取付の向きを逆にしています。
今回はFlashAirを内蔵するため後から内容を書き変えるのは面倒になりますので事前にプログラムなど書き変えておいてください。
写真データのFlashAirへのインストール
FlashAirはそのままでも写真撮影が行えますが写真にイラストやロゴを入れたり絵本を読む時にもそのまま使う場合はロビフォトSDに入っていたデータをFlashAirに入れておく必要があります。
FlashAirをロビのリモート操作で使う場合はロビのプログラムはそのままにしておいて今回のデータを入れるとそのままリモート接続にも使えます。
ただしその場合はCONFIGファイルを元のファイルに戻す必要があります。
ロビフォトSDのsystemフォルダーをそのままコピーしてください。
なお写真にロビのイラストやロゴを入れたくない場合はsystemフォルダーは入れないでください。
ただしその場合は絵本を読ませる時にエラーとなります。
データ転送スクリプトのインストール
今回はFlashAirを内蔵するため後からプログラムやデータを書き変えるためにいちいちFlashAirを取り出して書き変えるのは面倒なのでデータ転送スクリプトをインストールしておくことをお勧めします。
このソフトはFlashAirがパソコンと接続した状態でブラウザでURLとしてhttp://flashairをアクセスするとFlashAirの内容がリストで表示されてファイルを削除したりパソコンのファイルをアップロードする事ができます。
アップロードは元のファイルを置き替える事もできます。
このスクリプトは下記URLよりダウンロードできます。
FlashAirでロビのココロに無線を(Jijy Tadanoさん)
詳しい使い方はReadMe.txtを参照してください。
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プログラムのインストール
mail_photo.luaは最初にロビが撮影した最新の写真のファイル名を検索しています。
このファイルを添付ファイルとしてLUAのMailSend関数でメールします。
実際にメールするためには受信するメールアドレスやメール送信サーバー名、ユーザ名、パスワードなどを指定する必要があります。
送信先はメールを受信するメールアドレスを指定してください。
送信サーバはメールを送信するサーバー(SMTP)を指定してください。
アカウント名はメールサーバーにログオンするユーザアカウントを指定してください。
パスワードはメールサーバーにログオンするパスワードを指定してください。
ポート番号はメールサーバーのポート番号を指定してください。
ポート番号のディフォルト値は465なのでこの番号を使っている場合はそのままで構いません。
なおポート番号はFlashAirのファームウェアのバージョンが4.00.03以上でないといけません。
FlashAir W-03の場合はmail_photo.luaでこれを指定してる行を削除してください。
送信元のメールアドレスはメールの送信者に表示されるメールアドレスです。
このサンプルには架空のメールアドレスが設定されています。必要に応じて変更してください。
件名と本文も必要に応じて変更してください。
なお日本語を使う場合はファイルの形式はそのまま(ANSI)にしてください。
YAHOOメールの送信サーバーで送信したところ送信できませんでした。
YAHOOメールは先月非暗号の送信サーバーは廃止されています。
FlashAirのMailSendが暗号化(SSL)されているメールサーバーには対応していない可能性があります。
MailSend関数については下記URLを参照してください。
Lua機能 MailSend(FlashAir Developers)
写真のメール機能の応用
本機能の応用として防犯モードで侵入者を発見した時に写真を撮影してメールで知らせてくれるようにしました。
防犯モードのプログラムにパッチを当ててロビが「侵入者発見」という代りに写真撮影をします。
FlashAirによるメール機能がなくても通常のマイクロSDカードで写真を撮影してくれます。
ロビ2がUSB接続でリモート操作できる場合はメールによって写真を撮らせる事ができます。
バッチコマンドを動かせるメールソフトで写真撮影の指示メールを受信するとリモートファイルに写真撮影コマンドのデータをコピーするバッチファイルが動くように設定してください。
ダウンロード
設定ファイル、LUAスクリプトは以下のリンクからダウンロードする事ができます。
robi_mail.zip
防犯モードのパッチファイルは以下のリンクからダウンロードする事ができます。
メールの件名と本文を防犯モードに合わせたサンプルも入れてありますので参考にしてください。
bouhan_camera.zip
USBによるリモート接続時のバッチファイルのサンプルは以下のリンクからダウンロードする事ができます。
サンプルはUSB接続のドライブ名は"L"になっていますので環境に合わせての書き替えてください。
remote_batch.zip
実際に動かした動画です。
目次に戻る