今天,我们正在建设一个非常有用的项目,在该项目中,我们可以 通过智能手机使用语音来控制LED灯。在该项目中,我们将使用蓝牙模块将语音命令从智能手机发送到Raspberry Pi,Raspberry Pi将无线接收该传输的信号,并将通过硬件执行相应的任务。我们可以使用继电器将LED替换为AC家用电器,并可以构建语音控制的家庭自动化项目。
使用的组件:
- Raspberry Pi 3(任何型号均可使用)
- 蓝牙模块HC-06
- 面包板
- 100欧姆电阻器(3)
- LED(蓝色,红色,绿色)
- 连接线
- 电源供应
- 以太网电缆
- Android手机
蓝牙模块:
蓝牙模块由两部分组成,一是蓝牙串行接口模块,另一个是蓝牙适配器。蓝牙串行模块用于将串行端口转换为蓝牙。
如何操作蓝牙模块:
从市场上购买后,您可以直接使用蓝牙模块,因为不需要更改蓝牙模块的任何设置。新蓝牙模块的默认波特率是9600 bps。您只需要将rx和tx连接到控制器或串行转换器,并为模块提供5伏直流稳压电源即可。
蓝牙模块有两种模式,一种是主模式,第二种是从模式。用户可以通过使用一些AT命令来设置任何一种模式。甚至用户也可以使用AT命令来设置模块的设置。以下是一些命令用法:
首先,用户需要通过按蓝牙模块上的EN按钮或在EN引脚上提供HIGH电平,以38400 bps的波特率进入AT模式。注意:所有命令应以\ r \ n(0x0d和0x0a)或键盘输入ENTER结束。
之后,如果您将AT发送到模块,则模块将以OK响应
ATà测试命令
AT + ROLE = 0à从模式选择
AT + ROLE = 1à主模式选择
AT + NAME = xyzà设置蓝牙名称
AT + PSWD = xyzà设置密码
AT + UART =
例如。AT + UART = 9600,0,0
HC-06蓝牙模块的引脚说明:
1.状态à打开
2. Rxà串行接收引脚
3. Txà串行发送引脚
4. GNDà地
5. Vccà+ 5volt dc
6.按键à进入AT模式
工作说明:
这个工作语音控制的LED项目是很容易的。在这个项目中,我们使用了三种不同颜色的LED(蓝色,红色和绿色)。甲HC-06蓝牙模块用于以字符串格式接收语音命令输出。Raspberry Pi从蓝牙模块接收输入的字符串,并与预定义的字符串进行比较并执行相应的任务。
在此项目中,为了从智能手机向Raspberry Pi提供语音命令,我们在Android Phone(Android Meets Robots:语音识别)中使用了AMR语音应用。
AMR语音应用程序的安装和配置:
可以从Google Play商店下载并安装AMR语音应用。您还需要为此项目安装Google语音应用。AMR语音应用程序将语音作为输入,并使用Android手机内部语音识别(Google语音应用程序)将其转换为文本字符串,然后通过蓝牙串行发送此转换后的文本。
现在打开AMR语音应用程序,进入选项菜单,然后通过单击“连接机器人”将其连接到蓝牙模块:
现在,用户可以点击移动屏幕上的麦克风符号,并说出预定义的语音命令来操作LED:
1.“蓝灯亮”(仅打开蓝色LED)
2.“蓝灯熄灭”(仅蓝色LED熄灭)
3.“红灯亮”(仅红色LED亮起)
4.“红灯熄灭”(仅红色LED熄灭)
5.“绿灯亮”(仅绿色LED亮起)
6.“绿灯熄灭”(仅绿色LED熄灭)
7.“所有灯都亮起”(蓝色,红色和绿色的LED亮起)
8.“所有灯都熄灭”(蓝色,红色和绿色的LED熄灭)
9.“闪烁”(所有LED开始以100毫秒的时间闪烁)
然后,AMR语音应用会记录该语音并将其发送到Google语音应用,以将其转换为文本字符串格式。现在,此转换后的字符串通过蓝牙模块发送到Raspberry Pi,并且Raspberry Pi从UART端口读取此字符串并存储在代码中的字符串中。然后将其与预定义的字符串进行比较,如果发生匹配,则Raspberry Pi会采取相应的操作或执行任务。
电路说明:
该项目的电路非常简单,它包含Raspberry Pi 3板,LED和蓝牙模块(HC-06)。Raspberry Pi读取蓝牙模块并相应地控制LED。LED蓝色,红色和绿色分别连接到GPIO 17、27和22。蓝牙模块的Rx和Tx直接连接到Raspberry Pi的Tx和Rx引脚。其余连接在电路图中显示。
Raspberry Pi配置和Python程序:
我们在这里使用Python语言编写程序。在编码之前,用户需要配置Raspberry Pi。您可以查看我们以前的教程,以了解《 Raspberry Pi入门》和《在Pi中安装和配置Raspbian Jessie OS》。
之后,您需要运行以下命令以在Raspbian Jessie上运行最新更新:
sudo apt-get更新sudo apt-get升级
之后,我们需要安装Raspberry Pi GPIO开发工具,可以通过以下命令进行安装:
sudo apt-get安装python-dev sudo apt-get安装python-rpi.gpio
然后,用户需要配置Raspberry Pi的串行端口。在这里,我们已经为该项目使用了Raspberry Pi 3。因此,用户需要根据其Raspberry Pi版本配置串行端口。对于Raspberry Pi 3,第一个用户需要通过RPi软件配置工具通过串行端口禁用控制台登录。使用以下命令将其打开:
须藤raspi-config
然后转到“高级选项”,选择“序列”并“禁用”它。
之后,我们需要通过在 /boot/config.txt 文件末尾 添加 dtoverlay = pi3-miniuart-bt 来禁用Raspberry Pi 3的内置蓝牙:
须藤nano /boot/config.txt
添加该行后, 通过发出 sudo reboot 命令重新启动Raspberry Pi。
最后再次登录Raspberry Pi,并配置/boot/comline.txt文件:
须藤nano /boot/comline.txt
然后编辑文件,如下所示:
dwc_otg.lpm_enable = 0 console = tty1 console = serial0,115200 root = / dev / mmcblk0p2 rootfstype = ext4 lift = deadline fsck.repair = yes rootwait
现在您可以在Raspberry Pi中运行下面给出的Python程序,您就完成了!程序简单易懂。
因此,在这里我们已经完成了使用Raspberry Pi构建语音控制设备的过程。您可以通过添加继电器来对其进行进一步增强和修改,以控制AC家用电器。