スマートロックを作ってみた

よめ子さんのyoutubeを見ていたら、スマートロックを作ってみたというのがあったので自分でもやってみた。

下はよめ子さんの動画です


自分もまずはESP32ってヤツと他、もろもろを購入しました。いらないやつもあります

↓のはよめ子さんも買ったヤツです、なんか種類があるらしいので僕のスケッチ利用時はこれを買ってください。あとアマゾンの商品説明の図面のPIN番号が違う気がします。※アマゾンのコメント欄にも種類が違うと書いてあります、DOIT ESP32 DevkitV1ってヤツらしいです

作る時は自己責任で作成してください動作に補償はありませんので自宅に誰かいる時にセットしてください。あと動作が一部、未完成です※締め出されるかも

↓これ二個セットです。


↓よめ子さんも買ったこれがいいです。トルクの低いヤツはすぐ壊れた※マイクロサーボ SG92R は買わないほうがいいです。


ここから下側は参考で載せときます。安いのがあったらアマゾンや100均やホームセンターなどで買ってください。※ブレッドボードとケーブルとスイッチ等々







よめ子さんのnoteで参考にできる神々noteサイトを参考にまとめてみました。

すべての手順を書いてみました。

arduinoのサイトにアクセスしてインストールします。

https://www.arduino.cc/en/software

無題

無題1

マイクロソフトなんちゃらが表示されたけど飛ばした

無題2

無題4

マイクロソフトストアに飛ばされた

無題6

入手を押すと勝手にインストールされた

無題7

無題8

起動するとなんか出た

無題9

「アクセスを許可する」を押す

起動しました。

無題10

ファイル→環境設定

無題11

追加ボードマネージャーのURLにhttps://dl.espressif.com/dl/package_esp32_index.json               を追加する

無題12

無題13

無題14

無題15

ツール→ボード→ボードマネージャー

無題16

「esp32」と入力し検索する

無題17

「esp32」を検索すると出てくるのでインストール

無題18

無題19

終わったら「閉じる」を押す

ツール → ボード: → ESP32 Arduino → DOIT ESP32 DevkitV1           ※DOIT ESP32 DevkitV1を見つけて●を付ける

無題20

無題21


サーボモータを使えるよう設定します。

ライブラリをイングレード → ライブラリを管理

無題29

esp32servoを検索

無題30

esp32servoをインストール

無題31

インストールが終わったら閉じる

無題32


スマホでスマートロックを開けるためのアプリ「Blynk」  を使えるように設定します         

ライブラリをイングレード → ライブラリを管理 

無題22

blynk を検索する

無題23

検索し出てきたら blynk をインストール

無題24

インストールが終わったら閉じる

無題25

画像33


micro-USBケーブルでDOIT ESP32 DevkitV1接続

コントロールパネルでポート(COMとLPT)が有効になっているか確認する  COM番号も確認

無題26

なければドライバーをインストールをお願いします。                サイトURL              https://jp.silabs.com/developers/usb-to-uart-bridge-vcp-drivers       ドライバー               CP210x_Universal_Windows_Driver   

arduino                               ツール → シリアルポート →COM番号をチェックを入れる

無題27

無題28

スマートロックの回路図はこれです

回路図

スマートロックの組み立てはこんな感じです。

画像45

画像36


画像37

この黄色のサムターン抑えが試行錯誤しました。

画像38


金具とモバイルバッテリーと結束バンドは100均で購入と両面テープとマグネットは(アマゾン)で購入です

材料写真

画像37

次にスマホのblynkのアプリをインストールし設定します※私のスマホはiphone7です。


画像39

Project Nameを「door」で作りました、スケッチに入力するのでporject settingsのAUTH TOKENを控えてます。※メールでも送られてくる

画像65


画像40


画像41


画像42

こんな感じです。

画像43

スマホでスマートロックを開けるためのアプリ「Blynk」を家族などでシェアしたい時はアカウントを共有すればいい、同じメールアドレス、パスワードで「Blynk」にログイン

ここまでできたらarduinoを起動してパソコンとESP32をUSB接続する

画像33

arduinoのスケッチを全部消して

1234567無題

このスケッチを貼り付けます                      ※あなたの                             ①トークン                              ②WIFIのSSID                               ③WIFIパスワード                              をいれてください

#include <ESP32Servo.h>

#define BLYNK_PRINT Serial

#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "ここにあなたのトークン";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "あなたのWIFIのSSID";
char pass[] = "あなたのWIFIのパスワード";

