Raspberry Piを秘書らせるまで。

イントロダクション(もしくは無駄データ)

大学に入って厄介なのは登校時間が毎日変わったり、授業開始時間が毎日違っていたり、大学が遠いからそっちの天気を調べていかなきゃならないということ。

いや、スマホでサクッと調べれるんだけど、朝一の時は何せ時間がない。朝にかなり弱いタイプだから早い時間は動作が緩慢。iOS9を積んだiPod touch 5thみたいに。

その中でサクッと調べるのは自分にとってはかなり辛いというかできない。つまりは不便だ。

スマホに「オッケーGoogle」とか言うのはなんか恥ずかしい(全て音声で操作するなんて未来は来ないだろうと思ってる。Amazon Echoが流行ってるけど、iPhoneほどは流行らないだろうし、生活に組み込まれないだろう)。

そこで、部屋の温度をMySQLにデータベース化しつつTwitterにそれを呟くという誰得(これが最初の頃は結構面白かった)なタスクをしてるだけRaspberry Piをもっと有効活用しようと思った。

持ち物一覧

必須アイテム・環境

  • Raspberry Pi 2 Model B :1台
  • ブレッドボード:1枚
  • タクトスイッチ:1個
  • ネット環境
  • Pythonが動く環境(Raspberry Piで特に設定しなくてもいいかな)

+αアイテム(なくてもいい)

  • LED電球:1個

だいたい5部構成な感じの本編(もしくはリンク集)

どうやって喋らせようかなぁと思ってニコニコ動画とかでよくある「ゆっくり」を使えないかなぁと思って調べてみた結果、ありました。こいつを使おう。

AquesTalkPi:Piにゆっくり移植した感じ(?)

上のダウンロードサイトに書かれてる通りに作業してしかるべきディレクトリのとこで

「./AquesTalkPi “やぁ、少年” | aplay」

おおおおお。なんか違うけど喋ったぁぁぁ!!!!

喋ると面白くていろんな言葉を喋らせてみて15分ぐらい遊んだ。うんいいねこれ。

まぁそんなにやってると飽きてくるもんで、作業再開。

 

この本にも載っていたWeather Hackなるものを利用すれば天気を取得すればいいわけだから、ということでコードを書いて、実行してみる

Raspberry Pi | 毎朝、東京の天気予報をしゃべってもらう(お天気Webサービス)

となんとまぁエンコードがアスキーがどーのこーのってエラーが。

こういう時に日本語(というかマルチバイト文字)めっ!!って思う。

グーグル先生に聞いてみたら幾つかページをもらった。

python2.xでの日本語(マルチバイト文字)問題を一掃する!(その1)

Python2の文字列型

を見て、なるほど「.encode(‘utf-8’)」をつければいいのか。

で、ちょこっと付け足して天気読み上げに成功。

ここまでで、だいたい完成みたいなもの。

あとは日付、曜日を取得してそれに合わせて何を言わせるか変えるだけだから、みんな大好き「if文」を使う。

8.1. datetime — 基本的な日付型および時間型¶(原文)

Pythonのdatetimeモジュールを使って日付と時刻を操作する

とはいえ、真面目すぎる秘書は嫌。コンピュータの様だから(いやコンピュータなんだけど)、つまりはユーモアが欲しい。授業がない土日にふざけてもらおうと思って、土日は授業を言うところで他の音声を流そう。

コマンドーの「今日は休め」しかないでしょう。

ニコニコの素材場所から見つけ出してプログラムに組み込む。

でもって毎回SSH接続して有効化するのは面倒だ。

そもそもの挙動見たくするにはデーモン化すればいい。

デーモン閣下(デーモン化っか)

supervisorなる便利なものがあるからそれを使わせてもらって

タクトスイッチでRaspberryPiをシャットダウンさせてみた【Python】【supervisor】

適当なスクリプトをデーモン化するのにSupervisorが便利

Supervisorで簡単にデーモン化

これらを参考にして設定。

そんなわけで完成。

えぇ。詳しい説明なんかありませんよ。

あってもいいんだろうけど途中で引用させてもらってるサイトだけで十分だと思う。二番煎じは面白くないしね。

完成画像的な(もしくは駄写)

あ、右側のジャンパワイヤが多い装置はイントロダクションでちょこっと出てきた温度はかってるやつ。今回のは左側。

あとがき(もしくは裏話)

これを作るまでLEDのなんたるかを分かっていませんで、とりま好きなLEDと適当(この場合は適切であるという意味ではない方)に選んだ抵抗をつけてました。

それでも全然良かったんです。LEDがRPiのだす3.3V以上の3.5Vまで耐えれるやつだったから。

とはいえ、RPiと秘書システムは常時稼働させておくものだし、ボタン押されたか判定する時間(入力待機中がニュアンスが近い。いや、ぴったりなんだけど)を目で見てわかるようにLEDを点滅させておこうと思ってRPiに負荷とかあるのかとか思ったり思わなかったり。して、少し勉強しました。

物理がダメなんで。

1時間ぐらいグーグル先生とか友達に聞いたりしてなんか大丈夫っぽいので、330Ωの抵抗器をつけていたんだけど、明るすぎて夜完全に照明になっちゃう系で、10kΩの抵抗器をつけたらそこそこいい感じになった。

まだ、これで完成じゃなくて、Googleカレンダの情報を喋れるようにしたい。と思ってる。

広告

Raspberry Piを秘書らせるまで。” への1件のフィードバック

追加

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト /  変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト /  変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト /  変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト /  変更 )

w

%s と連携中

WordPress.com Blog. テーマ: Baskerville 2 by Anders Noren

ページ先頭へ ↑