电子发烧友App

硬声App

0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示
电子发烧友网>电子资料下载>电子资料>如何通过智能手机开门

如何通过智能手机开门

2023-02-01 | zip | 5.03 MB | 次下载 | 免费

资料介绍

描述

概述

我有一扇带电锁的门,当我没有带钥匙时,或者当我想让别人进来但我不在时,我也想打开它。

poYBAGPXZlaAMA-RAA4Gt05CzUs235.jpg
锁,在 24V 下工作。
 

该项目的最佳候选者是Shelly 1 继电器,因为:

  • 它价格低廉,在亚马逊上很容易买到
  • 它很小,带有小塑料外壳(因此可以安装在现有的电箱中)
  • 它提供了一个干接点(所以它可以直接驱动我的24V电锁)

对于软件方面的事情,我决定使用 Arduino 的IoT Remote 移动应用程序,它是免费的,允许您创建一个简单的界面而无需编写任何代码。该解决方案为我处理所有网络部分,因此我不必担心设置 Web 服务器、将其暴露在公共互联网、处理身份验证、编写远程通信协议等。一切都已由 Arduino Cloud 管理,并且我的代码变得非常简单。

关于安全的几句话

当谈到打开一扇真实世界的门时,我们都应该有点偏执。Arduino IoT Remote 应用程序需要身份验证,您可以将 Arduino 帐户配置为需要两步身份验证以提高安全性,因此这已经是一个好的开始。但是,我想通过实施一种简单的一次性密码 (OTP) 机制来做更多事情,就像您用来访问银行帐户的机制一样。我确实信任 Arduino Cloud,但使用此解决方案,即使有人可以以某种方式进入我的手机和设备之间的通信通道,他们也无法打开门,因为他们需要由 Google 生成 OTP在我的手机上配置的身份验证器应用程序。

第一步:配置Arduino Cloud

这部分很简单,按照以下步骤操作即可(有疑惑的可以看看官方教程):

1. 在Arduino Cloud中创建一个免费帐户

2. 创建一个新设备,选择“Generic 8266 Module”作为板类型。您将获得一个密钥:将其复制粘贴到某处。

3. 创建一个新东西,并使用您的 WiFi 凭据和您刚刚获得的密钥对其进行配置。

4. 为事物添加一个变量,称为“ access_code ”。使它成为一个字符串变量并保持所有默认值不变。

5. 创建一个新的仪表板并向其添加一个“信使”小部件。将小部件链接到 access_code 变量。

就是这样!很容易吧?

第 2 步:将 Shelly 1 连接到您的电脑

1. 获取您的 USB-TTL 串行适配器并确保它在 3.3V 下工作

2. 拆除 Shelly 1 外壳以接触到编程引脚。

3、查看Shelly网站上的pinout ,按如下方式连接其引脚[Shelly -> USB-TTL adapter]:

  • 接地 -> 接地
  • GPIO0 -> 接地
  • 3.3V -> VCC
  • RXD -> TXD
  • TXD -> RXD

为了将 GND 和 GPIO(在 Shelly 上)连接到 GND(在 USB-TTL 适配器上),您可能需要使用面包板,但任何其他方法都可以。

现在将 USB-TTL 适配器插入您的 PC。

第三步:配置谷歌身份验证器

为了使用一次性密码方法,您需要在手机上设置 Google 身份验证器,这非常简单,因为它只需要一个 QR 码就可以完成所有操作。

要生成二维码,您可以使用Luca Dentella(TOTP Arduino 库的作者)提供的这个非常方便的在线页面。配置字段如下:

  • 账户名:空(无所谓)
  • 颁发者:您希望在 Google 身份验证器中看到的名称(例如“我的门”)
  • 秘密:一系列随机字符,确保它非常随机并且没有人知道。你不需要把它写在别处。

现在按下“Go”按钮,您将获得一个漂亮的二维码:使用 Google Authenticator 扫描它,一切就绪!

最后,将“Arduino HEX array”“Key length”字段的值复制到本页提供的草图代码中。您的手机和 Arduino 代码现已配对。

第 4 步:对 Shelly 1 进行编程

现在按照以下步骤操作:

1. 在 Arduino IoT Cloud 的 Web 界面中,将草图代码复制并粘贴到您刚刚创建的东西的“草图”部分。

2.点击“打开完整编辑器”;然后单击三个点并选择“下载草图”以将草图下载到本地。

3. 使用 Arduino IDE 打开草图。

