スマートロックを作ってみた
よめ子さんのyoutubeを見ていたら、スマートロックを作ってみたというのがあったので自分でもやってみた。
下はよめ子さんの動画です
自分もまずはESP32ってヤツと他、もろもろを購入しました。いらないやつもあります
↓のはよめ子さんも買ったヤツです、なんか種類があるらしいので僕のスケッチ利用時はこれを買ってください。あとアマゾンの商品説明の図面のPIN番号が違う気がします。※アマゾンのコメント欄にも種類が違うと書いてあります、DOIT ESP32 DevkitV1ってヤツらしいです
作る時は自己責任で作成してください動作に補償はありませんので自宅に誰かいる時にセットしてください。あと動作が一部、未完成です※締め出されるかも
↓これ二個セットです。
↓よめ子さんも買ったこれがいいです。トルクの低いヤツはすぐ壊れた※マイクロサーボ SG92R は買わないほうがいいです。
ここから下側は参考で載せときます。安いのがあったらアマゾンや100均やホームセンターなどで買ってください。※ブレッドボードとケーブルとスイッチ等々
よめ子さんのnoteで参考にできる神々noteサイトを参考にまとめてみました。
すべての手順を書いてみました。
arduinoのサイトにアクセスしてインストールします。
https://www.arduino.cc/en/software
マイクロソフトなんちゃらが表示されたけど飛ばした
マイクロソフトストアに飛ばされた
入手を押すと勝手にインストールされた
起動するとなんか出た
「アクセスを許可する」を押す
起動しました。
ファイル→環境設定
追加ボードマネージャーのURLにhttps://dl.espressif.com/dl/package_esp32_index.json を追加する
ツール→ボード→ボードマネージャー
「esp32」と入力し検索する
「esp32」を検索すると出てくるのでインストール
終わったら「閉じる」を押す
ツール → ボード: → ESP32 Arduino → DOIT ESP32 DevkitV1 ※DOIT ESP32 DevkitV1を見つけて●を付ける
サーボモータを使えるよう設定します。
ライブラリをイングレード → ライブラリを管理
esp32servoを検索
esp32servoをインストール
インストールが終わったら閉じる
スマホでスマートロックを開けるためのアプリ「Blynk」 を使えるように設定します
ライブラリをイングレード → ライブラリを管理
blynk を検索する
検索し出てきたら blynk をインストール
インストールが終わったら閉じる
micro-USBケーブルでDOIT ESP32 DevkitV1接続
コントロールパネルでポート(COMとLPT)が有効になっているか確認する COM番号も確認
なければドライバーをインストールをお願いします。 サイトURL https://jp.silabs.com/developers/usb-to-uart-bridge-vcp-drivers ドライバー CP210x_Universal_Windows_Driver
arduino ツール → シリアルポート →COM番号をチェックを入れる
スマートロックの回路図はこれです
スマートロックの組み立てはこんな感じです。
この黄色のサムターン抑えが試行錯誤しました。
金具とモバイルバッテリーと結束バンドは100均で購入と両面テープとマグネットは(アマゾン)で購入です
材料写真
次にスマホのblynkのアプリをインストールし設定します※私のスマホはiphone7です。
Project Nameを「door」で作りました、スケッチに入力するのでporject settingsのAUTH TOKENを控えてます。※メールでも送られてくる
こんな感じです。
スマホでスマートロックを開けるためのアプリ「Blynk」を家族などでシェアしたい時はアカウントを共有すればいい、同じメールアドレス、パスワードで「Blynk」にログイン
ここまでできたらarduinoを起動してパソコンとESP32をUSB接続する
arduinoのスケッチを全部消して
このスケッチを貼り付けます ※あなたの ①トークン ②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秒待機
}
}
マイコンボードに書き込む
①黄色ボタンを押すと開く、その後30秒経つと自動で閉まる。 ②blynkで開く、閉めるが動作します。
ここまで来たら次は「OK Google 鍵を開けて」で動作させたいのでGoogle アシスタントとはIFTTTのwebhookで連携させます。※IFTTTの設定は、はっしょってごめんなさい
IFTTTは3つまでは無料で作れます ※ただ、まだこのスマートロックの未完成の部分はこれです。出来ていない点は「鍵を開けて」はできるんですけど「鍵を閉めて」の命令するとGoogle アシスタントの命令がSWITCHの命令しかできないのでサーボが開閉を繰り返す動作になってしまうのを改善出来なかったので「鍵ストップ」で「鍵を開けて」のV0を0にもどしてから「鍵を閉めて」のV1を1にする方法でやってます。あといろいろ試したけど、ここまでしかできなかったです。V1を0に戻す方法は「blynk」のアプリで「閉じる」が点灯しているので「閉じる」を押すとV1が0になる方法です
IFTTTの設定 「鍵を開けて」の設定
「settings」を押す
「if」をクリック
動作させる言葉をいれて [update trigget」 次は「Then」をクリック
URL「http://188.166.206.43/あなたのトークン/update/V0」 「blynk」のトークンをいれます。 Method 「PUT」 Content Type 「application/json」 Body 「 ["1"] 」
「鍵を閉めて」の設定
「settings」を押す
「if」をクリック
動作させる言葉をいれて [update trigget」 次は「Then」をクリック
URL「http://188.166.206.43/あなたのトークン/update/V1」 「blynk」のトークンをいれます。 Method 「PUT」 Content Type 「application/json」 Body 「 ["1"] 」
「鍵ストップ」をつくります。これを閉めての前に言わないとサーボが開閉動作を繰り返します。※これを改善できるスケッチを教えてください。
「settings」を押す
「if」をクリック
動作させる言葉をいれて [update trigget」 次は「Then」をクリック
URL「http://188.166.206.43/あなたのトークン/update/V0」 「blynk」のトークンをいれます。 Method 「PUT」 Content Type 「application/json」 Body 「 ["0"] 」
これでGoogleアシスタントで動作しますが動作の言葉的には ①「OK Google 鍵を開けて」 ②「OK Google 鍵ストップ」 ③「OK Google 鍵を閉めて」 ④「blynk」のアプリで「閉じる」が点灯しているので「閉じる」を押す
あとNFCもしたいんですけどiphone7はNFCがないです。
ここまではできたけど、ああ誰かもっといいスケッチを教えてください 以上になります。
※↓バージョンアップ編です、バッテリーの容量アップとNFCタグに対応しました。
この記事が気に入ったらサポートをしてみませんか?