こんにちは! 今回から、IoTシリーズというものを作りまして、この半年で作ってきたIoTデバイスたちを紹介していこうと思います。 で、今回はその第1弾ということで「ESP8266でつくるスマートロック」を紹介します。 実は、すでに作った実物は改良を加えて違うものへと進化してしまったのでないのですが、写真が存在しているのでそちらを利用して紹介します。
準備するもの
ESP8266の開発ボード × 1
SWITCHSCIENCEさんが販売しているこれが一番作りやすいです。
https://www.switch-science.com/catalog/2652/
ジャンパーケーブル 数本
プライム発送で品質もよく届くのも速いのですが高いです。商品が届くまで時間がかかりますが、中華製のもっと安いやつもあります。
http://amzn.to/2d7mkqA プライム発送の方
http://amzn.to/2cdUiEH 安い方
サーボモータ SG92R × 1
SG90でも大丈夫だとは思いますが、私はこれで作りました。判断は自己責任でお願いします。
http://amzn.to/2cdUofH
ユニバーサルアームセット × 1
これじゃなくてもいいんですが、ネジとビスで作れるので作りやすいです
http://amzn.to/2cdSQSM
タクトスイッチ × 1
なくても全く問題ないです。しかし、玄関で鍵に手が伸ばせる状況にあっても直接開け閉めできないのであったほうが便利です。
ハードの作り方
鍵を開閉する部分
ユニバーサルアームを使ってこのように作ってみました。
土台は綿棒の蓋を使っているのですが、ドアにくっつきさえすればなんでもいいです。 タクトスイッチが写ってないですが、上の方につけておけば大丈夫です。88899900その際はジャンパーケーブルを使って配線の延長をしておいてくださいね。ちなみにタクトスイッチの構造と配線はこちらを参考にどうぞ!
http://raspi.seesaa.net/article/418174651.html 上記のサイトでの「配線する」という項目の中でGPIO25と書いてある配線を開発ボード側の何番ピンかにさしてもらえれば大丈夫です。
開発ボード側
サーボモータ、タクトスイッチともにただ線をさすだけです。 配線方法はこのサイトを参考にどうぞ。
http://marupeke296.com/EL_Ard_No9_ServoMotor.html
一応書いておくと、
サーボモータ | |
茶色 | GND |
赤色 | 5V |
オレンジ | 2番 |
タクトスイッチ | |
どちらか片方 | 3.3V |
もう一方 | GNDと4番(途中で回路を挟んでください) |
これで完成です。
ソフト側
ソフト側まずは、ArduinoIDEをインストールします。
https://www.arduino.cc/en/Main/Software
インストール後、ESP8266のボードをインストールします。
Arduinoの環境設定から追加のボードマネージャーのURLに 「http://arduino.esp8266.com/stable/package_esp8266com_index.json」を追記します。
そして、インストール。
GitHubにプログラムを上げておきました。
https://github.com/0eta0/ESP8266_SmartLock.git
ダウンロード後、[Key.ino]ファイルを開いて、SSIDやパスワード、動作角度など適宜編集し開発ボードに書き込んでください。
動作確認
Arduino側に電源供給をすると、シリアルモニタに接続状態や接続できた場合はIPアドレスが表示されます。
・「IPアドレス/lock」をブラウザに打ち込んでみてください。
例:IPアドレスが192.168.0.1の場合
192.168.0.1/lock
と入力。
・タクトスイッチを押してみてください。
両方ともにサーボモータがキュイと動けば動作確認完了です。
さらに拡張もできる!
今回はタクトスイッチのみでしたが開閉状態を示すために緑と赤のLEDを設置するとさらにスマートロックとしての機能をアップさせられます。
また、RasberrypiとHomeBridgeを使うことによって、Siriでコントロールすることも可能です。
そして冒頭でもお伝えしましたが、現在私が使っているものはRasberryPiと連携させドアの開閉だけでない機能をつけています。
それについてはのちのち書きたいと思います!
では、ありがとうございました!
僕はものすごい初心者でプログラミングの自分で設定する場所がいまいちわかりません…
よければ変える場所を教えていただきたいです…