こちら旧セサミアプリ(OS1)の情報となります。

 

<Suicaでセサミを解錠する> 設定方法  

ラズパイを使ってプログラミングをすればSuicaなどのNFCカードでセサミを解錠することが出来ますGlitter


 

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ケーブルで繋げ、別箱へいれる


※コイルの部分を上にする



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

 

 

 

プログラミングの設定

1. ラズパイに*nfcpyをインストールする  (*PythonでNFCリーダを取り扱うライブラリ)※ラズベリーパイを使うにあたって、はじめの設定方法はこちら

 

↓コマンド入力

$ sudo pip install nfcpy

 

 

Githubからサンプルコードを取得

nfcpy | Github

 

 

2. NFCリーダのRC-S380をラズパイにUSB接続 

→examples/tagtool.pyを実行 (※nfcpyはPython2.xで動作)

 

コマンド入力

$ sudo python2 examples / tagtool.py

 

 

「** 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 Dashboard and get token from API Settings (Sesame API v3)
token = "{enter token here}"

# login CANDY HOUSE Dashboard and get deviceID from URL
device_id = "{enter deviceID here}"

# 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 (Sesame API v3)
            url_control = "https://api.candyhouse.co/public/sesame/"+device_id
            head_control = {"Authorization": token, "Content-type": "application/json"}
            payload_control = {"command":"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を調べる

 

$ lsusb Bus 001 Device 004: ID XXXX:YYYY Sony Corp.


 

2.XXXX、YYYYという部分に表示されるIDを使い下記のコマンドを実行

$ sudo sh -c 'echo SUBSYSTEM==\"usb\", ACTION==\"add\", ATTRS{idVendor}==\"XXXX\", ATTRS{idProduct}==\"YYYY\", GROUP=\"plugdev\" >> /etc/udev/rules.d/nfcdev.rules'
これでsudo無しでRC-S380を使えるようになりました。

 

 

 

また上記で不明な点がある場合は、お手数ですが下記メールアドレスまでお問い合わせください。

 

お問い合わせメールsesame@candyhouse.co

 

 

セサミニュース

セサミの耐久性 … セサミは最強?耐久性テストの様子を公開中です!
セサミの深イイ話 … セサミが役に立った思いがけない瞬間とは?
セサミのちょっと変わった使い方 … 使い道は鍵だけ?いいえ、こんな使い方もあるかもしれません!
セサミCMの裏話 … セサミが全米で大ヒットした秘密はこちら!

 

See more

 

 

 

CANDYHOUSE をSNSでチェックする

    

Facebookグループはこちら

 

 

 

 

 

# Smart Lock #  CANDY  HOUSE  #  SESAME # Key # Smart Lock Sesame  # Sesame  # Candy House  # Instruction Manual