2017/04/29

ドアロックチェッカーの制作

玄関ドアのロックがされているか、遠隔で確認できる仕組みを作ります。


仕様
  • 玄関ドアの施錠・開錠でIFTTTにイベントを投げる。
  • アンロック状態で5分経過後、IFTTTにイベントを投げる。
  • メールで問い合わせると、現在の状態をもってIFTTTにイベントを投げる。
  • (おまけ)IFTTTのトリガを引くとき、データ部分に現在の温度・湿度・気圧を添付する。
出力がIFTTTなのは、設定によって直接スマホの通知を出したりメールを出したりgoogleドライブに保存したりとなんでもできるからです。
スイッチ1個の監視のためにraspberry piを1台動かすのもなんだかもったいないので、温湿度気圧センサを載せます。
使用言語はpython。お手軽にいろいろできます。

材料
  • raspberry pi zero v1.3ケースキット \2,160
    https://www.switch-science.com/catalog/3191/
  • アレグロ, ホール効果スイッチ IC, 3 → 24 V, 3-Pin SIP \1,042/5個
    http://jp.rs-online.com/web/p/hall-effect-sensor-ics/7244660/
  • (おまけ)BME280搭載 温湿度・気圧センサモジュール
    https://www.switch-science.com/catalog/2236/
下準備
  • メールアカウントと、iftttのアカウントがあること。
  • raspberry pi zeroに専用osである raspbianをインストール。
  • HDMIを毎回接続するのも面倒なので、raspbianにsshでログインできるように設定。
  • 必要そうなものをいろいろインストール(pythonのrequestライブラリやらGPIOライブラリやら)
配線
  • BME280モジュールの1,5pinをショート、4,6,7pinをショート
  • BME280 2pin -> Raspberry PI 5pin (I2c Clock)
  • BME280 3pin -> Raspberry PI 3pin (I2c Data)
  • BME280 4pin -> Raspberry PI 1pin (+3.3V)
  • BME280 5pin -> Raspberry PI 9pin (GND)
  • ホール効果スイッチICの1pin -> Raspberry PI 4pin (+5.0V)
  • ホール効果スイッチICの2pin -> Raspberry PI 5pin (GND)
  • ホール効果スイッチICの3pin -> Raspberry PI 12pin (ホールセンサ出力)
Raspberry PI のピン
https://learn.sparkfun.com/tutorials/raspberry-gpio より
Raspberry pi zero(無印)をケースに入れて使っており、裏側からGPIOのピンを引き出しています。USB上側はOTGで無線LANモジュールを挿しており、USB下側は電源です。
上に見えている小さい基盤が温湿度気圧センサ、長い線で出ているのがホールスイッチです。赤い棒は百均で買ってきた棒磁石です。これを玄関ドアロックのつまみに貼り付け、ホールスイッチを反応させるという、とてつもなく簡単な仕組みです。

ソースコード
以下の4つです。こちら(GitHub)に置いてあります。
  • LockChecker.py
  • Settings.py
    メールのID/PassおよびIFTTT呼び出しコードなど、初期設定を書き込む
  • gmail.py
    こちらのサイトのソースから必要な部分だけ抜粋。メール本文をリストで返すよう変更しました。
  • bme280.py
    こちらのサンプルコードの、こちらもテキストで返す部分をリストに変えてあります。
screenで動かせばよいので無限ループ、スリープコマンドでタイミングを作るという雑なつくりです。

入力
メール
タイトルがSettings.pyのREMOTE_SUBJECTで指定した単語(RPRemote)に一致している時、本文1行目をコマンドとして処理する。

コマンド
check … 現在の状態に従って、Lock または Unlockイベントを発行する。
unlockcheck … 現在の状態が Unlock の時、Unlockイベントを発行する。

出力
IFTTTイベント
Locked … 開錠から施錠に変化したとき、このイベントを発行する。
Unlocked … 施錠から開錠に変化したとき、このイベントを発行する。
Lock … コマンドによる問い合わせに対する応答としてこのイベントを発行する。
Unlock … 同上

運用
むりやり実用的っぽい使い方を考えてみます。
まずはIFTTTで以下2つのレシピを作成。
レシピ1
『スマホの位置情報がエリアから離れたら、メールをする』
エリアは自宅を中心に100m、メールは今回のシステムが受信できるアドレスに対して、タイトル RPRemote / 本文 unlockcheck としておきます。
レシピ2
『MakaerChannelでUnlockを受け取ったら、スマホの通知を出す』
通知は「鍵かけ忘れてますよ!」としておきます。

