毎朝コドモ達をラズベリーパイでパチリ 設定編
2018/08/17
もやし工房さんの記事を参考に作成しました。[1]共感するところが色々ありました
ラズベリーパイを使って毎朝コドモたちの写真を撮りますよ。OpenJTalkで喋らせてPiCameaをで撮影します。そしてGmailで写真を送ってGoogleドライブに保存します。それから出かける時間になったら声掛けをするようにします。
準備
使用したもの
- Rasberrypi3 Model B Rspbian GNU/Linux 9.4 (stretch)
- PiCamera[2]2014年頃に購入したものを使ってます
- ELECOM USBスピーカー MS-P08USBBK
インストールした物
- OpenJTalk[3]日本語のテキスト読み上げシステムです
- 東北大学知能通信ネットワーク研究室のhts-voice
- mutt[4]軽快な電子メールクライアントです
- mpg321[5]mp3プレイヤーです
参考にしたサイト
- 子どもがいる家庭で使うRaspberryPi&Slack
- GMailで特定のラベルを付けたメールの添付ファイルを自動でGoogle Driveに保存するGoogle Appsスクリプト
- Gmailの添付ファイルをGoogleDriveへ自動保存!GoogleAppsScript活用法
- その他多数を参考にしました
https://www.moyashi-koubou.com/blog/raspi_slack_for_children/
http://noriaki.hatenablog.com/entry/gmail-attachments-in-google-drive-based-on-google-apps-script
https://arrown-blog.com/gmail-attachmentfile-googledrive/
写真を取ってGmailに送信する
カメラで撮影してからGmailに送信するようにします。「camera.sh」を作成します。
#!/bin/bash DATE=$(date +"%Y-%m-%d_%H%M%S") raspistill -w 1600 -h 1200 -o /home/pi/Pictures/$DATE.jpg mutt -s "ラズベリーパイからの写真" hoge@gmail.com -c "" -a /home/pi/Pictures/$DATE.jpg < /home/pi/Mail/mail.txt
日付をファイル名にして1600×1200のサイズ[6]サイズは何でも良いですで撮影します。その写真をmuttを使ってgmailに送信します。タイトルは「ラズベリーパイからの写真」。本文は/home/pi/Mail/mail.txt」に記述しています。mail.txtの中身は「ラズベリーパイが写真を撮りました」としています。
写真を撮るよと声掛けする
撮影前に呼びかけます。「jsaytohoku_photo.sh」を作成します。
#!/bin/sh TMP=/tmp/jsay.wav mpg321 -a hw:1,0 /home/pi/scripts/Openjtalk/mp3/robot.mp3 echo 今から写真を撮るよ。そのまま動かないでね。 | open_jtalk \ -m /usr/share/hts-voice/htsvoice-tohoku-f01/tohoku-f01-happy.htsvoice \ -x /var/lib/mecab/dic/open-jtalk/naist-jdic \ -ow $TMP && \ # 音声ファイルを再生する aplay -D plughw:1,0 --quiet $TMP # aplay --quiet $TMP # 音声ファイルを削除する rm -f $TMP
「コドモたちを起こせ」のファイルとほとんど同じです。mp3をmpg321で再生したあとに「今から写真を撮るよ。そのまま動かないででね。」と発声します。発声はOpenJTalkを使用します。音響モデルは東北大学知能通信ネットワーク研究室の女性の声を使用します。
4つの感情(怒り、幸せ、中立、悲しみ)のうち「happy 幸せ」を使います。
Gmailに送信した写真をGoogleドライブに保存する
- Gmailの添付ファイルをGoogleDriveへ自動保存!GoogleAppsScript活用法
上記の記事を参考にしました。Gmailの添付ファイルをGoogleドライブに保存します。Gmailの「personal-raspberrypi」というラベルのメールが来たらGoogleドライブの「Photo」フォルダに添付ファイルが保存されます。
遅れるよーと声掛けする&cronの設定
毎朝ギリギリで登校する子どもに声掛けをします。cronで月曜から金曜の毎朝7時20分に「いま7時20分だよ。出発の時間だよー」と発声します。
「写真を撮るよと声掛けする」の「jsaytohoku_photo.sh」とほぼ同じです。最初のmp3を怖い猫の鳴き声にし、発声の感情を「angry 怒り」にします。
定期的に実行するように@crontab -eでcronに記述します。
30 05 * * * sh /home/pi/scripts/condition.sh | mutt -s "定期報告" hoge@gmail.com 00 06 * * * sh /home/pi/scripts/Openjtalk/jsaytohoku_photo.sh 00 06 * * * sh /home/pi/scripts/camera.sh 20 07 * * 1-5 sh /home/pi/scripts/Openjtalk/jsaytohoku_okure.sh 59 08 * * 0 sh home/pi/scripts/Openjtalk/jsaytohoku_kamen.sh
cronの内容です。
5:30 毎日 ラズベリーパイの状態をgmailに送信します。メールが来なければ落ちているか等のチェックをします。[7]何故か時々落ちてます
6:00 毎日 「写真を撮るよ」と声掛けします。
6:00 毎日 写真を撮ってgmailに送ります。
7:20 月から金 遅れるよーと声掛けします。
8:59 日曜 テレビ番組[8]ファイル名から番組名がわかりますの始まる合図をします。
まとめ
毎日写真を撮るといつも気付かない些細な変化が写真からわかるかもしれません。また自分が不在のときにコドモたちが朝どうなのかわかります。
定期的に喋らせるのは正確な時間に発信できるので、「もうすぐ喋るからそれまでに◯◯してねー」と急がせることもできます。他にも寝る時等に喋らせればコドモの相手が少し楽になるかもしれませんね。
さて次はこれらの設定したものを使えるように設置していきます。