Amazon EchoとSwitchbotでオフィスの照明を音声でオン・オフしてみました
はじめに
こんにちは。徳道圭一@上越オフィスです。
先日は入退室のスマートロック化をご紹介しましたが、今回はせっかくなのでオフィスの照明もIoTでオン・オフを制御してみよう、という記事です。
【前回記事】上越オフィスで入退室扉をAkerun Proでスマートロック化しました
上越オフィスは元々は別の事務所だった部屋に入居しています。この部屋は電灯のスイッチがちょうど部屋の真ん中にありまして、最終退出者が電灯を消すと外の明かりを頼りに退室しないといけませんでした。
躓いたりぶつかったりするほどではないものの、これではちょっと危ないですね。
IoTロボット Switchbot
照明のスイッチは普通の家庭用の壁付けスイッチです。電気工事をすればことは足りるのですがそれでは芸がありませんよね。これをどうやってIoT化するか、ということが今回のお題になります。単にスイッチをオン・オフできればいいわけですから、選択肢は2つです。
・電灯スイッチ自体をIoT対応のものに入れ替える ・電灯スイッチを何らかの方法で物理的にオン・オフする
前者はまだ日本の規格に合致した製品が少なく入手性も悪いです。なによりも賃貸オフィスの電気工事になってしまいます。
では後者のほうはどうかといいますと、巷で人気IoTデバイスになっている「Switchbot」があります。スマホアプリによる遠隔操作でスイッチを物理的に押すことができるデバイスです。電池での動作(電池の有効期限は2年くらいのようです)なので、電源のない場所でも動作させることができます。
メーカーサイト: https://www.switch-bot.com/
Switchbot本体のパッケージ内容はこんな感じです。
1個のロボットと両面シール、スイッチを引き上げるフックシールで1セットです。スイッチ1個につき、Switchbot1個が必要です。今回、上越オフィスでは、電灯スイッチが2つあるので2個導入しました。
今回はSwitchbotをAmazon Echo(スマートスピーカー)からの音声コマンドでオン・オフしてみることにしました。
Amazon Echo (エコー) | スマートスピーカーでより楽しく
なお、本体だけですと、スマホやタブレットのアプリから1個づつの操作しかできません。スマートスピーカーなどから操作したい場合はSwitchLinkというコントロールハブを購入するする必要があります。
SwitchLinkのパッケージです。雲(クラウド)の形をしたWiFi接続専用のコントロールハブで、Switchbotをインターネットから制御するためのネットワーク接続機能を提供します。これがあれば複数のSwitchbotを集中制御することも可能です。
今回はどちらもAmazonのサイトで購入しました。Swithbot本体はおトクな2個パックの製品もあります。納期は数日~1週間と、通常のオフィス機器とあまり変わらない印象です。
導入の流れは
・Switchbotの設置 ↓ ・Switchbotの設定 ↓ ・SwitchLinkとペアリング設定 ↓ ・Alexaスキルへの追加
となります。
Switchbotの設置
設置は簡単です。道具はなにも要りません。まず最初に電池の保護シールを引き抜き、ロボットアームが動作することを確かめます。
付属の両面テープを本体の裏に貼り付け、Switchbotのロボットアームが電灯のスイッチ(一般的なシーソー型のスイッチ、専門用語ではロッカースイッチといいます)を押せる位置に貼り付けます。スイッチに貼られているのは、スイッチを引き上げる動作をさせるためのテグス糸付きプラ板です。このテグス糸をロボットアームに引っ掛けておきます。ロボットアームの動作はプッシューオン、プッシューオフのトグル型スイッチにも対応しますので、写真のようなスイッチだけでなく家電製品などにも取り付け可能です。
(動作する様子は後で紹介する動画をご覧ください!)
2枚目の写真はSwitchLinkを設置したところです。
Switchbotをアプリで設定
設置をしたら、SwitchbotとSwitchLinkをスマホで設定します。スマホアプリのSwitchbotアプリをストアからダウンロードしてインストールして行います。iOSでもAndroidでもOKです。
アプリを開くとすぐに近くのSwitchbotとのBluetoothでのペアリングスキャンが開始され、この画面が表示されます。すぐにSwitchbotの操作が可能になります。
※この画面表示は「壁スイッチを使用します」をオンにした場合の表示で、初期設定では右のように単純なスイッチオンの動作だけです。
まずはSwitchbotのON/OFFアイコン下にある歯車マークで設定画面を開き、「壁スイッチを使用します」をオンにしましょう。これでアイコンがON/OFFに変化します。ここでSwitchbotの名前も変更しておくとよいです。
戻って、前述の画面でON/OFFのアイコンをタッチし、ONをタッチしたときに設置したスイッチがONになる動作をするか確認します。もし、ここで「オンを押したらスイッチがオフになっちゃった!」となっても大丈夫です。動作が逆だった場合は設定画面に入って「スイッチのON/OFFを反転します」をオンにすればOKです。
ひととおりの動作を確認したら、安全なパスワードを設定しておきましょう。デフォルト設定のままですと他のスマホなどでペアリングされ、動作を乗っ取られる可能性があります(パスワードを設定するとスマホアプリからは操作の都度、パスワードを求められるようになります)。
次のステップでSwitchLinkを設定する前にここでスイッチボットの動作をすべて確認しておきます。SwitchLinkとペアリングすると、解除しないと設定変更ができなくなるためです。
SwitchLinkとペアリング設定
まず最初にSwitchbotアプリで管理者のメールアドレスとパスワードを設定しておきます。これはスマートスピーカーなどでSwitchbotを操作する許可をSwitchbotを制御しているシステムが許可するためです。今回はAmazon Echoを使いますので、AlexaのスマートホームスキルとSwitchbotとのアカウントリンクをすることになります。
Switchbotアプリの左上にある三本線のメニューをタップしてログインを選びます。
アカウントがない場合は新規で作成します。作成済みの場合はログインしてください。
メールアドレスとパスワードを登録すると、メールが届きます。そこに書かれている「Your confirmation code is ~」の番号を確認コードに登録します。
次に、SwitchLinkの電源を入れます。
Switchbotアプリでメニューから「Hubの追加」をタップします。あとはガイダンスに従ってWiFiの設定をするだけです。
ガイダンスは図入りですので、とてもわかりやすいです。利用しているオフィスの無線LANを登録します。
SwitchLinkがインターネットに接続できるとSwitchLinkが虹色に点灯します。
Switchbotアプリのメニューでデバイスリストを開くとHub(SwitchLink)が追加されています。
ペアリングするSwitchbotをタップします。ペアリングできるスキルは以下の3種類です。IFTTTを使うとカスタムスキルを使うこともできますが、今回は最初から用意されているAlexaのスマートホームスキルをオンにします。
「有効」をタップすると、Switchbot側でAlexaアプリとの連携機能が有効になります。デバイスリストで確認すると、SwitchLinkとペアリングされていることが確認できます。
これでAmazon Alexaと連携する準備が整いました!
Alexaスキルへの追加
※ここから先はAmazonのユーザーアカウントをお持ちであることを前提に記載しています。Amazonのユーザーアカウントをお持ちでない方は作成してAlexaアプリを使用できるようにしましょう。
スマートフォンでAlexaアプリを開きます。インストールしていない場合はダウンロードしてインストールします。Alexaアプリのスキル検索で「switchcbot」を検索して有効にします。2つ表示されますが、「スイッチボット」のワードを使わなくてもよいスキルを使ってみました(下側のスキルです)。
アカウントリンクで、Switchbotアプリで登録したログインアカウントを入力します。これでSwitchbotとAlexaアプリが連携しました!
さぁ、スマートホームスキルを開いてデバイスを追加してみましょう。うまく検出されれば、Bot01、Bot02など、Switchbotアプリで名前を付けたデバイスが表示されます。
デバイスを開くと、ここでON/OFFが可能です。でもこれだけでは単に操作するアプリがSwitchbotからAlexaアプリになっただけですので、やっぱり声で制御したいです。
「アレクサ、ボットぜろいちをオン!」
と言ってみても「すみません、ボットぜろいちがみつかりません」とつれない応答が帰ってきます。きちんと人間が発声する音とデバイスが紐づけられていないと快適に使うことはできないですね。この画面ではデバイスの名前を「入口の電気」としています。
これは「編集」をタップした↓の画面でワードを変更しているのです。
この識別をするためのワードですが、かなり試行錯誤をしています。
Switchbotが2つあるので、最初は「オフィスの電気1」「オフィスの電気2」としました。しかし電気を消すときはいいのですが、「オフィスの電気1をつけて」というと、「デバイスが二つ見つかりました。どれですか?」と聞かれ、「1をつけて」と応答する必要がありました。これは「Aの電気」「Bの電気」としても同じ反応で、個別認識をするときは番号やアルファベットでの附番ではなく、別の言葉にしたほうが識別がうまくできるようです。
「前の電気」「奥の(奥側の)電気」と試すと、これは個別認識ができました。しかし「奥の」というワードは認識しずらかったようです。同様に「C」と「4(しぃー)」、「Hogehogeさん」と「Hogehoge3」という誤認識もありました。母音と「か」「ま」「ら」行の認識は比較的良いようですが、「さ」「な」行の認識が認識しずらい印象です。
結果、現在は「入口の電気」「仕事場の電気」で個別認識できるようにしています。
Amazon Echoで照明をON/OFF
では、音声コマンドで照明をON/OFFしてみましょう。
「アレクサ、入口の電気をつけて!」
照明が付きましたね!
では、2つの照明を同時につけてみましょう。
「アレクサ、オフィスの電気をつけて!」
今度は2つのロボットが順番に動き、2か所の照明がつきました。
これは、Alexaアプリ内で、デバイスを「オフィスの電気」グループに入れておくことで、同時に複数のデバイスを制御できるようにしたためです。
8秒の壁
グループ操作には注意しなければならない点があります。Alexaスキルにコマンドが受付られてから8秒以内にデバイス側から動作応答がないと、タイムアウトになって「デバイスから応答がありません」と言われたり、実際にデバイスが動作しない、ということがあります。
動画を見ていただいてお分かりと思いますが、SwitchLinkは同時に複数のSwitchbotへの指令は出せず、1個の動作が完了してから次の動作の指令をするようです。これですと、この7秒ルールに引っかかってしまい、無線LANやBluetoothの環境次第では2個目のSwitchbotが動作しない、という場合があります。
今回はSwitchLinkとSwitchbotの距離を近くにすることでBluetoothの通信環境を良くして反応を早くする工夫をしています。
また、グループの操作をすると、なぜか同じロボットが2回動作を行ってしまうことが時々あります。Alexaアプリで操作しても同じ現象が発生するので、SwitchbotとSwitchLink間の制御の問題なのかもしれません。
この辺は少し双方に改善を期待したいところです。
最後に
如何でしたでしょうか?最近はAlexaスキルで様々なIoTデバイスを制御できるものが登場してきています。Switchbotも標準でスキルが登場して使いやすくなりました。最新のスマートスピーカーとIoTテクノロジーで、実際に行っているのはスイッチを押すだけ、という何ともピタゴラスイッチ的ギャップが面白く感じました。単純でコンパクトであるがゆえに、アイディア次第で応用範囲は広いのではないかと思います。
まだまだ発展途上のデバイスという感はありますが、安定性や応答スピードの向上した製品の登場に期待したいですね。