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

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

3天内不再提示

开门通知器的制作

454398 来源:wv 2019-09-20 10:15 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:用品

开门通知器的制作

还在计划建立这个装置吗?以下是您的需求:

Raspberry Pi 3

Micro SD

3对母对母线

1振动传感器

移动电源

命令条

如果您计划为多个门构建此项目,请将每个项目相乘根据您需要的设备数量来提供耗材。

如果您正在构建/测试此设备,则无需拥有以下设备。..。..但是,它肯定会非常有帮助。

电脑显示器

USB键盘

Micro USB充电套件

第2步:接线

虽然Raspberry Pi是一个包含许多不同传感器和外围设备的漂亮设备,但我们需要添加Pi的接线的主要传感器,因此它可以进行我们需要的测量。本项目中使用的主传感器如上图所示 - 它是一种高灵敏度的振动传感器。虽然我们可以使用面包板或其他安装设备将此传感器放置并穿过我们的电线,但我们只需通过母对母线将其直接连接到Raspberry Pi设备上的引脚。

上面可以找到接线示意图(源自http://www.piddlerintheroot.com/vibration-sensor/)。只需连接所有电线,如图所示,您的振动传感器应该很好。另请注意,您最终需要为此项目使用电池组,但如果您正在测试它可能有助于将设备插入墙上插座。

步骤3:设置填充

恭喜!你已经做到了这一点。让我们继续吧!

我们现在要开始直接与Pi合作了。以下所有内容都可以通过键盘和显示器在设备上完成(如果您感觉舒适,可以通过SSH完成)。

有大量的初步设置可以让任何GPIO传感器使用皮和烧瓶。耐心是一种美德。你必须首先安装相当多的Python库。这可以通过Pip(Python的库/包管理器)来完成。要使用,请键入`pip install`命名您需要的一些库:

requests

RPi.GPIO

flask

flask_restful

flask_wtf

wtforms

电子邮件

mandrill

您可能希望在等待安装时喝咖啡 - 这可能需要一些时间。

现在已经安装了所有库,您已准备好启动Flask项目。 Flask是一个轻量级框架,可以运行正在运行的设备上的页面。在这种情况下,Raspberry Pi成为服务器。很漂亮,嗯?您可以在此处学习如何设置非常简单的 Flask应用程序。请在尝试此后的任何说明之前执行此操作。

步骤4:编码并运行

完成此操作后,您已做好准备开始构建项目文件。我已经包含了下面你需要的所有文件 - 你可能应该重写代码,而不仅仅是复制文件(你要了解更多!)。

这是什么目录组织应如下所示:

+-- iotapp

| +-- appFolder

| +-- templates

| +-- index.html

| +-- __init__.py

| +-- forms.py

| +-- mcemail.py

| +-- routes.py

| +-- iotapp.py

| +-- vibes.py

以正确的顺序放置所有这些文件,您应该能够立即启动并运行您的项目。为了运行Flask服务器,您应该导航到根目录。然后您应该键入:

$ export FLASK_APP=iotapp.py

$ python -m flask run --host 0.0.0.0

这样,您应该收到一条消息,指示您的服务器正在运行,您应该能够将该设备的页面提供给网络上的另一台设备。

现在是查看文件的好时机,并且真正尝试获取代码正在执行的操作。当然,没有一个代码是一成不变的。..。..它可以全部更新/更改以满足项目特定的需求。例如,截至目前,当设备在接收到来自振动传感器的输入时进行POST时,它发送输入发生时的时间戳。但是,服务器不保存此数据。如果用户喜欢保留历史信息并希望在某处显示,那么可以完成。

您可能会注意到的一件事是代码不完整。该项目利用外部API在振动(开门)时发送通知电子邮件。要进行此设置,您需要创建一个Mandrill帐户并创建一个API密钥。

一旦您验证了发送域并拥有API密钥,就可以将密钥放在`mcemail中。 py`文件(其中《输入有效的API-KEY here》)并调整发送信息(通过更改同一文件中的默认参数或通过传递`routes.py`文件中的其他电子邮件。如果你想要更多关于Mandrill的文档以及如何使用它,你可以在这里找到它。

第5步:测试

在将设备安装到其永久位置之前,测试它正在进行的所有事情可能是个好主意。以下是运行这些内容的方法。

设备实际上运行两个程序:`vibes.py`和Flask服务器。前者应该先在后台运行,然后运行Flask服务器。`shans.py`只是POST到服务器,服务器解释POST请求。

$ python vibes.py &

$ python -m flask run --host 0.0.0.0

然后您应该能够导航到corr ect URI/IP并设置您要将所有通知发送到的电子邮件地址。您应该点击振动传感器尝试发送一些测试电子邮件并确保项目正常运行。

一切都很好看?好的,我们已准备好开展业务了!

第6步:挂载

挂载设备非常明显。基本上,您只需确保将设备连接到电池组并使用命令条将设备固定到门上。

注意:设备必须与振动传感器垂直放置到达传感器的门,以便抓住门的运动。

完成后,您应该可以通过SSH连接到设备并运行上一步骤中提到的程序,等待入侵者!

对于额外的积分,尝试隐藏电线/设备,这样入侵者就不会怀疑你的聪明设备!。..。..或者只是不要把它放在玻璃门上。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 树莓派
    +关注

    关注

    122

    文章

    2069

    浏览量

    109728
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    OpenHarmony年度技术课题评选通知

      OpenHarmony年度技术课题评选通知 活动简介 自技术课题发布以来,各高校OpenHarmony技术俱乐部积极申报、揭榜技术课题,并踊跃参与产学研交流,取得了显著的研究进展。为了持续牵引
    的头像 发表于 07-14 18:31 627次阅读

    关于BLE通知值的通知长度问题求解

    在 LE GATT 服务吞吐量示例中,我发现每个通知阵列的大小为 244u。 我想知道通知数据的最大大小是否为 244 个数组。 因为我希望每次都通知 512 或 1024,以减轻
    发表于 07-01 06:58

    迅为RK3568开发板Dev-Eco studio 的界面布局-导航栏-事件通知

    底部通知区如下图所示: 在代码编辑区的下面有一行工具栏,主要介绍常用信息栏,其中 Run 是项目运行时的信息栏, Problems 是当前工程错误与提醒信息栏,Terminal 是命令行终端,在这里
    发表于 06-23 11:02

    HarmonyOS NEXT应用开发-Notification Kit(用户通知服务)概述与notificationManager.publish

    一、概述 本模块提供通知管理的能力,包括发布、取消发布通知,创建、获取、移除通知渠道,获取通知的使能状态、角标使能状态,获取通知的相关信息等
    发表于 06-13 15:38

    HarmonyOS NEXT应用开发-Notification Kit(用户通知服务)通知类型、级别与渠道

    1. ContentType 支持设备Phone2in1TabletCarWearable 通知内容类型。 元服务API: 从API version 12开始,该接口支持在元服务中使用。 系统能力
    发表于 06-09 14:39

    海辰储能完成全球首次开门燃烧试验

    近日,海辰储能∞Block 5MWh储能系统成功完成全球首次开门极限燃烧试验,这一突破性成果为储能系统的安全性验证开拓了新路径,在行业内具有里程碑意义。
    的头像 发表于 06-07 17:00 1104次阅读

    HarmonyOS NEXT应用开发-Notification Kit(用户通知服务)更多系统能力

    = _NotificationActionButton 描述通知中显示的操作按钮。 系统能力: SystemCapability.Notification.Notification 类型 说明
    发表于 06-04 15:43

    CYPD3177是否有连接NonPD适配器源时通知电量不足的功能?

    CYPD3177是否有连接NonPD适配器源时通知电量不足的功能? 例如,当连接到具有 9V2A 请求的 NonPD 适配器(源连接为 A 型等)时,将通知电量不足。 对于 PD 兼容适配器,我
    发表于 05-22 08:24

    HarmonyOS NEXT应用开发-Notification Kit(用户通知服务)notificationManager.cancelAll

    ): void 取消当前应用所有已发布的通知。使用callback异步回调。 系统能力:SystemCapability.Notification.Notification 示例: import
    发表于 04-30 17:25

    HarmonyOS NEXT应用开发-Notification Kit(用户通知服务)notificationManager.cancel

    , callback: AsyncCallback): void 通过通知ID和通知标签取消已发布的通知。使用callback异步回调。 系统能力
    发表于 04-29 17:40

    从两部门发布的智驾相关通知聊聊自动驾驶行业发展

    准入、召回及软件在线升级管理的通知》(以下简称“通知”)。该通知不仅是对汽车生产企业在安全、质量、技术测试和产品升级等方面提出更高要求的体现,更是推动行业健康发展的重要举措。 在技术管理层面,该
    的头像 发表于 03-09 09:25 1090次阅读

    晶体管电路设计与制作

    这本书介绍了晶体管的基本特性,单管电路的设计与制作, 双管电路的设计与制作,3~5管电路的设计与制作,6管以上电路的设计与制作。书中具体内容有:直流工作解析,交流工作解析,接地形式,单
    发表于 02-26 19:55

    森源电气获南方电网近亿元订单

    新年开门红!近日,我公司收到南方电网公司2024年配网设备第二批框架招标项目中标通知书,斩获订单近亿元!此次中标是南方电网公司对森源电气技术实力的高度认可。公司以“开门红”之势,为2025年高质量发展注入强劲动能!
    的头像 发表于 02-11 13:55 853次阅读

    西部数据正式通知减产15%以缩减库存

    近日,据外媒报道,全球NAND Flash存储市场中的一大重要参与者——西部数据,已经正式向其客户发出了减产通知。这一决定旨在缩减当前库存水平,以应对市场供需关系的变化。 在NAND Flash存储
    的头像 发表于 02-06 09:38 778次阅读

    使用任务通知提高RTOS应用的效率

    在实时嵌入式系统中,性能和资源效率是决定设计成败的关键因素。传统的实时操作系统(RTOS)提供了如队列、信号量和事件组机制,实现任务之间的同步和通信。FreeRTOS/SAFERTOS还提供一种方法可以使这些过程更快、更轻量化,即任务通知
    的头像 发表于 12-27 14:54 1074次阅读