2019年7月2日火曜日

ランドセルチェッカー その2

前回は家庭用で使えるRFIDデバイスを作りたい!ということでランドセルチェッカーを作ってみました。これ製品化するためには Androidのタブレットが必要で、しかも常設なのでできればACアダプタで電源供給できて、しかも同時にUSBホストでRFIDリーダを接続できないといけないなど制約が多く、しかも安いのじゃないとダメなのでそういうの無いかなーといろいろ探してたんですが結局見つからず… そんなの探せばいくらでもあるでしょーと思ってたんですが意外と無いものですねー。

というわけで止まっていたんですが、その間に Google Nest Hub とか Amazon Echo Show とか出てきていて、あー、これいーなー、こんなのが欲しかったんだけどなー、待てよ、というかこれで動かせばいいんじゃね?ということでこの辺のデバイスからRFIDリーダに接続できないかちょっと調べたところこの手のデバイスの通信はZigbeeを使ってると。Zigbeeねー、でもそれ用モジュール作ったりスマートディスプレイ側のアプリ組んだりとかなんか大変そうやなーということでまた立ち止まるなど。

あ、でもチェックしてOKかどうかわかればいいんだからディスプレー要らなくね?ということは Amazon Echo とかで音声だけでもいいじゃん。ということで設定などはWebサイトでやっておいて、チェックだけAmazon Echoからできるように作ってみました。


デバイスはラズパイちゃんを使います。IoTっぽく Windows10 IoT Core で動かして、Azureにつないで操作できるようにします。操作といってもRFIDのスキャンをして結果を送信するだけです。RFIDリーダは前回同様免許なしで使える250mWのSTIXを使います。

問題はレスポンス時間で、Amazon Echo でチェックを開始指示→Azureに指示→Azureから該当のデバイスに指示→デバイス側でRFIDスキャン→結果をAzureに戻す→Azureで忘れ物がないか確認→結果をEcho側に返す→Echoで結果をしゃべる とまぁ、それぞれやってることは大したことないんですが経路が長いのでこれがどのくらいのレスポンスで返せるのかが気になっていました。


Webの設定画面がこちら。デザインは全く入れてませんのでいたってシンプルです。ここで時間割の設定をします。この画面でもチェックボタンを押せば、リーダがタグを読み取って足りないものを表示してくれます。

さーて、Amazon Echo側のスキルも作成し、いよいよレスポンスを試します。

こちらが教科書に貼ったタグ。


リーダの上に空のランドセルを載せます。


自宅の Amazon Echo ちゃん


「アレクサ、ランドセルを開いてチェックして。」

・・・

Alexa「こくご、さんすうが足りません。」

おー、5秒くらいかな?これならオッケーオッケー
ということで国語と算数の教科書を入れてもう一度

「アレクサ、ランドセルを開いてチェックして。」

・・・

Alexa「OKです。すべて揃っています。」

よっしゃー、かなり使えそう。しばらく使ってみることにします。