• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

【 DigiKey DIY原创大赛】基于树莓派的自行车电子围栏设计

作品名称:基于树莓派的自行车电子围栏设计😃

介绍:

项目设计的构思源于自行车忘了上锁,导致被偷了,3000打水漂懊悔不已,所以设计一个防盗系统,随时监控自行车的安全,该设计为了小巧便携及低功耗要求,取消了自行车端的MCU设计,仅用震动传感器产生高低电平,传输给RF射频发射模块,传输到不到20m远的房间内,中间无墙体遮挡,信号很稳定,使用低成本的433MHz模块在合适不过,树莓派端使用接收模块直接读取GPIO信息,弹紧急提示到桌面,nice。

照片:

功能框图:

使用得捷官网的 Scheme- it在线设计工具,非常方便,可以直接连接到引脚,但是我自己买的料在得捷上没有找到,只能使用替代,平时自己做项目可以尝试使用,很便捷。

物料清单:

1、树莓派

2、433MHz射频收发模块

3、震动传感器

相关功能说明:

使用树莓派官方桌面软件,接入一个433MHz的射频接收模块,连接的GPIO收到高电平时,树莓派桌面弹出窗口提示紧急消息,自行车端用震动传感器产生高低电平,传输给RF射频发射模块,供电通过300mah的电池供电,预计可以续航可以支持3个月(完全静态,无误触动的理想状态下)。

演示视频:

【电源网设计大赛】基于树莓派的自行车电子围栏_哔哩哔哩_bilibili

证明作品设计环境的花絮:

树莓派软件说明:

硬件连接

连接433MHz接收模块:VCC接到树莓派的3.3VGND接到树莓派的GND数据输出引脚接到树莓派的GPIO17

软件环境设置

更新系统

bashCopy Code
sudo apt update
sudo apt upgrade

安装所需库: 安装gpiozeronotify2库,这两个库可以处理GPIO和弹出通知。

bashCopy Code
sudo apt install python3-gpiozero python3-notify2

创建Python脚本: 创建一个新的Python脚本,例如rf_receive.py,并输入以下代码:

pythonCopy Code
import time
from gpiozero import Button
import notify2

# 设置GPIO引脚
GPIO_PIN = 17

# 初始化通知
notify2.init("RF Receiver")

# 创建按钮对象
rf_button = Button(GPIO_PIN)

def send_notification():
    # 创建通知
    notification = notify2.Notification("RF Receiver", "Received high signal!")
    notification.show()

# 持续监测
try:
    rf_button.when_pressed = send_notification
    print("Listening for RF signals...")
    while True:
        time.sleep(1)  # 主循环中保持运行
except KeyboardInterrupt:
    print("Program terminated.")

运行脚本

运行Python脚本: 在终端中运行以下命令:

bashCopy Code
python3 rf_receive.py

测试

当433MHz接收模块接收到信号并将数据引脚拉高时,应该会弹出一个通知窗口。

注意事项

确保有适当的权限运行脚本,如果出现权限问题,可以尝试使用sudo运行。需要安装图形界面支持的库,确保通知功能正常工作。

视频演示如下:

 

全部回复(0)
正序查看
倒序查看
现在还没有回复呢,说说你的想法