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连接到设备并运行上一步骤中提到的程序,等待入侵者!

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

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

    关注

    116

    文章

    1699

    浏览量

    105546
收藏 人收藏

    评论

    相关推荐

    基于ArkTS语言的OpenHarmony APP应用开发:自定义通知

    1、程序介绍 本示例展示了如何初始化不同类型通知通知内容以及通知的发布、取消,包括基本类型、长文本类型、多行文本类型、图片类型、带按钮的通知、点击可跳转到应用的
    发表于 09-14 15:12

    飞凌嵌入式「端午节放假通知

    飞凌嵌入式「端午节放假通知
    的头像 发表于 06-07 08:02 403次阅读
    飞凌嵌入式「端午节放假<b class='flag-5'>通知</b>」

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

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

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

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

    氮气柜开门停止充氮、开门亮灯和超湿报警功能介绍

    开门亮灯以及超湿报警这三个功能。一、开门停止充氮功能氮气柜通常配备高精度湿度传感,实时监测柜内湿度状况。用户可以预先设定一个目标湿度值,当柜门关闭且内部湿度高于设
    的头像 发表于 05-15 16:24 527次阅读
    氮气柜<b class='flag-5'>开门</b>停止充氮、<b class='flag-5'>开门</b>亮灯和超湿报警功能介绍

    微软新专利:以用户行为为依据,定制通知内容

    据美商业部门最新公布,微软赢得了名为rAffinity的通知评估系统专利。据悉,此系统能依据用户在各大社交平台上的内容互动数据,个性化定制推送通知
    的头像 发表于 04-25 16:25 468次阅读

    OpenHarmony开发案例:【自定义通知

    通知类型包括基本类型、长文本类型、多行文本类型、图片类型、带按钮的通知、点击可跳转到应用的通知
    的头像 发表于 04-15 15:58 499次阅读
    OpenHarmony开发案例:【自定义<b class='flag-5'>通知</b>】

    鸿蒙OS开发实例:【通知消息】

    HarmonyOS 论坛中有研发人员求助,反馈通知没有没有声音,因此在真机上验证了一下,果不其然,没有通知的提示音,后来解决办法也非常简单,在手机设置应用中,将可以打开的通知提示统统改为铃声。
    的头像 发表于 04-01 15:34 559次阅读
    鸿蒙OS开发实例:【<b class='flag-5'>通知</b>消息】

    PAN24001产品警报通知

    电子发烧友网站提供《PAN24001产品警报通知.pdf》资料免费下载
    发表于 02-21 11:08 0次下载
    PAN24001产品警报<b class='flag-5'>通知</b>

    鸿蒙原生应用/元服务开发-消息通知整体说明

    应用/元服务可以通过通知接口发送通知消息,终端用户可以通过通知栏查看通知内容,也可以点击通知来打开应用。
    发表于 01-08 15:26

    鸿蒙原生应用/元服务开发-通知添加行为意图

    WantAgent提供了封装行为意图的能力,这里所说的行为意图主要是指拉起指定的应用组件及发布公共事件等能力。HarmonyOS支持以通知的形式,将WantAgent从发布方传递至接收方,从而在接收
    发表于 01-05 15:07

    瑞萨产品变更通知(PCN)

    电子发烧友网站提供《瑞萨产品变更通知(PCN).pdf》资料免费下载
    发表于 01-05 10:43 0次下载
    瑞萨产品变更<b class='flag-5'>通知</b>(PCN)

    鸿蒙原生应用/元服务开发-发布基础类型通知类型与接口

    基础类型通知主要应用于发送短信息、提示信息、广告推送等,支持普通文本类型、长文本类型、多行文本类型和图片类型。 表 基础类型通知中的内容分类 目前系统仅通知栏订阅了通知,将
    发表于 01-03 14:46

    鸿蒙原生应用/元服务开发-发布基础类型通知开发步骤

    对象,并发布通知。 1.普通文本类型通知由标题、文本内容和附加信息三个字段组成,其中标题和文本内容是必填字段。 let notificationRequest = { id: 1, content
    发表于 01-02 15:03

    汽车蓄电池报警制作与调试

    汽车蓄电池报警制作与调试  
    发表于 12-07 10:32 1次下载