侵权投诉
订阅
纠错
加入自媒体

通过门铃也能识别出是谁在敲门了吗?

2021-03-13 10:05
磐创AI
关注

作为一个新的亚马逊门铃的买家,我喜欢它提供的炫酷功能。然而,我认为我可以做一些改进。我需要的是为住在我家的人定制的门铃。要是门铃能认出是谁在敲门就好了。看到门铃是多么的受欢迎,我决定帮助大多数家庭,最好方法是让他们能够毫不费力地定制他们的门铃。我开发了一个应用程序,可以告诉你谁在你的门口,只需输入你的门铃帐户的用户名和密码。知道谁在你的门口,无需等待门铃在你的智能手机上显示视频,这是非常方便的。它大大提高了安全性,带来了极大的便利,甚至可以安装在一个自动开门的系统上。在深度学习时代,每个家庭都需要安装这些系统。下图说明了我的系统是如何工作的。

完整的代码可以在这里的Git存储库中找到。https://github.com/dude123studios/SmarterRingV2要求如下:tensorflow==2.4.1

opencv-python==4.5.1.48
mtcnn==0.1.0
ring_doorbell==0.7.0
oauthlib~=3.1.0
numpy~=1.19.5
scipy~=1.6.1
scikit-learn==0.24.1
gtts==2.2.2
playsound~=1.2.2

让我们来分析一下发生了什么。通过输入用户名和密码作为环境变量,Ring API就能够连接到你的帐户。该API允许用户访问python特性。这里(https://github.com/tchellomello/python-ring-doorbell)有API存储库和简短的文档。这是Ring.py的一个片段,它实例化了一个与你的门铃的连接:import os
import json
from pathlib import Path
from ring_doorbell import Ring, Auth
from oauthlib.oauth2 import MissingTokenError
cache_file = Path("test_token.cache")
def token_updated(token):
   cache_file.write_text(json.dumps(token))
def otp_callback():
   auth_code = input("[INPUT] 2FA code: ")
   return auth_code
def main(download_only=False):
   if cache_file.is_file():
       auth = Auth("MyProject/1.0", json.loads(cache_file.read_text()), token_updated)
   else:
       username = os.environ.get('USERNAME')
       password = os.environ.get('PASSWORD')
       auth = Auth("MyProject/1.0", None, token_updated)
       try:
           auth.fetch_token(username, password)
       except MissingTokenError:
           auth.fetch_token(username, password, otp_callback())
   ring = Ring(auth)
   ring.update_data()
   wait_for_update(ring, download_only=download_only)

wait_for_update方法持续运行并实例化一个正在等待客户端的处理程序。它会继续刷新,直到发现Ring的存储历史记录有更新。一旦发生这种情况,它检查门铃是否被按了。如果是这样,它会把整个视频下载到你的设备上。为了加快这一过程,请使用智能手机上的ring应用程序缩小视频录制的大小。你的门铃响了,最后一段视频就会传到你的电脑上。从那里,我们截取了那段视频的多个帧,以确保一个人的脸都不会被遮住。我在utils.py中定义了这个方法。它将在稍后显示。下面是ring.py的另一个片段。用于处理主线程:import time

1  2  3  4  5  下一页>  
声明: 本文由入驻维科号的作者撰写,观点仅代表作者本人,不代表OFweek立场。如有侵权或其他问题,请联系举报。

发表评论

0条评论,0人参与

请输入评论内容...

请输入评论/评论长度6~500个字

您提交的评论过于频繁,请输入验证码继续

暂无评论

暂无评论

文章纠错
x
*文字标题:
*纠错内容:
联系邮箱:
*验 证 码:

粤公网安备 44030502002758号