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

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

3天内不再提示

如何利用树莓派建造一个物联网风格的电动宠物门

科技观察员 来源:Jeremiah Mattison 作者:Jeremiah Mattison 2022-03-31 10:33 次阅读

这个项目的目标是建造一个物联网风格的电动宠物门,这样我们就可以控制哪些动物可以进入房子。为此,我们使用附着在动物(猫)上的BLE标签和RaspberryPi3上的内置蓝牙模块来扫描标签。同时我们还在RaspberryPi3上配备了一些LED指示灯,用于对门应该处于的状态进行故障排除。

Node-REDBLEScan节点持续扫描BLE广告。如果它看到与设备名称和最小RSSI匹配的设备,它将打开宠物门,并在超时后关闭门。为了防止门在缓慢移动的动物身上过早关闭,系统将在获得BLE匹配时重置计时器。

这个项目有几个不同的部分:

硬件:操纵门所需的所有布线和组件

软件:决定门应该向哪个方向移动的所有逻辑。

Fg3MHz49nZC-EWnFM6FdVeJttm16

硬件

门的打开和关闭由一个12VDC电动汽车天线完成,该天线倒置安装在门上方,天线的末端连接到门本身。并带有一个电路,可以对其进行逆向工程以控制天线,但我们在这里不通过这种方式,因此您需要将电路撕掉并直接使用电机线。

pYYBAGJFEtKAMnZcAAM2qwCubKA998.png

要驱动天线电机,您很可能需要至少1A的12V电源。我使用了一个旧的D-Link路由器电源:

poYBAGJFEsuAH3kJAALkv7CiQYs986.png

您需要在门上安装两个限位开关以停止两端的电机。我使用了磁性开关,因为这是我手头有的现成的东西,但是带有杠杆臂的标准开关会更好。

pYYBAGJFEsaAF8ZYAAHjyHZv5-A628.png

根据下图组装H桥PiHat,注意二极管的方向;这是限制电路。使用的H桥是双通道的,但我们现在只使用一个。如图所示,电机、开关和12VDC输入将连接到PiHat。

poYBAGJFEsKAFrClAAcCrBeZ9Uk518.png

根据下图组装LEDPiHat。蓝色LED需要的电流比Pi能够通过GPIO可靠提供的电流多一点,因此我们从5V线路为所有LED供电,并使用连接到GPIO的晶体管来切换它们。

pYYBAGJFEr2AZ9VzAAXjEy2WT8g735.png

软件

该项目的软件只是在标准Raspbian安装上运行的Node-RED。大多数逻辑都是使用带有RPi版本node-red的标准节点处理的,但BLE扫描仪除外,它需要来自node-red-contrib-noble的“scanble”节点。按照以下链接中的说明设置组件:

安装Raspbian

安装Node-RED

安装node-red-contrib-noble

在一切都安装并工作后,继续配置您的Node-RED流程,使其看起来像这样:

pYYBAGJFEraAB6SGAAMAMwGX69o741.png

我们的流程入口点是“scanble”节点;确保选中该框以允许重复。

pYYBAGJFErKAEy66AAC0B5elFJY421.png

之后添加一个“function”节点来根据“localname”属性过滤BLE广告;我使用了使用“Tile”作为本地名称的TileTracker标签。

poYBAGJFEDSAHL_DAAIswb33F1c559.png

接下来是一个“切换”节点,用于检查广告的RSSI。您需要调整此设置以匹配标签和开门距离。

pYYBAGJFEqaAZw2RAABZnhgAAcQ644.png

然后,您可以添加另一个“开关”节点来根据标签的唯一ID过滤标签,这样它就不会在门附近的其他标签上触发。如果您还不知道唯一ID,您可以使用“scanble”节点上的调试节点来查看广告并尝试查看哪个是您的。设置第一条规则匹配一个空UUID并且不连接输出;这将过滤掉一些垃圾广告,为每个UUID添加附加规则。

poYBAGJFEqGAZkOnAADjRGgDH2w990.png

为您在前一个节点中添加的每个规则添加一个“更改”节点,并为其赋予一个唯一的“触发源”值。这些节点不是必需的,但它们将使您能够在将来对每个标签进行额外的过滤,我用我的猫的名字作为来源。

pYYBAGJFEpmAc0hRAACFdGAvB3E182.png

接下来,我们需要通过将消息有效负载更改为1来告诉流的其余部分我们想要触发门打开。将任何打开的触发源连接到此节点。

poYBAGJFEpWAeIJnAABeP-Qh-6o297.png

现在这个触发消息将做两件事:触发蓝色LED闪烁以接收BLE数据包,并触发门打开。

首先通过添加“触发器”节点来设置LED路径。将其设置为发送1,然后在500毫秒后发送0。这将导致LED仅闪烁一次。

pYYBAGJFEpGAEattAAD5NUTD7U0391.png

到该节点连接一个“rpigpio”输出节点并将其配置为蓝色LEDGPIO。将其设置为初始化为0(关闭)状态。

poYBAGJFEoyAddPEAAEdcx1SMIo685.png

接下来是配置门触发路径。返回触发有效负载节点并将“更改”节点与两个输出连接。一个输出将路由到具有“1”有效负载的开放路径,另一个将路由到具有“0”有效负载的关闭路径。

poYBAGJFEoeAATKcAABzRgDYHX0358.png

这两个输出都将连接到同一个节点,但打开的连接在路径中有一个额外的触发节点,可以在超时后触发关闭。添加“触发”节点以发送“1”,然后在超时(15秒)后发送“0”。

pYYBAGJFEoKAM5QDAAD_9RWlEkY742.png

