(こちら初代セサミ・セサミmini用の旧セサミアプリの情報でございます)
<Suicaでセサミを解錠する>設定方法
ラズパイを使ってプログラミングをすればSuicaなどのNFCカードでセサミを解錠することが出来ます
Suica設定に必要なもの
1.ご自身がオーナーであるセサミスマートロック本体
2.1のセサミにペアリングされているWiFiアクセスポイント
3.インターネット環境
4.NFCリーダ (※SONYのNFCリーダPaSoRi RC-S380を使用)
5.ラズペリーパイ
・microSDカード
・microUSBケーブル
・USB充電器
・LANケーブル
・HDMIケーブル
・モニター
・キーボード
NFCリーダの設置
1.シールを取り外しスクリュードライバーでネジを取りはずす

2.中のモジュールを天板からはずす

3. NFCリーダとラズベリーパイをUSBケーブルで繋げ、別箱へいれる

(※別箱の3Dデータはこちら)
※コイルの部分を上にする


電源に繋ぐケーブルはこちらの穴から通します。

プログラミングの設定
1. ラズパイに*nfcpyをインストールする (*PythonでNFCリーダを取り扱うライブラリ)※ラズベリーパイを使うにあたって、はじめの設定方法はこちら
↓コマンド入力
Githubからサンプルコードを取得
2. NFCリーダのRC-S380をラズパイにUSB接続
→examples/tagtool.pyを実行 (※nfcpyはPython2.xで動作)
↓コマンド入力
「** waiting for a tag **」が表示される
↓
Suica等のNFCカードをNFCリーダ(RC-S380)にかざす
↓
そのタグを読み込んだ結果が表示される
(※SuicaだけでなくPasmoやNanacoカードなど様々なNFCカードも使えます)
3. IDmを取り出す
Suicaがタッチされた時にIDmを取り出すプログラムをコマンドしていく。
# -*- coding: utf-8 -*-
import requests
import json
import binascii
import nfc
import time
from threading import Thread, Timer
# login CANDY HOUSE account and get token
url = "https://api.candyhouse.co/v1/accounts/login"
head = {"Content-type": "application/json"}
payload = {"email":"jerming@candyhouse.co", "password":"stanfordsucks"}
response = requests.post(url, headers=head, data=json.dumps(payload))
token = response.json()["authorization"]
# Suica待ち受けの1サイクル秒
TIME_cycle = 1.0
# Suica待ち受けの反応インターバル秒
TIME_interval = 0.2
# タッチされてから次の待ち受けを開始するまで無効化する秒
TIME_wait = 3
# NFC接続リクエストのための準備
# 212F(FeliCa)で設定
target_req_suica = nfc.clf.RemoteTarget("212F")
# 0003(Suica)
target_req_suica.sensf_req = bytearray.fromhex("0000030000")
print 'Waiting for SUICA...'
while True:
# USBに接続されたNFCリーダに接続してインスタンス化
clf = nfc.ContactlessFrontend('usb')
# Suica待ち受け開始
# clf.sense( [リモートターゲット], [検索回数], [検索の間隔] )
target_res = clf.sense(target_req_suica, iterations=int(TIME_cycle//TIME_interval)+1 , interval=TIME_interval)
if target_res != None:
#tag = nfc.tag.tt3.Type3Tag(clf, target_res)
#なんか仕様変わったっぽい?↓なら動いた
tag = nfc.tag.activate_tt3(clf, target_res)
tag.sys = 3
#IDmを取り出す
idm = binascii.hexlify(tag.idm)
print 'Suica detected. idm = ' + idm
if (idm == "0139c1234567e6f5") or (idm == "0139e9876547e6f5") or (idm == "01010a1234567100"): #Jerming Watch or Mako iPhone7 or Yui PASMO
# unlock Sesame with token
url_control = "https://api.candyhouse.co/v1/sesames/E746E033D09D/control"
head_control = {"X-Authorization": token, "Content-type": "application/json"}
payload_control = {"type":"unlock"}
response_control = requests.post(url_control, headers=head_control, data=json.dumps(payload_control))
print(response_control.text)
print 'sleep ' + str(TIME_wait) + ' seconds'
time.sleep(TIME_wait)
#end if
clf.close()
#end while
※実行するには管理者権限が必要です。
sudo python2 suica.py
SuicaをかざしてIDmが表示されたら成功です!
管理者権限なしで動かす<sudoなしで実行する>
1.lsusbコマンドを打って接続されているRC-S380のIDを調べる
2.XXXX、YYYYという部分に表示されるIDを使い下記のコマンドを実行
これでsudo無しでRC-S380を使えるようになりました。
また上記で不明な点がある場合は、お手数ですが下記メールアドレスまでお問い合わせください。
・セサミの深イイ話 … セサミが役に立った思いがけない瞬間とは?
・セサミのちょっと変わった使い方 … 使い道は鍵だけ?いいえ、こんな使い方もあるかもしれません!
・セサミCMの裏話 … セサミが全米で大ヒットした秘密はこちら!
CANDYHOUSE をSNSでチェックする
Facebookグループはこちら
- 選択結果を選ぶと、ページが全面的に更新されます。