4. 在 arduino_secrets.h 选项卡中填写值(您的 WiFi 凭据和您在步骤 #1 中获得的密钥)。

5.安装一个最新esp8266内核:

  • 打开首选项
  • 从 Tools > Board 菜单打开 Boards Manager 并找到“GenericESP8266Module”
  • 点击安装安装最新的核心

6. 安装以下库:

  • Arduino 的ArduinoIoTCloud
  • Luca Dentella 的TOTP 库

7. 选择板卡串口。

8.点击“编译并上传”

此时,您的 Shelly 1 设备应该已刷入并可以使用了!

注意:使用 Arduino Cloud 通常不需要下载草图和使用 Arduino IDE,因为一切都可以从 Web 界面完成(顺便说一下,它预装了所有内核和库)。然而,这个项目需要一个最新的 esp8266 核心,它在 Arduino Cloud 上尚不可用。一旦 Arduino 团队在云端升级了 esp8266 核心,这一段就可以被更简单的基于网络的程序所取代。

第 5 步:安装您的 Shelly 1

此时,您已准备好安装所有内容:

1. 从 Shelly 1 上拆下所有电线。

2. 确保根据所需电压设置 Shelly 上的跳线(请参阅Shelly 文档,这一点非常重要)。

3. 将 Shelly 1 连接到您的电锁并输入电源。

第 6 步:测试所有内容

此时您应该能够从 Google Authenticator 生成 OTP 代码并将其写入您之前创建的仪表板小部件:您的门将打开!

pYYBAGPXZliAG_QYAADjGqZ8YEQ764.jpg
 

如果它似乎不起作用,这里有一些故障排除提示:

  • 董事会是否在仪表板小部件中回复“无效代码”?如果是这样,您需要更仔细地重新进行与 Google Authenticator 的配对。确保在将其闪烁到 Shelly 之前将十六进制数组复制到草图中。
  • 如果发送代码后 Messenger 小部件完全没有声音,则表示看板未连接到云端。打开物联网云中的“物”页面,查看看板是否在线标有绿点。如果不是,请仔细检查您在草图中写入的 WiFi 凭据。
  • 此外,仔细检查 Shelly 的输入电源:应根据所需的输入电压(AC 与 DC)设置跳线,并且必须遵守极性(L/N 用于 AC,+/- 用于 DC)。如果您将跳线设置到错误的位置,您很可能会炸毁您的 Shelly!

下载该资料的人也在下载 下载该资料的人还在阅读
更多 >

评论

查看更多

下载排行

本周

  1. 1山景DSP芯片AP8248A2数据手册
  2. 1.06 MB  |  532次下载  |  免费
  3. 2RK3399完整板原理图(支持平板,盒子VR)
  4. 3.28 MB  |  339次下载  |  免费
  5. 3TC358743XBG评估板参考手册
  6. 1.36 MB  |  330次下载  |  免费
  7. 4DFM软件使用教程
  8. 0.84 MB  |  295次下载  |  免费
  9. 5元宇宙深度解析—未来的未来-风口还是泡沫
  10. 6.40 MB  |  227次下载  |  免费
  11. 6迪文DGUS开发指南
  12. 31.67 MB  |  194次下载  |  免费
  13. 7元宇宙底层硬件系列报告
  14. 13.42 MB  |  182次下载  |  免费
  15. 8FP5207XR-G1中文应用手册
  16. 1.09 MB  |  178次下载  |  免费

本月

  1. 1OrCAD10.5下载OrCAD10.5中文版软件
  2. 0.00 MB  |  234315次下载  |  免费
  3. 2555集成电路应用800例(新编版)
  4. 0.00 MB  |  33566次下载  |  免费
  5. 3接口电路图大全
  6. 未知  |  30323次下载  |  免费
  7. 4开关电源设计实例指南
  8. 未知  |  21549次下载  |  免费
  9. 5电气工程师手册免费下载(新编第二版pdf电子书)
  10. 0.00 MB  |  15349次下载  |  免费
  11. 6数字电路基础pdf(下载)
  12. 未知  |  13750次下载  |  免费
  13. 7电子制作实例集锦 下载
  14. 未知  |  8113次下载  |  免费
  15. 8《LED驱动电路设计》 温德尔著
  16. 0.00 MB  |  6656次下载  |  免费

总榜

  1. 1matlab软件下载入口
  2. 未知  |  935054次下载  |  免费
  3. 2protel99se软件下载(可英文版转中文版)
  4. 78.1 MB  |  537798次下载  |  免费
  5. 3MATLAB 7.1 下载 (含软件介绍)
  6. 未知  |  420027次下载  |  免费
  7. 4OrCAD10.5下载OrCAD10.5中文版软件
  8. 0.00 MB  |  234315次下载  |  免费
  9. 5Altium DXP2002下载入口
  10. 未知  |  233046次下载  |  免费
  11. 6电路仿真软件multisim 10.0免费下载
  12. 340992  |  191187次下载  |  免费
  13. 7十天学会AVR单片机与C语言视频教程 下载
  14. 158M  |  183279次下载  |  免费
  15. 8proe5.0野火版下载(中文版免费下载)
  16. 未知  |  138040次下载  |  免费