Raspberry Piで測定したCO2濃度をAlexaが話せるよう連携する

前回までの記事で、ラズベリーパイCO2濃度 を測定し、測定した結果を Google スプレッドシートに保存してグラフ表示する、までができるようになりました。

スマホ等で結果が見られるようになり始めからするとだいぶ便利にはなったんですが、さらに怠惰(?)なところを目指して、今度は Alexa に話しかけると結果を教えてもらえるようにしてみたいと思います。

下記の全体像のうち、今回追加で作るのは右下の点線で囲まれた部分となります。

どうやって Alexa スキルを作るか?

Alexa スキルは2年前に何個か作ったことがあるんですが、その時以来しばらく開発をサボっていて作り方を忘れてしまったのと、何より最新の情報をほとんどキャッチアップできていません…。

その時「あ、そういえば!」と思い出したのが、「Voiceflow&VUI 〜虎の巻〜」というこちらの一冊。

技術書典 応援祭で購入したまま積ん読だったのですが、ちょっと開いてみたところノンコーディングで Alexa スキルが作れてしまうサービス Voiceflow が実に興味深い!

この機会にと、Voiceflow でスキルを作ってみることにしました。

Voiceflow で Alexa スキルを作る

Voiceflow は直感的なインターフェースでパーツを組み合わせながら、Alexa スキルGoogle アクションが作れるサービスです。

個人でスキルを作る分には無料で始められるので、まずは下記サイトよりユーザー登録します。

登録したユーザーでログインしたら、「Create Project」をクリックして新規プロジェクトを作成します。

Voiceflow

プロジェクト名を入力し(ここでは CO2濃度)、地域に Jappanese(JP) を選択します。

Voiceflow

新規プロジェクトが作成されると、こういう画面が表示されます。

真ん中にある「HOME」を起点として、左メニューに用意されている様々なブロックを組み合わせる形で、スキルの処理を作成していきます。

Voiceflow

今回は以下のように、「Integration」>「Google Sheets」ブロックを使って Google スプレッドシートから最新のCO2濃度を取得し(真ん中のブロック)、「Interaction」>「Speak」ブロックで取得したCO2濃度を話す(右のブロック)、という処理を組みました。

Voiceflow
※細かい作り方は省略してます、すいません。

ここまででスキルの処理ができたので、これを Alexa 開発者コンソールにアップロードしていきます。

Voiceflow では作ったスキルを直接アップロードすることができます。右上の「Upload to Alexa」>「Connect Amazon」をクリックします。

スキルのアップロードには、Alexa 開発者コンソールのアカウントを作成しておく必要があります。

Voiceflow

ログイン画面が出るので、自分のアカウントでログインします。

Voiceflow

Voiceflow に対するアクセス権限の確認画面が出るので、「許可」をクリックします。

Voiceflow

スキルのアップロードが始まります。

Voiceflow

Upload Successful」メッセージが出たらアップロードは完了です。「Test on Alexa Simulator」をクリックすると、Alexa 開発者コンソールのテスト画面が開きます。

Voiceflow

Alexa 開発者コンソールのテスト画面で、シミュレータで動作が確認できます。

Voiceflow

一般公開する Alexa スキルですとこの後公開作業が必要ですが、今回家だけで使う目的のスキルなので、ひとまずここまででスキルの作成は完了とします。

ここまでで、Alexa 開発者コンソールのアカウントと関連付いている自宅の Alexa デバイスから、このスキルを呼び出すことができます。

できあがった Alexa スキル

では、実際に Alexa デバイスからスキルを呼び出してみましょう。

こちらは家の Amazon Echo Show 5 から、CO2濃度を尋ねてみた様子です。

Alexa が現在のCO2濃度を答えてくれるようになりました!

おわりに

初めて Voiceflow 使ってみましたが、これはほんと便利なサービスです。

以前コードを書いて作っていた時に比べて、誇張抜きに何分の一かの作業時間でスキルができあがってしまい驚きでした。

いやあ、この世界の進歩ってつくづく速いですね・・・。

おかげでこの仕組みも、単にCO2濃度を計測するだけだった開始当初から、話しかけるとCO2濃度が分かるようになるまでに進歩しました!

この記事を書いた人

ko31

岩手県出身、群馬県在住のフリーランスWeb系エンジニアです。
Webシステム・アプリ、Webサービス、WordPress開発等を雑多にこなしています。バンカラ応援好きの振り飛車党。
PHP / WordPress / 高校野球 / 将棋 / WordPress / ブログ / 食べること / 二児の父親

>>もっと詳しいプロフィールはこちら

お仕事のご相談・お問い合わせ

Gosign(ゴーサイン)という屋号でフリーランスの Web エンジニアとして活動しています。
当ブログでの掲載内容はもちろん、Web サイト制作や Web アプリケーション開発などのご相談・ご質問がありましたが、お気軽にお問い合わせください!

合わせて読みたい記事