MAKER:Ash/ 译:趣无尽
20世纪90年代曾有一款风靡一时的“智能家居”产品,只需要拍拍手就可以使唤家里的家电。
当年的奥秘就藏在这个盒子里面,来回顾这段经典广告视频吧:
虽然现在的智能家居已经离智能更进一步,但就使用便捷性来说,拍拍手还是比吼一嗓子“XX精灵”要更有范儿吧!
下面我们介绍如何用树莓派实现一个“啪啪”声控开关。
在本项目中,它被用来控制 LED 灯的开关。项目是使用拍手来启动开关并执行基本命令。设备还可以通过拍手来实现其他操作,如关闭树莓派,调整灯光,播放音乐,激活电机,甚至可以将树莓派连接到社交媒体并发送推文等。总之,只要动动手就有无限可能~
材料清单
树莓派(Raspberry Pi)3B+ ×1
母对母跳线 ×2
红色 LED ×1
安装并更新Raspbian
安装最新版本的 Raspbian 。你可以访问:
http://shumeipai.nxez.com/2013/09/07/how-to-install-and-activate-raspberry-pi.html。
安装树莓派的 GPIO
1、访问树莓派终端。你可以通过 Raspbian 桌面或使用 PuTTY 等远程登录工具来操作。
PuTTY安装教程:
http://shumeipai.nxez.com/2013/09/07/using-putty-to-log-in-to-the-raspberry-pie.html。
2、启用 SSH 。请点击查看,了解如何通过SSH登录树莓派。
3、运行以下脚本,安装 GPIO 工具。
树莓派拍手开关将激活 LED 灯。发送信号让它运行,在此,需要使用 GPIO 引脚,使用树莓派 GPIO 来控制它们。
pip install RPi.GPIO
安装 pyaudio
拍手动力机制将通过麦克风输入进行控制。要在脚本中使用音频,需要安装 pyaudio 。安装很简单,只需运行以下脚本即可。
sudo apt-get install python-pyaudio
安装树莓派“拍手”脚本
我使用的拍手检测脚本是由 nikhiljohn10在 github 上创建的。
可以在项目文件库中下载。https://maker.quwj.com/project/97代码如下:
这里有大段源代码
请将其放在/home/pi目录下。
连接麦克风
树莓派通过麦克风收集拍手的声音,我使用 USB 麦克风。请将你的首选设备连接到树莓派。
根据房间里的噪音水平,你可能会发现不同麦克风的收音音频效果不一样。你可以使用在文本编辑器来编辑拍手脚本,手动调整拍手阈值。
该项目需要对麦克风和拍手脚本设置进行一定程度的微调。
连接输出设备
触发“拍手”的设备是由你自己决定的。你可以选择激活特定设备、运行程序、播放特定声音、或其他由 Python 脚本触发的内容。
本教程中,使用2个拍子点亮 LED,4个拍子关闭 LED 。
将触发的设备连接到 GPIO 引脚。设置LED的接线电路如图所示。根据不同的 LED,你可能需要一个电阻。
测试拍手的次数
重启树莓派。打开终端或使用 SSH 连接到树莓派。运行 clap.py。
sudo python clap.py
拍手!如果一切正常,需要注册并检查终端确认。如果检测到拍手,程序将打出一行文字。
这是你微调麦克风灵敏度和调整拍击脚本设置的机会。尝试使用阈值限制来减少因拍手而检测到的额外噪音。
设置开机启动
把 clap.py 添加到 crontab 启动列表中。使用以下命令打开 crontab 文件。
crontab -e
在文件的底部,添加一行。
@reboot nohup python clap.py &
保存文件并关闭。现在,你的树莓派将在启动时自动开始侦听拍手声了。
测试成品
一切完成后,重新启动树莓派。
当它启动时,树莓派应该立即启动拍手检测脚本。大概10-20秒后即可拍手检测!
你现在可以用拍手去控制你想开关的任何设备!
本项目文件库地址:
http://maker.quwj.com/project/97
via howchoo.com/g/otg0zwuwngf/raspberry-pi-clapper
文中链接可点击文末阅读原文查看
更多精彩内容
树莓派制造的绘图机器人
用树莓派制造一台“口袋电视”
用树莓派制造一个像样的 NAS
Raspberry Pi (树莓派) 3代A+版发布
用 Arduino 制造 LED 文字滚动显示器
自制无限扩展的可充电18650锂电池组
树莓派官方线下 Raspberry Pi 商店开张