搜索
热搜: ROHM 模拟 车载
查看: 2260|回复: 7

【R课堂】如何使用Raspberry Pi设置登场音乐

  [复制链接]
回帖奖励 465 ROHM金币 回复本帖可获得 5 ROHM金币奖励! 每人限 1 次

该用户从未签到

4288

主题

5127

帖子

13

精华

管理员

最后登录
2024-4-19
发表于 2022-9-20 10:32:17 | 显示全部楼层 |阅读模式
在我年轻的时候,我最喜欢的摔跤手绝对是被称为“Heartbreak Kid”的Shawn Michaels。他是一个伟大的运动员和表演者,所做的一切都非常有趣。
从他进入大楼的那一刻开始,这首音乐响起:
这让我开始思考,如果Shawn Michaels可以以这种方式入场,为什么我不能?
是的,有了Raspberry Pi和Python chops,像我(或者您!)这样的家伙也许就可以拥有登场音乐了。
Raspberry Pi如何检测出您的登场?
这里有几种选择。
我们可以检测出您的手机是否连接到无线网络。这很有用,因为Raspberry Pi可以确认是否是您本人在进入(而非您的室友或家人)。
缺点是它对您的距离的测定不太精确。我的意思是,这是登场音乐,对吗?它应该在您进门时开始响起。
您也可以改用PIR运动传感器。这可以将音乐与入门动作精确匹配,不过这种方法无法对正在进入的人作出区分。
所以,我们可以将这两者结合起来。Raspberry Pi将会在您的手机连接到无线网络时检测出您已经到家,然后等待传感器来检测出您进入的确切时间。
如果您更倾向于使用其中的一种,可以直接去除掉其他部分。
使用Python Subprocess模块
本项目还会引入Python的subprocess模块。该模块在标准库中,您无需进行安装。
使用该模块,我们可以在Python内部运行shell命令。这非常方便。如果您已经知道这些命令行是如何执行操作的,只需直接运行该命令即可。
我们将使用的两个命令是mpg123和ping。
mpg123是一个用于播放mp3文件的命令行实用程序。我们需要安装mpg123。
您不需要安装ping,系统中已经有了。这是一个简单的工具,用于检查远程服务器或设备是否处于连通状态并作出响应。我们将使用它来检查您的手机是否连接到了您的无线网络。
所需组件
对于本项目,您将需要以下组件:
带有电源、无线网卡以及一个
SD 卡的
Raspberry Pi
一个PIR运动传感器
(我使用的是XC-4444)
Shawn Michaels所演唱的Sexy Boy高品质MP3文件(或者您也可以选择其他非常钟意的歌曲)
从Raspberry Pi播放音乐的某种方式。连接到HDMI端口的家庭娱乐系统是比较理想的
您还需要一部智能手机、一个无线家庭网络和3根公对母跳线。
确保您的手机设置为自动连接到您家里的无线网络,并且没有使用任何省电设置,以防手机在不使用时禁用无线网络。
这里我们假设您已经了解PIR运动传感器GPIO Zero库了。如果没有,请先查看这些相关介绍。您将从中了解该设备的工作原理,在本项目中我们将以大致相同的方式对其进行接线。
本项目用Raspberry Pi OS Buster进行了测试,但是旧版本的Raspbian应该也没问题。我们使用的Python模块和Linux命令都是存在已久的了。
设置Raspberry Pi
我们首先为这个项目创建一个目录,并进入该目录。打开终端并输入:
mkdir ~/entrancemusic
cd ~/entrancemusic
用一种您喜欢的方式将mp3文件复制到此目录中。
然后用以下命令更新您的系统并安装mpg123:
sudo apt update && sudo apt upgrade -y
sudo apt install mpg123
连接PIR运动传感器
这次我们不使用面包板。对于我们的项目来说,面包板将会产生阻碍。
拿起您的PIR运动传感器和跳线。将传感器的电源引脚连接到Raspberry Pi的5V电源引脚。然后将传感器的接地引脚连接到Raspberry Pi上的接地引脚。