Servo myservo1;
int button1 = 0, button2 = 0;
int servoPin1 = 13;
int push=12;

//ボタン検出
BLYNK_WRITE(V0) {
 button1 = param.asInt(); 
}

BLYNK_WRITE(V1) {
 button2 = param.asInt();
}


void setup()
{
 {
 myservo1.attach(13);
 pinMode(push,INPUT_PULLUP);
 int p=0;
 }
 Serial.begin(115200);
 myservo1.setPeriodHertz(50);
 myservo1.attach(servoPin1);
 Blynk.begin(auth, ssid, pass);
}


void loop()
{
 Blynk.run();
if(button1){
myservo1.write(2); //サーボモータの角度を2度に設定
delay(1000); //1秒待機
          }
if(button2){
myservo1.write(90); //サーボモータの角度を90度に設定
delay(1000); //1秒待機
          }

 if(digitalRead(push)==LOW){ //12pinのボタンを押すと実行
 delay(30); //誤作動防止用
  myservo1.write(0); //サーボモータの角度を0度に設定
delay(30000); //30秒待機
myservo1.write(90); //サーボモータの角度を90度に設定
delay(1000); //1秒待機
            }
}

マイコンボードに書き込む

87656789098765456無題

①黄色ボタンを押すと開く、その後30秒経つと自動で閉まる。     ②blynkで開く、閉めるが動作します。

123456789876543無題

ここまで来たら次は「OK Google 鍵を開けて」で動作させたいのでGoogle アシスタントとはIFTTTのwebhookで連携させます。※IFTTTの設定は、はっしょってごめんなさい

1234567890-9876543無題

IFTTTは3つまでは無料で作れます                   ※ただ、まだこのスマートロックの未完成の部分はこれです。出来ていない点は「鍵を開けて」はできるんですけど「鍵を閉めて」の命令するとGoogle アシスタントの命令がSWITCHの命令しかできないのでサーボが開閉を繰り返す動作になってしまうのを改善出来なかったので「鍵ストップ」で「鍵を開けて」のV0を0にもどしてから「鍵を閉めて」のV1を1にする方法でやってます。あといろいろ試したけど、ここまでしかできなかったです。V1を0に戻す方法は「blynk」のアプリで「閉じる」が点灯しているので「閉じる」を押すとV1が0になる方法です


IFTTTの設定                             「鍵を開けて」の設定

9876543456789098765無題

「settings」を押す

876543456789876545678無題

「if」をクリック

876543456789876545678無題

動作させる言葉をいれて [update trigget」                       次は「Then」をクリック

9876545678987654567無題

URL「http://188.166.206.43/あなたのトークン/update/V0」    「blynk」のトークンをいれます。                   Method    「PUT」                        Content Type  「application/json」                 Body      「 ["1"] 」     

987654356789876543456789無題

「鍵を閉めて」の設定

767876676567865567無題

「settings」を押す

876543456789876545678無題

「if」をクリック

765434567890987654無題

動作させる言葉をいれて [update trigget」                       次は「Then」をクリック

画像59

URL「http://188.166.206.43/あなたのトークン/update/V1」    「blynk」のトークンをいれます。                   Method    「PUT」                        Content Type  「application/json」                 Body      「 ["1"] 」 

976567887656787656787656789無題

「鍵ストップ」をつくります。これを閉めての前に言わないとサーボが開閉動作を繰り返します。※これを改善できるスケッチを教えてください。

656789876567898765無題

「settings」を押す

画像62

「if」をクリック

098765678909876578無題

動作させる言葉をいれて [update trigget」                       次は「Then」をクリック

画像64

URL「http://188.166.206.43/あなたのトークン/update/V0」    「blynk」のトークンをいれます。                   Method    「PUT」                        Content Type  「application/json」                 Body      「 ["0"] 」

987654567890987654567898765456789無題

これでGoogleアシスタントで動作しますが動作の言葉的には       ①「OK Google 鍵を開けて」                    ②「OK Google 鍵ストップ」                     ③「OK Google 鍵を閉めて」                    ④「blynk」のアプリで「閉じる」が点灯しているので「閉じる」を押す

あとNFCもしたいんですけどiphone7はNFCがないです。

ここまではできたけど、ああ誰かもっといいスケッチを教えてください  以上になります。



※↓バージョンアップ編です、バッテリーの容量アップとNFCタグに対応しました。




この記事が気に入ったらサポートをしてみませんか?