当前位置:首页 > 工业控制 > 电路设计项目集锦
[导读]房子里的安全很重要。本课题提出了一种智能门锁安全系统的原型,可用于提高门的安全性。此外,使用钥匙的传统方法门可以很容易地被未经授权的人或窃贼打开,如果他们有正确的钥匙。这样他们就能偷走房子里所有值钱的东西。

通过指示谷歌助理,我们控制我们的门锁安全系统。如果门锁是活跃的,它将发送警报,如果违反检测。

房子里的安全很重要。本课题提出了一种智能门锁安全系统的原型,可用于提高门的安全性。此外,使用钥匙的传统方法门可以很容易地被未经授权的人或窃贼打开,如果他们有正确的钥匙。这样他们就能偷走房子里所有值钱的东西。

该项目的核心思想是实现一个基于智能多报警的智能物联网门锁安全系统,尽可能减少用户交互。因此,在这个项目中,我们将建立我们自己的安全系统,可以检测门/窗是否被打开。警报可以通过谷歌助手的语音命令激活或关闭,当检测到入侵时,它还会发送一封邮件以及电报频道的消息给你和你的亲戚警告他们。很酷的是,整个系统都在云端运行,所以可以在世界任何地方进行控制。

基于物联网的项目可以引导我们进行另一场关于自动化锁定安全系统的革命。安全可以通过普通的保安来实现,但数字化比其他任何保安都更有效。它的非凡之处是,通过一点点利用物联网和云计算,让你的家、工业、学校、学院、服务器机房等变得智能化、智能化,从而节省时间、节省人力,达到事倍功倍的效果。这一安全系统将为所有主要关注安全问题的地方提供帮助。

工作原理

基于物联网门锁的系统采用了Bolt开发板,该开发板基于乐鑫半导体著名的ESP8266 Wi-Fi模块。但是这里它有自己的Bolt固件在里面运行,这有助于我们通过螺栓提供的API访问GPIO引脚(数字读/写,模拟读,PWM写)等。

在我们的硬件,我们将有一个霍尔效应传感器和磁铁安装到门。当门打开时,磁铁远离大厅传感器,传感器将检测到它,这可以通过API调用读取,我们可以触发蜂鸣器,并通过男性和电报向用户发出警报。要激活警报,只需对IFTTT中设置的谷歌助手说命令(激活安全警报)。一旦激活,橙色灯将开始发光,指示状态。现在,每当门被打开时,警报就会响起蜂鸣器的声音,也会有一封邮件发送到你的Gmail收件箱,以及电报频道上的消息,以及违规的日期和时间。

创建项目的步骤:-

设置Bolt IoT模块

在我们开始之前我们得先安装好波特的硬件。这很容易做到,只要在你的手机上安装螺栓应用程序并输入你的Wi-Fi凭据,这样你的螺栓就可以连接到你的Wi-Fi,从而连接到互联网。然后你可以访问云页面,从那里获得你的设备ID和API密钥,一切都好了。您可以访问BoltIOT文档以了解更多有关它的信息。

使用Bolt IoT硬件的GPIO引脚

正如我之前所说,Bolt硬件的所有GPIO引脚都连接到云,并且只能通过API来控制(读/写)。API的详细信息可以在我之前分享的文档中找到。我们来举个例子。读取引脚状态的API在文档中解释如下

这里,我们感兴趣的是API URL

这里的API密钥是44b2de6b-7e68-40e7-a27f-814b58afe008,设备ID是BOLT13819450。但这是一个示例键和ID,在你的设备上是不一样的。你必须访问cloud.boltiot.com来获取你的设备的设备ID和API密钥。下面的快照可以帮助你做到这一点。

一旦获得API密钥和设备ID,您只需将默认值替换为您的值并在浏览器中加载URL。您的浏览器将返回pin的状态

如果值是1,那么它是高的,如果是0,那么它是低的。同样,您可以尝试所有命令的API链接,如数字读取,写入,模拟写入,PWM甚至串行通信。一旦你完成了它,让我们继续这个项目的实际程序。

准备Python环境