然后将数字输出连接到一个GPIO引脚。我使用的是引脚24,因为它的位置比较方便。

这就是运动传感器的全部接线过程。将其摆放为面向您将要进入的门口。
为您的智能手机保留IP地址
几乎所有家庭无线网络都使用DHCP来为所连接的新设备自动分配可用的IP地址。这很方便,因为它很可靠并且无需让您进行管理。
这也意味着特定设备的IP地址可能会不时发生更改。对于本项目,我们希望您的手机始终分配到同一个IP地址上,并且没有其他设备使用该地址。
大多数路由器为一个设备分配的IP地址至少会持续一天左右的时间。因此,如果您只打算执行本项目一次,那么可以愉快地继续进行,不必再为此困扰。
但是如果您想多次运行此脚本,那么您应该为您的设备保留一个IP地址。您可以通过登陆无线路由器的管理面板来执行此操作。不同的路由器对此的处理方式略有不同,但通常操作方式都比较容易。如果您遇到了困难,请使用搜索引擎查找您设备的手册。
我的手机保留的IP地址为192.168.0.5。您的IP地址可能会有所不同,只需按照说明对其进行替换即可。
当还有一点是—您是否有使用SSH通过本地网络访问Raspberry Pi的习惯?请也为其保留一个IP地址。如果它的IP地址是不会改变的,那就更方便了。
有奖问答:使用Ping检测您的手机是否已连接的代码
Tips:点击阅读原文,获得答案
请规范答题,连续答错将无法获得奖励哦~

回复

使用道具 举报

该用户从未签到

0

主题

452

帖子

0

精华

金牌会员

最后登录
2023-4-23
发表于 2022-9-20 11:24:44 | 显示全部楼层

回帖奖励 +5 ROHM金币

此帖仅作者可见

使用道具 举报

  • TA的每日心情
    开心
    2022-9-1 14:42
  • 签到天数: 1 天

    [LV.1]初来乍到

    2

    主题

    3192

    帖子

    0

    精华

    论坛元老

    最后登录
    2024-4-19
    发表于 2022-9-20 13:24:01 | 显示全部楼层

    回帖奖励 +5 ROHM金币

    此帖仅作者可见

    使用道具 举报

  • TA的每日心情
    开心
    2022-8-31 10:36
  • 签到天数: 1 天

    [LV.1]初来乍到

    8

    主题

    6415

    帖子

    0

    精华

    论坛元老

    最后登录
    2024-4-19
    发表于 2022-9-20 15:26:49 | 显示全部楼层

    回帖奖励 +5 ROHM金币

    此帖仅作者可见

    使用道具 举报

    该用户从未签到

    3

    主题

    3904

    帖子

    0

    精华

    论坛元老

    最后登录
    2024-4-19
    发表于 2022-9-20 15:27:41 | 显示全部楼层

    回帖奖励 +5 ROHM金币

    此帖仅作者可见

    使用道具 举报

    该用户从未签到

    1

    主题

    3730

    帖子

    0

    精华

    论坛元老

    最后登录
    2024-4-19
    发表于 2022-9-20 15:41:06 | 显示全部楼层

    回帖奖励 +5 ROHM金币

    此帖仅作者可见

    使用道具 举报

    该用户从未签到

    205

    主题

    1万

    帖子

    0

    精华

    论坛元老

    最后登录
    2023-6-10
    发表于 2022-9-20 17:20:13 | 显示全部楼层

    回帖奖励 +5 ROHM金币

    此帖仅作者可见

    使用道具 举报

    该用户从未签到

    2248

    主题

    1万

    帖子

    1

    精华

    论坛元老

    最后登录
    2024-4-18
    发表于 2022-9-21 08:25:56 | 显示全部楼层

    回帖奖励 +5 ROHM金币

    此帖仅作者可见

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|罗姆半导体技术社区

    GMT+8, 2024-4-19 20:54 , Processed in 0.119569 second(s), 21 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表