然后将该触发节点和前一个节点的第二个输出连接到“功能”节点。此功能节点有两个输出连接到打开的GPIO节点和关闭的GPIO节点。由于您不希望门同时打开和关闭,因此它将向每个输出发送相反的值。因此,如果触发有效载荷为“1”表示打开,它将向打开的GPIO发送“1”,向关闭的GPIO发送“0”,如果有效载荷为“0”表示关闭,它将向打开的GPIO发送“0”和“1”到关闭的GPIO。

poYBAGJFEn2AIDZtAAC7-dSuzTM896.png

最后,将两个GPIO节点连接到每个输出:一个用于LED,一个用于H桥输入。

pYYBAGJFEneAa2VwAAEfADXXLpI846.png

这应该对主要的Node-RED流程执行此操作。此外,您应该添加一个“注入”节点以自动“1”有效负载以在启动时打开门,这样流程就知道门处于哪个状态。我还添加了一些手动注入节点,用于通过Node-RED接口

poYBAGJFEnOAfqDpAAEAYv78mEY272.png

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

    关注

    2903

    文章

    44297

    浏览量

    371377
  • 蓝牙模块
    +关注

    关注

    30

    文章

    565

    浏览量

    55691
  • 树莓派
    +关注

    关注

    116

    文章

    1699

    浏览量

    105531
收藏 人收藏

    评论

    相关推荐

    树莓一个关注的领域是什么?

    ?众多的电子DIY爱好者纷纷猜测,联网?智能家居?可穿戴设别?对于广大电子DIY爱好者的提问,树莓的创始人Eben Upton在次受访
    发表于 09-15 09:51

    请教利用树莓制作六足机器人的问题

    本人新手,最近在准备制作六足机器人,如果利用舵机控制器+遥控手柄套件的话,可以很容易就实现简单的功能。为了能让六足机器人实现更加复杂的功能,我想利用arduino+
    发表于 11-10 15:33

    分享款不错的基于树莓Raspberry Pi CM的联网网关方案

    分享款不错的基于树莓Raspberry Pi CM的联网网关方案
    发表于 06-15 07:01

    树莓联网开发的应用

    从Arduino开始接触电子编程,也就是所谓的联网开发吧。从最初的超声波测距开始,到现在的各种开发,其实直在浪费时间考虑到底用哪种技术,用哪个芯片。转了圈下来,论性能论价格,还是
    发表于 08-03 06:38

    如何利用树莓派去设计联网智能小车

    如何利用树莓派去设计联网智能小车?基于树莓
    发表于 08-18 07:22

    如何利用树莓实现联网

    如何利用树莓实现联网
    发表于 10-19 06:58

    树莓和Siri完美结合,语音控制iphone打开车库

    潮人在树莓派上利用了Siri代理,使得Siri app上的定制命令成为可能。树莓的机器盒子作为这个项目的运作根基,而树莓
    的头像 发表于 12-25 11:52 1.3w次阅读

    利用树莓实现IoT(联网)开关门监控设备

    因为考虑需要在户外使用这套联网门控设备,所以利用树莓完成这个设备有两问题需要解决,第
    发表于 11-22 12:19 5634次阅读

    树莓 3 或开启联网革命的大门

    与蓝牙。使这款小型设备更为实用的并不是它更快的处理器,而是它的网络支持。树莓3或许将成为许多联网项目的硬件平台选择。
    发表于 04-02 14:51 278次阅读

    基于树莓的智能安全(单片机)

    基于树莓的智能安全(单片机)
    发表于 11-23 17:36 20次下载
    基于<b class='flag-5'>树莓</b><b class='flag-5'>派</b>的智能安全<b class='flag-5'>门</b>(单片机)

    如何使用树莓制作巡线机器人

    众所周知,树莓基于ARM微处理器的开发平台。凭借其强大的计算能力,它在广大电子爱好者中经常会创造出奇迹。为了更好地了解树莓
    的头像 发表于 04-08 16:38 5872次阅读
    如何使用<b class='flag-5'>树莓</b><b class='flag-5'>派</b>制作<b class='flag-5'>一</b><b class='flag-5'>个</b>巡线机器人

    基于树莓CM4的工业联网PC

    CM4 Sensing是种工业计算机,旨在满足联网和数据采集应用的特定要求。利用树莓计算模
    的头像 发表于 06-25 16:52 2087次阅读
    基于<b class='flag-5'>树莓</b><b class='flag-5'>派</b>CM4的工业<b class='flag-5'>物</b><b class='flag-5'>联网</b>PC

    基于树莓CM4的工业联网PC

    CM4 Sensing是种工业计算机,旨在满足联网和数据采集应用的特定要求。利用树莓计算模
    发表于 06-29 17:27 744次阅读
    基于<b class='flag-5'>树莓</b><b class='flag-5'>派</b>CM4的工业<b class='flag-5'>物</b><b class='flag-5'>联网</b>PC

    树莓装ubuntu和raspbian哪个更好

    树莓(Raspberry Pi)是款由英国树莓基金会开发的单板计算机,广泛应用于教育、科研、
    的头像 发表于 08-30 15:41 1068次阅读

    树莓网关:联网应用的新标杆

    的特点是体积小巧(大约信用卡大小),但功能齐全,足以支持多种计算任务。 树莓经常被用作物联网网关,收集设备数据,然后将数据上传云平台,并还可以用来接收来自云端的控制指令,控制其他连接的设备。 相比,
    的头像 发表于 10-09 16:44 245次阅读
    类<b class='flag-5'>树莓</b><b class='flag-5'>派</b>网关:<b class='flag-5'>物</b><b class='flag-5'>联网</b>应用的新标杆