- 将16x2 LCD与Raspberry Pi连接:
- 安装蓝牙通信所需的软件包:
- 通过蓝牙将设备与Raspberry Pi配对:
- 电路原理图:
- 使用Android App BlueTerm在LCD上进行语音输入:
您必须熟悉“语音输入”功能,该功能在计算机和移动电话中非常常用,您可以在其中通过说出任何单词来进行输入。语音输入对于残障人士或想快速输入的任何人都非常有用。因此,今天我们在16x2 LCD显示器上实现相同的功能,语音文本将显示在LCD上。在这里,我们使用了16x2 LCD,但是此设置可以安装在许多具有较大显示屏的地方,以广播任何消息,例如在机场,购物中心,办公室等。
在此项目中,我们将通过Android应用程序(BlueTerm)使用Google语音键盘提供输入语音,并使用Raspberry Pi在16x2 LCD上打印文本。在这里,我们将使用无线蓝牙媒介在16x2 LCD上键入文本,并将在Raspberry Pi上使用USB蓝牙加密狗。因此,基本上我们需要将16x2 LCD与Raspberry Pi进行接口,并在Raspberry Pi中设置蓝牙以接收手机发送的数据。我们已经将LCD与Raspberry Pi连接起来,并在Raspberry Pi上编写了关于蓝牙的教程,您可以检查一下。
将16x2 LCD与Raspberry Pi连接:
在进行蓝牙设置之前,首先我们将把 16x2 LCD与Raspberry Pi连接起来。在此项目中,我们使用了一个外部Adafruit库来将16x2 LCD与Raspberry Pi接口,使用该库,您无需编写多行代码来驱动LCD,并且只需使用一行即可直接在LCD上打印。码。但是,此库是由Adafruit创建的,但可用于具有HD44780控制器的任何LCD模块。如果要在不使用任何外部库的情况下连接LCD,则可以查看我们以前的教程,以8位模式连接LCD并以4位模式连接LCD。
要使用Adafruit库,我们首先需要使用以下命令进行 安装。第一个命令将在Raspberry Pi上克隆CharLCD存储库(由Adafruit进行复制),第二个命令将带您进入下载的目录,最后我们需要执行Adafruit_Python_CharLCD目录中显示的setup.py脚本来安装该库。
git clone https://github.com/adafruit/Adafruit_Python_CharLCD.git cd./Adafruit_Python_CharLCD sudo python setup.py安装
现在已经安装了16x2 LCD的库,您可以通过以下行将其导入python程序中来使用其功能:
导入Adafruit_CharLCD作为LCD
库文件夹(Adafruit_Python_CharLCD)中的“ examples”文件夹中有一些示例脚本。您可以通过运行char_lcd.py 示例脚本来测试设置 。但是在此之前,您需要按照下一部分电路图中的以下说明将LCD引脚与Raspberry Pi连接起来。
您还可以将LCD与Raspberry Pi的其他GPIO引脚连接,您需要在python程序中提及正确的接口引脚,如下所示。在此处了解有关Raspberry Pi GPIO引脚的更多信息。
#Raspberry Pi引脚设置lcd_rs = 18 lcd_en = 23 lcd_d4 = 24 lcd_d5 = 16 lcd_d6 = 20 lcd_d7 = 21 lcd_backlight = 2
现在,您可以直接使用Adafruit Library提供的 功能来控制LCD。下面提供了一些功能;您可以在示例脚本中找到更多信息:
- lcd.message(message)=在LCD上打印文本。
- lcd.clear()=清除LCD。
- lcd.set_cursor(col,row)=将光标移动到列和行的任意位置。
- lcd.blink(True)=闪烁光标(True或False)
- lcd.move_left()=将光标向左移动一个位置。
- lcd.move_right()=将光标向右移动一个位置。
现在,我们将使用蓝牙将Raspberry Pi与Android智能手机连接。
安装蓝牙通信所需的软件包:
这里我们使用的树莓2皮模型B不具备内置蓝牙,所以我们用一个简单的 USB蓝牙适配器用于 在树莓派建立蓝牙通信。您应该已经为Raspberry Pi准备了一个Raspbian Jessie安装的存储卡。检查本文以安装Raspbian OS并开始使用Raspberry Pi。所以现在我们首先需要使用以下命令更新Raspbian:
sudo apt-get更新sudo apt-get升级
然后,我们需要安装一些蓝牙相关的软件包:
sudo apt-get install bluetooth blueman bluez
然后重新启动Raspberry Pi:
须藤重启
BlueZ 是一个开源项目和官方Linux蓝牙协议栈。它支持所有核心蓝牙协议,现已成为官方Linux内核的一部分。
Blueman 提供了Desktop界面来管理和控制Bluetooth设备。
最后,我们需要 用于蓝牙通信的python库, 以便我们可以使用Python语言通过RFCOMM发送和接收数据:
须藤apt-get install python-bluetooth
还安装Raspberry Pi的GPIO支持库:
须藤apt-get install python-rpi.gpio
现在,我们已经完成了在Raspberry Pi中安装蓝牙通信所需的软件包的工作。
通过蓝牙将设备与Raspberry Pi配对:
将蓝牙设备(如手机)与Raspberry Pi配对非常容易。在这里,我们已将 Android Smart手机与Raspberry Pi配对。我们以前在Pi中安装过BlueZ,它提供了一个名为 “ bluetoothctl ” 的命令行实用程序 来管理我们的蓝牙设备。但在此之前,请使用以下命令将您的USB蓝牙加密狗与Raspberry Pi连接,并检查是否已检测到它:
lsusb
现在, 通过以下命令打开 bluetoothctl 实用程序:
须藤蓝牙
您可以 通过键入' help' 来检查 bluetoothctl 实用程序的所有命令 。现在,我们需要按给定顺序输入以下命令:
#打开电源#打开代理#可发现#可配对#扫描
在最后一个命令“ scan on ”之后,您将在列表中看到您的蓝牙设备(手机)。确保您的手机已打开蓝牙并且附近的设备可以看到它。然后复制设备的MAC地址,并使用给定命令将其配对:
对
然后,将在终端控制台中提示您输入密码或Pin,然后在其中键入密码并按Enter。然后在出现提示时在手机中键入相同的密码,现在您已成功与Raspberry Pi配对。我们还在之前的有关通过蓝牙控制GPIO的教程中介绍了整个过程。
电路原理图:
使用Android App BlueTerm在LCD上进行语音输入:
现在,在解析了手机之后,我们需要安装一个 Android应用程序,以使用蓝牙串行适配器与Raspberry Pi进行通信。RFCOMM / SPP协议模拟通过蓝牙的串行通信,因此我们在此处安装了 支持该协议的BlueTerm App。
您还可以使用支持通过RFCOMM套接字进行通信的任何其他蓝牙终端应用程序。
现在,下载和安装应用程序BlueTerm后, 运行从终端下面给出的Python程序和连接配对 树莓派 从BlueTerm应用程序在同一时间的设备。成功连接后,您将 在应用程序的右上角看到 connected:raspberrypi ,如下所示。现在, 选择Google语音输入键盘并开始讲话,它将出现在LCD上。
该项目的Python程序在下面给出,可以很容易地理解。主要的典型部分与我们前面已经解释过的蓝牙编程有关。检查本文的编程部分。
我们可以通过使用语音控制Raspberry GPIO引脚来进一步扩展该项目,或者可以使用更大的LCD / TFT显示屏来显示更大的消息。另请查看我们以前的Raspberry Pi项目和教程。