(※オートロック機能まで作ってから公開予定でしたが、しばらく作業時間が取れそうにないので公開)
我が家では今年の4月からスマートロックの SESAME mini を使っています。
セサミ スマートロック | CANDY HOUSE JAPAN
うちのドアの鍵は微妙に大きくて他のスマートロックは取り付け出来ないですが、SESAMEの場合はサポートがかなり親切で、アダプターを作ってくれたり。
SESAMEのメリットの一つに、REST APIが用意されているので簡単にハックできることなんですが、これまで特に弄ってなかったので、とりあえずM5Stackでコントロールできるようにしてみました。
API Key の発行と操作の有効化
ロックの操作をAPIから行うには、API Keyの発行と、操作の有効化を行う必要があります。
API Key の発行は、ダッシュボードの API Settings から行います。
https://my.candyhouse.co
操作の有効化 は、Sesameロックを設定したスマホアプリから行います。
M5Stackからリクエスト
StaticJsonDocument<200> doc;
switch(command) {
case LOCK : doc["command"] = "lock"; break;
case UNLOCK: doc["command"] = "unlock"; break;
}
String jsonString;
serializeJson(doc, jsonString);
const char* taskId;
HTTPClient http;
http.begin("https://api.candyhouse.co/public/sesame/" + String(SESAME_DEVICE_ID));
http.addHeader("Authorization", String(SESAME_TOKEN));
int httpResponseCode = http.POST(jsonString);
ソースコード全体はこちら。
https://gist.github.com/TakuroFukamizu/37e932c302ff3a46814fd50e8314155c
まとめ
SESAME いいよ SESAME。
APIで気軽に制御できてたのしいです。
さらに、M5Stackみたいなマイコンでボタン操作できるとちょっとうれしい。