当然ですが、ドアロックチェッカーを動作させておきます。
この状態で鍵をかけずに自宅から離れるとスマホに「鍵かけ忘れてますよ!」と通知がくるようになりました。

2017/04/18

【報告】上田テーブルゲーム会 4/15

4月15日土曜日、上田テーブルゲーム会がありました。
今回は県内のゲーム会が他になかったためか20名後半の人数になり、椅子が足りない事態になってしまいました。ご迷惑をおかけした皆様、申し訳ありませんでした。
これに懲りず、またご参加いただけますようよろしくお願いします。

今回僕が遊べたものを中心に書いていきたいと思います。
まずはちょろさんよりインストしていただいた「花見小路」。大きなカードに美しい絵の、2人用対戦ゲームです。ほっぴーさんと対戦。
引き運で勝てた感じだけど、最終的に運なのか、もうちょっと何かあるのかまた遊んでみたいところです。
他のテーブルではイムホテップなど。
こちらはインフェルノ。アツいゲームです。最近僕も買っちゃいました。
「ドミニオン:帝国」をプレイ。おすすめサプライで4人対戦しました。共通で使えるイベントカードが面白い。「結婚式」を挙げまくり、金貨パワーでなんとか勝てました。
久々のドミニオン、やっぱり面白い。
他のテーブルでは「キャントストップ」など。その後「タイムストーリーズ」の卓も立ってました。
自然と始まる「ごいた」。いずさんが新調した竹駒、いい雰囲気です。
てつさん所有の「キセノンプロフィッター」。デッキ構築です。面白いと聞いていたので今回プレイできてよかった。
空気からキセノンを分離していくというなんとも奇妙なテーマなんだけど、デッキ構築という仕組みと空気を取り込んで蒸留していくイメージがなんか合っていて面白い。
ちょっと慣れなくて時間かかったけど、また遊びたいな。
アグリコラの時間合わせに「ザ・ゲーム」。これも上田のゲーム会に1つあってもいいかな?と思い最近購入しました。初プレイ2人を含む3人で1枚残しという上々な勝利。
Emaさんのインストで、話題の「ズーポリス」に挑戦。読まれないように考えるも、結局欲しいカードに大きい数字を置いてしまい読まれていく…。
低い数字でさらっと勝ったり、まさかの的中をさせるとかっこいいですね。自分にはそういう見せ場はぜんぜんなかったけど、かなり楽しかったです。
今後、参加していただける人数を考えながら、会場の確保をしていきたいと思います。
今回もたくさんの方にご参加いただき、本当にありがとうございました。
次回は5月7日(日)、連休最終日となっています。是非また一緒にあそびましょう。よろしくお願いします。

2017/04/17

【募集】上田テーブルゲーム会 5/7

ようこそ信州アグリコラ部へ!部についてのくわしい説明はこちらです。
アナウンス等はtwitterにて行っています。
初めて参加してみたいなと思っている方、いつも遊びに来ていただいている方、次回ゲーム会にぜひぜひ遊びに来てください!
今回もいろいろな方に楽しんでいただけますよう、いろいろなゲームを用意しています。
ぜひ一緒に奥深いボードゲーム、カードゲームの世界を楽しみましょう!


日時 … 2017/5/7 () 10:00〜20:00
会場 … サントミューゼ (上田市交流文化芸術センター) (map) 第1会議室

ゲームの進行がスムーズになるよう、ニックネームを書いた名札の着用をお願いしています。名札は会場で用意しておりますので、ご協力お願いします。
スタッフがゲームを用意しています。それに限らず、持ち寄ったゲームの中から参加者で相談し選んでプレイしましょう。

以前のレポートはこちらです。

途中参加・途中退場可能です。
途中からの場合、進んでいるゲームが終わるまで待っていただくことになるかと思いますのでご承知おきください。
何時くらいに行くよ、と連絡いただければ調整できるかもしれません。

会場ホームページはこちら。会場には無料駐車場があります。

注意事項
  • 第1会議室内は飲食不可です。ロビー等会場施設内にお弁当などを食べることができるスペースがありますので、飲食はそちらにてお願いします。
  • マルチ商法や宗教の類への勧誘等、他の参加者の迷惑になる行為は禁止とします。
  • その他マナー等で問題がある方にはお願いの上、退出していただく場合があります。
昼の時間にはアリオまで行って食事を取ってきたり、軽食を買ってきてロビーのテーブルを利用するといった方が多いです。
テーブルや椅子の並び替えが必要な場合などがありましたらご協力くださいますようお願いします。

質問やリクエスト等などございましたら、 コメント欄またはtwitterにてご連絡ください。

それではご参加お待ちしております!