- Подключение ЖК-дисплея 16x2 к Raspberry Pi:
- Установка необходимых пакетов для связи Bluetooth:
- Сопряжение устройств с Raspberry Pi через Bluetooth:
- Принципиальная электрическая схема:
- Голосовой ввод на ЖК-дисплее с помощью Android-приложения BlueTerm:
Вы должны быть знакомы с голосовым набором текста, который очень часто используется в компьютерах и мобильных телефонах, где вы можете вводить любое слово, произнося его. Голосовой набор очень полезен для людей с ограниченными возможностями или для тех, кто хочет быстро печатать. Сегодня мы реализуем то же самое на ЖК-дисплее 16x2, где голосовой текст будет отображаться на ЖК-дисплее. Здесь мы использовали ЖК-дисплей 16x2, но эту установку можно установить во многих местах с большим дисплеем для трансляции любого сообщения, например, в аэропортах, торговых центрах, офисах и т. Д.
В этом проекте мы предоставим голосовой ввод с помощью Google Voice Keyboard через приложение для Android (BlueTerm) и напечатаем текст на ЖК-дисплее 16x2 с помощью Raspberry Pi. Здесь мы будем вводить текст на ЖК-дисплее 16x2 с использованием беспроводного Bluetooth Medium и использовать USB-ключ Bluetooth с Raspberry Pi. Таким образом, нам нужно связать ЖК-дисплей 16x2 с Raspberry Pi и настроить Bluetooth в Raspberry Pi для приема данных, отправленных с мобильного телефона. Мы уже подключили ЖК-дисплей к Raspberry Pi и написали руководство по Bluetooth с Raspberry Pi, вы можете проверить их.
Подключение ЖК-дисплея 16x2 к Raspberry Pi:
Прежде чем приступить к настройке Bluetooth, сначала мы подключим ЖК-дисплей 16x2 к Raspberry Pi. Здесь, в этом проекте, мы использовали внешнюю библиотеку Adafruit для взаимодействия ЖК-дисплея 16x2 с Raspberry Pi, с помощью которой вам не нужно писать много строк кода для управления ЖК-дисплеем, и вы можете напрямую печатать на ЖК-дисплее, просто используя одну строку код. Однако эта библиотека создана Adafruit, но ее можно использовать для любого ЖК-модуля, имеющего контроллер HD44780. Если вы хотите подключить ЖК-дисплей без использования какой-либо внешней библиотеки, вы можете проверить наши предыдущие руководства, чтобы подключить ЖК-дисплей в 8-битном режиме и подключить ЖК-дисплей в 4-битном режиме.
Чтобы использовать библиотеку Adafruit, нам сначала нужно установить ее, используя приведенные ниже команды. Первая команда клонирует репозиторий CharLCD (от Adafruit) на вашем Raspberry Pi, вторая команда перенесет вас в этот загруженный каталог, и, наконец, нам нужно выполнить скрипт setup.py, представленный внутри каталога Adafruit_Python_CharLCD, для установки библиотеки.
git clone https://github.com/adafruit/Adafruit_Python_CharLCD.git cd./Adafruit_Python_CharLCD sudo python setup.py установить
Теперь библиотека для ЖК-дисплея 16x2 установлена, и вы можете использовать ее функции, просто импортировав эту библиотеку в свою программу Python, используя следующую строку:
импортировать Adafruit_CharLCD как LCD
В папке «examples», которая находится в папке библиотеки (Adafruit_Python_CharLCD), есть несколько примеров сценариев. Вы можете проверить настройку, запустив пример скрипта char_lcd.py. Но перед этим вам необходимо подключить контакты ЖК-дисплея к Raspberry Pi, как показано ниже на принципиальной схеме в следующем разделе.
Вы также можете подключить ЖК-дисплей к некоторым другим контактам GPIO Raspberry Pi, все, что вам нужно, чтобы упомянуть правильные контакты интерфейса в вашей программе python, как показано ниже. Узнайте больше о выводах GPIO Raspberry Pi здесь.
# Настройка выводов Raspberry Pi lcd_rs = 18 lcd_en = 23 lcd_d4 = 24 lcd_d5 = 16 lcd_d6 = 20 lcd_d7 = 21 lcd_backlight = 2
Теперь вы можете напрямую использовать функции, предоставляемые библиотекой Adafruit, для управления ЖК-дисплеем. Некоторые функции приведены ниже; вы можете найти больше в примере скрипта:
- lcd.message (message) = Для печати текста на ЖК-дисплее.
- lcd.clear () = Очистить ЖК-дисплей.
- lcd.set_cursor (col, row) = Переместите курсор в любую позицию в столбце и строке.
- lcd.blink (True) = Мигать курсором (True или False)
- lcd.move_left () = Чтобы переместить курсор влево на одну позицию.
- lcd.move_right () = Чтобы переместить курсор вправо на одну позицию.
Теперь мы подключим Raspberry Pi к Android-смартфону с помощью Bluetooth.
Установка необходимых пакетов для связи Bluetooth:
Здесь мы используем Raspberry 2 Pi Model B, у которой нет встроенного Bluetooth, поэтому мы используем простой USB-ключ Bluetooth для настройки связи Bluetooth в Raspberry Pi. У вас должна быть установлена карта памяти Raspbian Jessie, готовая к работе с Raspberry Pi. Прочтите эту статью, чтобы установить ОС Raspbian и начать работу с Raspberry Pi. Итак, теперь нам сначала нужно обновить Raspbian, используя следующие команды:
sudo apt-get update sudo apt-get upgrade
Затем нам нужно установить несколько пакетов, связанных с Bluetooth:
sudo apt-get установить bluetooth blueman bluez
Затем перезагрузите Raspberry Pi:
перезагрузка sudo
BlueZ - это проект с открытым исходным кодом и официальный стек протоколов Linux Bluetooth. Он поддерживает все основные протоколы Bluetooth и теперь стал частью официального ядра Linux.
Blueman предоставляет интерфейс рабочего стола для управления устройствами Bluetooth.
Наконец, нам нужна библиотека Python для связи Bluetooth, чтобы мы могли отправлять и получать данные через RFCOMM с использованием языка Python:
sudo apt-get install python-bluetooth
Также установите библиотеки поддержки GPIO для Raspberry Pi:
sudo apt-get install python-rpi.gpio
Теперь мы закончили установку необходимых пакетов для связи Bluetooth в Raspberry Pi.
Сопряжение устройств с Raspberry Pi через Bluetooth:
Подключить устройства Bluetooth, например мобильный телефон, к Raspberry Pi очень просто. Здесь мы соединили наш Android-смартфон с Raspberry Pi. Ранее мы установили BlueZ в Pi, который предоставляет утилиту командной строки под названием « bluetoothctl » для управления нашими устройствами Bluetooth. Но перед этим подключите USB-ключ Bluetooth к Raspberry Pi и проверьте, обнаружен он или нет, используя следующую команду:
lsusb
Теперь откройте утилиту bluetoothctl с помощью следующей команды:
sudo bluetoothctl
Вы можете проверить все команды утилиты bluetoothctl , набрав « help» . На данный момент нам нужно ввести следующие команды в указанном порядке:
# включение # агент включен # обнаружение при # возможность подключения # сканирование при
После последней команды « сканирование включить » вы увидите свое устройство Bluetooth (мобильный телефон) в списке. Убедитесь, что на вашем мобильном телефоне включен Bluetooth и его видят находящиеся поблизости устройства. Затем скопируйте MAC-адрес вашего устройства и выполните сопряжение с помощью данной команды:
пара
Затем вам будет предложено ввести пароль или PIN-код в консоли терминала, затем введите пароль и нажмите клавишу ВВОД. Затем введите тот же код доступа в свой мобильный телефон, когда будет предложено, и теперь вы успешно подключены к Raspberry Pi. Мы также объяснили весь этот процесс в нашем предыдущем руководстве по управлению GPIO с помощью Bluetooth.
Принципиальная электрическая схема:
Голосовой ввод на ЖК-дисплее с помощью Android-приложения BlueTerm:
Теперь, после подключения мобильного телефона, нам нужно установить приложение Android для связи с Raspberry Pi с помощью последовательного адаптера Bluetooth. Протокол RFCOMM / SPP имитирует последовательную связь через Bluetooth, поэтому мы установили здесь приложение BlueTerm, которое поддерживает этот протокол.
Вы также можете использовать любое другое приложение Bluetooth Terminal, которое поддерживает связь через разъем RFCOMM.
Теперь, после загрузки и установки приложения BlueTerm, запустите указанную ниже программу Python с терминала и одновременно подключите сопряженное устройство raspberrypi из приложения BlueTerm. После успешного подключения вы увидите connected: raspberrypi в правом верхнем углу приложения, как показано ниже. Теперь выберите клавиатуру Google Voice Typing и начните говорить, появится ЖК-дисплей.
Программа Python для этого проекта приведена ниже и ее легко понять. Основная типичная часть связана с программированием Bluetooth, которое мы объясняли ранее; проверьте раздел программирования этой статьи.
Мы можем еще больше расширить этот проект, используя голос для управления контактами Raspberry GPIO или можем использовать ЖК / TFT-дисплей большего размера для отображения больших сообщений. Также ознакомьтесь с нашими предыдущими проектами и руководствами по Raspberry Pi.