好奇心は鯖をも殺す

作ったもの

スマートロックを自作した。

スマートロック高い。

皆さん、スマートロックを知っていますか?
ボタンを押したり、カードをかざしたりすると鍵が開くような鍵のことで、最近では一般家庭の玄関に取り付ける為の製品が続々と出てきています。スマホアプリからBluetooth Low energyなんかを使って解錠させる製品が流行りですね。

スマートロックの何が良いかというと、鍵を鞄の奥底から探さなくて良いこと。旅行から帰った時なんかに、鍵がどこに行ったかもわからず、失くしてしまったのではないかと玄関先で冷や汗をかくこともしばしばあるので助かります。まあ、普通の人はサクッと見つけてサクッと解錠しているんでしょうが。
ただし、便利とは言ってもどれも3万円や5万円辺りのそこそこ良いお値段なので、自分で作ることにしました。
と思ってゆっくり放置してたらどんどん安い製品が出てきました。

つくる:準備編

今回の目標
1.  (市販品より)安くつくる
2. 楽に使えるようにする
3. 今までにやったことがないことをして技術を身につける

しくみ
今回は、Felicaカードをドアに取り付けた読み取り部にかざすと、鍵が開いたり閉まったりするタイプにしました。Felicaカードと言われてもピンとこないかもしれませんが、suica等の交通系ICカードがその規格を使っています。

当初は、ESP32というBLEとWi-fi機能がついたマイコンの載ったボードを使って、アプリから解錠するタイプにしようと思っていました。
適当に作ったandroidアプリからLEDをチカチカさせたりしてみて、ソフトは8割方できたかなという所になって「アプリ起動して操作するの面倒くさいな…かといって自動にすると誤爆しそうだし…」と思い、カードをかざすタイプに方向転換しました。

カードはスマホケースに入れたViewクレジットカードを使うので、実際の運用はスマホをポケットから出してかざすだけです。この距離ならナイフのほうが速い的なノリです。
オートロック付きのものもありますが、自分がオートロック機能をつけると120%閉め出されるのでやりません。

鍵の開け締めは、ドアの内側のノブをサーボーモータで回します。つまみをケースで覆ってしまい内側から人力で開けられなくなるので、解錠ボタンと施錠ボタンも用意することにします。

素材

  • Arduino nanoコピー品: 400円くらい。プログラムを書き込んだらその通りに動いてくれる今回の装置の頭脳。前回のアイカツ装置から奪いました。
  • サーボモータSG-90:400円くらい。秋月で一番安いやつですが、パワーは十分です。
  • FelicaリーダーライタRC-S620S:3600円くらい。フラットケーブル接続なので一緒にこれも買いました。
  • スイッチ:10円~。適当でいいです。かっこいいボタンを使うとかっこよくなるかもしれません。
  • 抵抗器:1個1円~。今回は家にあった330Ωと200kΩのものを使いました。
  • FET:30円~。これを使った気がします。回路を入り切りするスイッチ的に使います。マイコンの出力電圧で使えるものを選びましょう。
  • ケース:0円~。ドアロックに取り付ける部分。最悪ダンボールでもできます。好きに作りましょう。

普通に作れば1万円以下でできると思います。ESP32なんかを使ったBLE解錠なら、RC-S260Sが要らないので、もっと安くなります。

つくる:ハード編

まずケースですが、今流行りなので3Dプリントで作ります。前々からやってみたかった奴です。

今回はDMM.makeで外注して印刷することにしましたが、3Dプリントするにはまず3Dモデルが必要です。作りましょう。

Fusion360という3DCADソフトは個人なら無料で使うことができて、機能的にもなかなか優れているらしいです。これを使っていきましょう。
初心者なので、色々チュートリアルを見ながら作って、こんな感じになりました。
lock1lock2左の部分がモータの回転部に取り付け、ノブに被せて鍵を開け締めする所。
右がモーターを固定して内側で左の部品を回転させるケース。
真ん中はFelicaリーダーのカバーです。

よく見ると3つの部品が小さい橋のようなもので繋がっているのですが、DMMは複数部品を同時に印刷できないので見かけ上一つの部品にしています。
DMMのプリント料には送料も含まれているので、このような形で発注しておいて、届いてからバラすことで送料を節約できるらしいです。

できたモデルをアップロードするとこんな感じ。
lock3一番安い塗装なし磨きなしのナイロンでプリントすることにしました。大体4500円くらいですが、この辺はサイズと素材次第らしいです。
相場がよくわからないけど、たくさんプリントする人は家庭用3Dプリンターを買ったほうが良さそうなお値段。

