動機
保育園の送迎の時、QRコードで打刻するシステムが導入された。おそらく現金の取扱いを減らしたいということでの導入だろうと思う。送り迎えの時間帯は保護者も保育者も忙しいので、そんなところで現金の取扱いをするのは微妙だなぁとは思っていた。月極の保育料は銀行引き落としになる予定だし、延長保育料はこれまで都度精算していたのを月ごとに集計するようにする予定だそうだ。であれば、集計を自動にしなければ大変である。
導入されたのは学研教育みらいの「すまぁと園業務支援システム」というそうだがネットに該当する情報はない。らくらく園業務支援システムというのがあるので、それが名前を変えたのだろうか。保護者としては、預けるときと引き取るときにQRコードをかざすだけであり、負担は最小限といっていいはず。
そのQRコード、紙で配られて「スマホなどに貼っていただければ」と言われたけど、それならスマホにデータとして持った方が良い。ただ、送迎のタイミングでQRコードを出すためにスマホ操作をするのは意外と面倒である。保育園に近づいたらQRコードが自動的にポップアップすれば便利なのではないか。
というわけでIFTTTを使って近接したら通知でQRコードが出るようにしてみた。
QRコード
紙にプリントされたQRコードは小さく、スキャンしても画質が悪いので、いったんQR Code Editorで読み込み、ついでに誤り訂正レベルを上げて再生成した。この時点で元々配られたパターンとは別物になっている。当然だが、以降のQRコードその他はIDと思しき箇所を書き換えたフェイクである。
VPNを使ってサーバーにアクセスしているらしいが、ホスト名らしきところにnuc6cayhという文字列が見えているのがご愛敬である。開発に使っているのか、あるいは標準ハードウェアなのだろうか。まさか運用系のホスト名を型番そのままにしてるということはないと思うが…。
今回のQRコードは一辺49セル(バージョン8)で生成されたので、余白4セルずつを加え1セル5ピクセル換算で285×285ピクセルとした。これを幅600高さ300ピクセルの中央に配置した画像ファイルを作成し、Dropboxに置いて共有リンクを作成する。
今回いちばん面倒だったのが画像ファイルの大きさの設定で、なぜかは知らないがあまり小さい画像ファイルはIFTTTの通知で表示されないため、あれこれ試行錯誤して600x300というサイズにしてみた。最終的に画面に表示されるQRコードが大きすぎても、リーダーに遠くからかざす羽目になって辛いため、なんとなくいい感じになるように設定したのが上記のとおりである。この辺はスマホの画面サイズとかにも依存するだろう。
IFTTT
Locationで保育園の近くに入ったらトリガーが引かれるようにする。
アクションはNotificationsで、画像付きのrich notificationを選択し、Dropbox上のQRコード画像ファイルへの共有リンクを表示するように設定する。
ちなみに共有リンクは通常提供されるものそのままではなく、www.dropbox.comをdl.dropboxusercontent.comに書き換えている。これは画像サイズが小さくて通知に表示されない原因を探っているうちにこうなったもので、もしかすると通常提供される共有リンクの末尾をdl=1とするだけでもいいかもしれない。
そもそもDropboxを使う必然性はまったくないので、スマホの内部ストレージに画像ファイルを配置してfile://とかでアクセスした方がセキュリティ的には良いかもしれない。
テスト
Fake GPSアプリを入れて徐々に保育園に近づけていくと通知がポップする。
よしよし、これであとは迎えに行くだけだ。
実際
ところが、実際にやってみるとポップアップしない。まあ位置情報なんてそんなもんだよね、と思いながらDropboxを開こうとするが、ちっともネットに繋がらない。もしやと思って周りを見渡すと、QRコードリーダーの横にソフトバンクWi-Fiスポットのルーターが鎮座しておるではないか…。きっとあれの設定がおかしくてネットに繋がらないのであろう。とほほ。
追記:その後ちゃんと使えています。