こんにちは、組み込みエンジニアのtomozoです。
今回は、ラズベリーパイ(以下ラズパイ)を利用して
スマートスピーカーと連動について紹介したいと思います。
この記事は
ラズベリーパイを使って遊んでみたい方
組み込みエンジニアを志望する方
向けの記事です。
今回の内容は直接組み込みと関係ないですが、
私はいいモノを作るには遊び心や心の余裕が必要だと思っています。
毎日忙しくて目の前の仕事に追われているような状態だと
新しいモノやいいモノを考える心の余裕がありません。
新しくて面白い商品や技術はどんどん生み出されているので
そういったものに関心や興味を持って
使ってみたり体験することで自分のアイデアが広がり
視野を広げることができるようになります。
新しいモノや技術を知らないエンジニアは
成長していけなず、いずれ取り残されてしまいます。
そいう言ったことにならないように常に新しいモノに触れて
遊んでみるようにしましょう。
tomozo
この記事を読めば
ラズベリーパイとスマートスピーカーを連動する考え方
が分かるようになります。
tomozo
それでは説明を始めます。
目次
何をするか(目的)
エンジニア志望あん
ラズベリーパイはこちらの記事で紹介しているので参考にして下さい。
![](https://tomozo-blog.com/wp-content/uploads/2021/04/f59aa9293fbf57752863a367d66c925f-520x300.jpg)
スマートスピーカーは話しかけると何かしてくれますが、
それだけでは普通の使い方です。
ラズパイに人感センサを付けて、センサがONしたら
スマートスピーカーに「おはようございます」と話させることができます。
これだけでは普通のスピーカーでもできることなのですが、
スマートスピーカーでやったほうがより勉強になります。
またセンサがONした時間のログデータをクラウドに残す方法も取り入れてみましょう。
tomozo
やりたいことを整理して簡単な図にすると以下の①~③のようになります。
準備
以下の必要なものを用意しましょう。
- ラズベリーパイ
- スマートスピーカー
- 人感センサ
- googleスプレッドシートを作成
スマートスピーカー
スマートスピーカーと一言で言っても
現在は非常にたくさんの種類があります。
久しぶりにどんなものがあるのか調べてみましたが、
多すぎて何を選べばいいかよく分からないくらいです。
メーカーとしてはAmazon、Google、Apple、Bose、Sonyといったことろが有名です。
Amazonプライムに契約しているならAlexaのように
契約しているサブスクリプションとの組み合わせで選んだり、
自分に合った用途・メーカー・価格で選ぶようにしましょう。
最近は液晶画面の付いたタイプもあるので、動画を視聴できたりします。
もし迷ったら、売れ筋のGoogleかAmazonで選んでおけば失敗はしないですね。
もし合わないなぁって思ったら、メルカリなどで売ることもできますし
安い物なら数千円で購入できるので悩むより早く買って使ってみることをお勧めします。
tomozo
利用する技術
実現するのに必要なこと箇条書きにすると以下のようになります。
- ラズパイに人感センサを取り付ける
- google-home-notifierを組み込む
- Google Apps Scriptを作成する
何事もそうですが、難しいことを一気にすべてをやろうとすると
難しく感じたり手間がかかりそうに思って挫折しまいます。
例えば今回のようにやることを3段階に分けて
一つずつやってみるようにすれば以外にできそうに思えてきてやる気が出ますよ。
ラズパイに人感センサを取り付け
ラズパイに人感センサを取りつけます。
人感センサは以下のようなものです。
センサーモジュールは電源, 出力, Groundとなっています。
ラズパイのDC5V(02or04)、GPIO、Groundに繋ぎましょう。
人が近づいたことをラズパイで検出できればハードウェアはOKです。
人感センサは感度調整できるので上手くいかない場合は調整してみてください。
google-home-notifier
スマートスピーカーに自発的に話させます。
スマートスピーカーはプッシュ発話できないので、
「google-home-notifier」というライブラリを使って
発話できるようにします。
プッシュ発話というのは製作者が意図したタイミングで
スマートスピーカーに発話させることです。
ラズパイ上でgoogle-home-notifierを実行して
google homeから発話させるというわけです。
ラズパイでやることは以下です。
- node.jsとnpmの導入
- google-home-notifierの依存パッケージをインストール
- google-home-notifierをインストール
ラズパイからスマートスピーカーを発話できればOKです。
Google Apps Script
ラズパイからの情報をクラウド上のgoogleスプレッドシート記録します。
こちらのサイトに分かりやすく方法が紹介されているので
実際に作ってみようという方は参考にしてみてください。
やることは
- スプレッドシートの作成
- スクリプトを作成
- ラズパイからURLに情報を載せてスプレッドシートにアクセスする
結合する
以上の3つの仕組みを組み合わせれば、
人感センサが反応したらスマートスピーカーを発話させ
その時の状態をスプレッドシートに記録できるようになるというわけです。
もちろんプログラミングは必要です。
C言語でもpythonでも実現可能です。
組み込みエンジニアならC言語でと行きたいところですが
pythonのほうが情報が多くて作りやすいかなと思います。
今回は身近なもので世の中にある既存の技術を組み合わせて利用すれば
こういったことができるという考え方と
簡単な紹介がメインなので詳しい方法は省略しています。
今回特に私がお伝えしたいことは
スマートスピーカーのような新しいガジェットを使って、
メーカーから与えられたことだけではなく
今まで使ったことのない技術を調べて面白そうだなと思ったら
自分で試してみることが重要ということです。
そうやって知識と経験を積んでいけば、
組み込みエンジニアとして幅広く活躍できるようになりますよ。
まとめ
何をするか(目的)
- 人感センサで人を検出
- ラズパイで発話
- クラウドに記録
準備
- ラズパイとスマートスピーカー
- googleスプレッドシートを作成
利用する技術
- ラズパイのGPIOでセンサから信号を検出
- google-home-notifier
- Google Apps Script
今回は一例を紹介しましたが、他にどんなことがあるか
自分でも調べてみましょう。
参考になったとか、もっとここが知りたいなど一言でも
コメント、意見などいただけると励みになります。
こちらの記事で組み込みエンジニアが学ぶことをまとめています。
もしよければご覧ください。
![](https://tomozo-blog.com/wp-content/uploads/2021/03/3255f302bb1f49c0a4c6c1de1a7b65e7-520x300.jpg)