注文してからだいたい1週間くらいで届きます。途中で「印刷を開始しました」というメールが来るのがワクワク感を高めてくれて良いです。
DSC02662届いたのがこれ。ん?この包装は…
DSC02663予めバラされてる!バレてる~!部品を繋げて送料を節約しようとしたのバレてる~
質感としては、如何にも積層させました感が出る縦筋模様ではなくて、梨地に近い印象。リーダー部分はは外に出すので後から塗装でもしようかと思っていましたが、思ってより見た目が悪くないのでそのまま使います。

DSC02668組み付けるとこんな感じになります。
サーボについてきた羽根を回転軸に取り付けて機構部は完成。外れやすいので接着剤をつけておくと良いです。

回路のほうはあまり難しいことはなく、スイッチでONOFFできるようにしたり、カードリーダーを使えるように素直に繋ぎます。
工夫した所として、サーボの電源送りにFETを使った事があります。サーボに常に電圧を掛けていると、モーターが指定した位置で止まる力を持ち続けて、普通の鍵で開け閉めできません。
そこで、FETを使って必要なときだけモーターを電源に繋いであげる構成にすることで、鍵でもカードでも開けられるようにしています。

回路的はこちらのサイトとほぼ同じです。
簡単に実体配線図を書けてお見せできるツールがあれば全体を書きたいです。

DSC02745ユニバーサル基板に実装して全部繋いだのがこれです。電源は基板右側に刺さっているUSBケーブルから取ります。

白と青の線が繋がっているコネクタは、arduino miniの書き込みがリーダーを繋いだ状態ではできないため、カードを追加する時は線を外せるようにするための工夫です。
ただ、普通にフラットケーブルを抜いたり、arduino自体を抜き差し可能にしたほうが効率が良いと思います。馬鹿なのでそれに気づかずにコネクタをつけて「天才では?」と思っていました。

つくる:ソフト編

arduino IDEというものを使って開発していきます。C言語が分かれば簡単です。
これから始める皆さんには下の本がおすすめです。本の後半がarduino公式リファレンスになっていてその場でわからないことを調べられます。

FelicaリーダーのRC-S620SはSONY製品なのですが、SONYがarduino用にライブラリを公開しているので、これを使いましょう。
RC-S620Sの使い方はこちらのブログを参考にさせていただきました。
サーボモーターは標準ライブラリが最初からIDEに入っているので、それを使います。角度を指定するだけなのでとても簡単。

カードをかざしたときにどういうことを行っているかというソースコードを本当は載せたいのですが、セキュリティ性が低すぎてインターネットのおじさんたちにボコボコにされるので書けません。同じように作って空き巣に遭ったときに家財保険が効くのかも怪しいです。まあ外せばわからないでしょうが。

あ、それと上にも書きましたが、サーボを動かす前と後にFETを駆動させたり止めたりしましょう。

あんまり書くことないです。

設置・運用

DSC02746玄関に設置しましょう。
基本的に全部両面テープで貼り付けるだけです。固定力は腕でもなかなか外せないレベルで出ます。
カードリーダーはフラットケーブルなのでドアの隙間から出してあげます。

DSC02747外側はこうなります。リーダーとカバーも両面テープでお互いを留めていて、テープのためのスペースも確保しています。

使うとこんな感じ。結構便利そうです。

リーダーのカバーが白一色でもう少し訴えかけるビジュアルが欲しかったので、かっこいいステッカーを貼ることにしました。
DSC02750ありがとうさくらインターネット。ステッカーはこれしか持っていなかったので下の余白を適当にハサミで切って貼りました。

ちなみに、このブログはロリポップサーバーで運用されており、さくらインターネットとは全くの無関係です。

反省

作ってから2週間くらい使ってみているのですが、非常に楽です。ポケットにスマホだけ突っ込んでコンビニに行くこともできます。鍵も支払いもsuicaでOK。
ただ、色々と改良したい点も出てきます。

  • 内側の基板にもケースを作る:埃をかぶると良くないし、ケース作成技術も習得したいですね。
  • 基板をプリント基板化:実はユニバーサル基板の配線も初めてでしたが、今はプリント基板が安くて簡単にできるらしいので。スキル上げていこうな。
  • フラットケーブルを長くする:ケーブルが短すぎてスマホがドアの縁に当たりまくります。上の動画でスムーズに見せていますが、あれはテイク5くらい撮りました。普段はスマホをぐるぐるさせてます。緊急性が高いので150mm長のケーブルを買います。
  • かっこいい(かわいい)ステッカーを調達する:ください。

ものづくり意欲が湧いてきたので、また何か作ろうと思います。