正如我之前所说,bolt可以用JavaScript、HTML或Python编程。在这里,我们将只关注如何用python实现它。我们必须在应该已经安装了python的计算机上编写python脚本。如果您是新手,我建议您阅读这篇文章,了解如何安装python并开始使用它。除此之外,我们还需要安装两个库包,以便我们的程序工作。您可以使用pip install选项将包添加到python中,在python目录下的终端上运行以下命令来安装包。打开windows终端并导航到python目录(主要在C:// python 3中)

步骤1:-安装pip如果你没有安装之前。用下面的命令安装它

步骤2:-在C://Python/Scripts目录下安装请求包

步骤3:—使用以下命令安装boltiot包

一旦安装成功完成,你的界面应该如下所示

现在我们已经打开了Python IDLE,并开始为我们的安全系统编写实际的程序。但在此之前,通过谷歌助手激活或取消激活警报,并向我们的电报频道发送电子邮件和发送消息,我们使用IFTTT提供的谷歌助手服务和Web hooks服务。现在我们来设置它们。如果您是使用IFTTT小程序的新手,那么建议您在继续之前阅读本文。

通过谷歌助手激活和取消激活告警

我们必须为此创建两个小程序(食谱),一个是激活警报,另一个是取消激活警报。当报警激活时,接在引脚3上的电容应充电,当报警解除时,接在引脚4上的电容应充电。

applet为该服务使用谷歌助手,web钩子获取该服务的请求。下面的屏幕截图显示了如何通过谷歌助手将小程序设置为激活警报时使3脚高,取消警报时使4脚高。

电容器的用途是什么?

电容器1和2用作存储元件。当板从IFTTT接收命令时,引脚3和4将作为输出引脚。根据该命令,电路板将对电容器1或电容器2充电。

现在,当IFTTT操作完成时,Python代码使引脚3和4作为输入引脚,通过读取这些引脚的状态,Python代码将了解它是否应该根据哪个电容有电荷激活或停用警报。简单地说,这是一个将IFTTT与Python连接起来的小技巧。如果博尔特平台提供了一个虚拟钻头,那就容易多了,但他说,这不是一个选择。

当检测到入侵者时发送电子邮件

第三个applet将在检测到入侵者时发送电子邮件。这可以通过在IFTTT上使用web hook和Gmail服务来实现。Webhooks服务会给我们一个URL,这个URL在加载时将触发预定义的Email。applet的快照如下所示。您可以自定义接收方ID和文本。如果检测到入侵者,该URL将在python脚本中使用请求库触发。

当检测到入侵者时,向电报频道发送警报。

1. 我们将利用电报频道在发现入侵者时广播警报。

2. 首先,在telegram中创建一个新通道,并提供合适的名称和描述,如下所示。

3. 在下一个屏幕中,将频道设置为Public,并根据您的意愿输入频道永久链接。保存此通道链接为“telegram_chat_id”,其中下图为“smart_door_lock_alarm”。

4. 现在让我们为我们的频道创建一个机器人。聊天机器人是运行在电报内部的第三方应用程序,我们将使用这个聊天机器人向我们的频道发送警报。

5. 在telegram的主界面,点击右上角的搜索图标,搜索botfather。

6. 在搜索结果中,选择旁边有蓝色勾号的botfather。

7. 聊天显示了几个可能的命令,输入“/newbot”创建一个新的机器人。

8. 给你的机器人正确的名字和用户名。

9. 成功创建bot后,它会生成一个令牌。此令牌用于通过python发送和接收消息。

10. 请将此笔记保存为“telegram_bot_id”,其中保存为“bot”,后面跟着bot令牌。

11. 现在让我们将机器人添加到我们的频道,转到频道描述并从3点菜单中选择添加管理员。从搜索字段中选择机器人,并赋予机器人适当的权限。

选择“添加管理员”

12.恭喜你!您已经成功创建了一个通道和一个聊天机器人。

Python程序说明

这个物联网安全警报的完整python代码可以在这个项目的末尾找到。在本节中,让我们将代码分解成小片段并尝试理解它们。python脚本的总体目标是检查警报是否激活或取消激活,如果激活,我们必须检查门是否打开,如果打开,我们必须触发电子邮件并打开蜂鸣器。

我们已经知道,如果我们必须激活安全系统,引脚3上的电容将是高的,如果我们必须取消激活安全系统,引脚4上的电容将是高的。所以我们只需要在python脚本中读取它们来激活或取消激活警报。

我们通过导入time、json、requests和boliot库来开始程序。其中time库默认情况下在python中添加,但是您必须像前面讨论的那样手动安装请求和boltiot包,否则您将在这些行上得到错误。

import time #导入执行延迟操作的时间

#使用请求通过webhooks IFTTT发送邮件

通过API导入boliot来控制GPIO引脚

导入json #库来处理json数据

接下来,我们输入设备的凭据,如API密钥和设备ID。只有使用这两个值,您才能访问设备上的任何GPIO引脚。不要与公众分享这些,因为它们可以被任何人用来控制你的GPIO引脚。

正如在API部分所讨论的,当我们以字符串的形式执行数字Read时,我们将获得响应,因此我将这些字符串值赋给两个变量,以便我们可以在程序中轻松地使用它们。

现在我们创建一个名为send_telegram_message()的函数,它将message作为参数。

在第一行中,我们正在构建URL,以便Telegram知道它必须将消息发送到哪个bot。为此需要telegram_bot_id。data变量是一个字典,它保存聊天ID(通道ID),以便Bot知道它必须将消息发布到哪个通道。它还包含要作为消息发送的文本消息。

在下一步中,我们需要使用前面构建的URL向Telegram服务器发出HTTP请求。该请求是一个“POST”请求,其中包含所有相关数据,如URL和要包含在请求中的数据。

‘ telegram_data = JSON .loads(response.text) ’行将文本响应转换为JSON对象并将其存储在telegram_data中。请求的状态存储在telegram_data变量的“ok”字段中,我们将返回它。“ok”字段将始终包含一个布尔值,即True/False,如果消息已发送,则为True。

该函数被封装在try-except块中,以便捕获任何错误,如果在try块中存在任何错误,则返回False。

在无限while循环中,我们有另外两个循环。如果从谷歌助手激活告警,将执行一个,如果告警被取消激活,将执行另一个。缺省情况下,如果未收到命令,则执行去激活循环。

在这里,必须通过读取引脚3来检查警报是否被激活,这只是电容器。如果引脚高,我们使橙色LED发光,然后退出这个循环,进入激活while循环。我们每5秒检查一次,以确保我们没有超过bolt提供的API速率限制,即每分钟30次调用。

类似地,在激活的while循环中,我们必须检查引脚4以知道警报是否被取消激活。如果停用,我们关闭橙色循环,回到停用的while循环。否则我们必须通过读取引脚0来检查磁铁是否存在于霍尔传感器附近。如果引脚高,则意味着磁铁远离传感器,表明门已打开。所以我们触发蜂鸣器,也触发邮件和消息到电报频道使用请求包。否则我们每五秒监测一次传感器。执行相同操作的代码如下所示

是时候测试设备了

一旦你准备好了代码,我们可以开始测试我们的项目。将板子安装在门框上,将磁铁安装在门上。确保磁铁离霍尔传感器很近。这个想法是,当门关闭时,传感器应该检测到磁铁,当门打开时,不应该能够检测到磁铁。

本文编译自hackster.io

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