Take Five

  • はじめまして、現在似たようなものを作ろうとしていましてコメントいたしました。
    気になっているのが、サーボモータと錠を固定してしまった場合物理鍵による解錠、施錠は可能なのでしょうか。
    トラブった時が怖いので… 返信をいただけたら幸いです。

    by だじ 2019年5月22日 12:10 AM

    • つまみを回す時以外はサーボモーターに電源を供給しないようにすれば、物理鍵で操作できますよ。
      自分も誤爆が怖かったので、FETで電源を入り切りするようにしてみました。

      by saba0274 2019年6月8日 8:51 PM

  • 初めまして、回路設計の方についてお尋ねしたいのですが
    良かったら ラインとか交換できますでしょうか?
    よろしくお願いいたします。

    by ヒロシ 2019年7月21日 6:03 PM

    • LINEの交換は少し厳しいので、参考情報だけおいておきます。
      基本的に回路はサーボモーターを動かす回路があればカードリーダーを繋ぐくらいで出来ます。
      https://deviceplus.jp/hobby/entry057/
      この辺りを参考にしてみると良いかもしれません。

      by saba0274 2019年7月28日 11:23 PM

  • はじめまして
    この構造なんですが、カギの部分以外は自分が作りたいものと同じような気がします。
    でも全く無知なものでこの構造自体も理解できてません。
    もし良ければ詳しく教えてもらえることはできませんか?

    by 小林 2019年7月24日 3:06 AM

    • カギの部分以外というのがいまいちピンと来ていませんが、
      構造的には一番上の画像の左側の部分をつまみにかぶせて、その部品をお椀のような部品の外側に付けたモーターで回すイメージです。
      お椀はモーターの保持のための部品です。
      回答になっていなかったらすみません。

      by saba0274 2019年7月28日 11:34 PM

  • コメント失礼します。
    自分でも同じように作ろうとしているのですが、MOSFETのスイッチングとサーボの組み合わせ方に悩んでいます。というかうまくいきません。
    もしよろしければ回路図を教えていただけないでしょうか?

    by hareta 2019年11月30日 12:14 AM

    • 遅くなりすみません。
      回路図を探してみたのですが見当たりませんでした。清書することがあれば載せたいと思います。
      今回はFETを叩いてすぐにサーボに信号を送っても反応しないことがあったので、FETのゲートに電圧をかけてから少し待ち時間を用意しています。
      もしかしたらそういうことで動かないかもしれないので試してみるのはどうでしょうか。

      by saba0274 2020年5月3日 2:23 PM

  • Felicaなどを使って、自分のスイカでないと開かない宝箱を作ろうと思っているのですが、ソースコードの参考になるものをお教えいただけないでしょうか?

    by ダイゴ 2020年2月2日 8:58 PM

    • 本文中に書いてあるSONYのライブラリのドキュメントと参考にさせて頂いたブログくらいでしょうか…
      あとはカードリーダーのRC-S620Sで検索するといくつか出てくるとは思いますが、私自身のソースでどうしたかは最早記憶にありません…すみません…

      by saba0274 2020年5月3日 2:30 PM

  • こちらのブログを参考にスマートロックを作って嬉々として取り付けたのですが、家の鍵が固くて鍵が開かず心が折れました。
    それはともかくfelicaのフレキシブルケーブルが(保護カバーとかせずに)露出しているように見えますが、扉の開け閉めによるダメージってそんなにないんでしょうか?
    実装前に試験的にケーブルを抜き差ししていたら認識の反応が鈍くなってきたので気になりました。
    それとこちらではfelica本体もカバーのみなので雨風による錆とかできないんでしょうか?
    よろしくお願い致します。

    by たらこ 2020年7月4日 2:50 PM

    • 参考にしていただきありがとうございます。
      サーボモーターにはもう少し力(トルク)の強いものもあるので、ギリギリ開かないレベルならそれで解決するかもしれませんね。
      フレキシブルケーブルですが、何もしていないと扉によるダメージがありそうだったのでテープで扉に沿うように固定しています。
      扉とドア枠には微妙に隙間があるのか、接触していない(接触していても緩衝材に軽く触れる程度?)ので今の所問題なさそうです。

      防水については、扉自体が庇の下にあり直接風雨の影響は受けない環境のためこれで必要十分だと思っています。最近開けて見たのですが今の所錆などは出ていませんでした。
      ただ、直接扉に雨が降りかかるような場所の場合はケースをもう少し工夫する必要があるかもしれません。

      by saba0274 2020年8月27日 6:11 PM

  • 配線図は、「fritzing」というソフトが便利ですよ。
    ダウンロード→https://fritzing.org/

    by じか 2021年7月20日 9:18 AM

コメントを残す




関連記事