- Підключення 16x2 РК-дисплея з Raspberry Pi:
- Встановлення необхідних пакетів для зв'язку Bluetooth:
- Сполучення пристроїв з Raspberry Pi через Bluetooth:
- Кругова діаграма:
- Голосовий ввід на РК-дисплеї за допомогою програми для Android BlueTerm:
Ви повинні бути знайомі з голосовим набором тексту, який дуже часто використовується в комп'ютерах та мобільних телефонах, де ви можете вводити будь-яке слово, вимовляючи його. Голосовий ввід дуже корисний для людей з обмеженими можливостями або для тих, хто хоче швидко набирати текст. Тож сьогодні ми застосовуємо те саме на РК-дисплеї 16x2, де голосовий текст буде відображатися на РК-дисплеї. Тут ми використовували РК-дисплей 16x2, але цю установку можна встановити в багатьох місцях із більшим дисплеєм для трансляції будь-якого повідомлення, наприклад, в аеропортах, торгових центрах, офісах тощо.
У цьому проекті ми забезпечимо введення голосу за допомогою клавіатури Google Voice через додаток 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 LCD з 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 LCD встановлено, і ви можете використовувати її функції, просто імпортуючи цю бібліотеку у свою програму python, використовуючи наведений нижче рядок:
імпортувати Adafruit_CharLCD як РК
У папці 'examples', яка знаходиться в папці бібліотеки (Adafruit_Python_CharLCD), є кілька прикладів сценаріїв. Ви можете перевірити налаштування, запустивши приклад сценарію char_lcd.py. Але перед цим вам потрібно підключити РК-висновки до Raspberry Pi, як зазначено нижче на схемі в наступному розділі.
Ви також можете підключити РК-дисплей до деяких інших контактів GPIO Raspberry Pi, все, що вам потрібно, щоб згадати правильні контактні штифти у вашій програмі 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, для управління РК-дисплеєм. Деякі функції наведені нижче; Ви можете знайти більше в прикладі сценарію:
- lcd.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
Тоді нам потрібно встановити кілька пакетів, пов’язаних з Bluetooth:
sudo apt-get встановити bluetooth blueman bluez - -
Потім перезавантажте Raspberry Pi:
sudo reboot
BlueZ - це проект із відкритим кодом та офіційний стек протоколів Bluetooth Bluetooth. Він підтримує всі основні протоколи Bluetooth і тепер став частиною офіційного ядра Linux.
Blueman надає інтерфейс робочого столу для управління та управління пристроями Bluetooth.
Нарешті, нам потрібна бібліотека python для зв'язку Bluetooth, щоб ми могли надсилати та отримувати дані через RFCOMM, використовуючи мову Python:
sudo apt-get встановити python-bluetooth
Також встановіть бібліотеки підтримки GPIO для Raspberry Pi:
sudo apt-get встановити 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 , набравши « довідка» . Наразі нам потрібно ввести нижче команди в заданому порядку:
# увімкнути # агент увімкнути # виявити на # зникне при # сканування увімкнено
Після останньої команди “ сканувати увімкнено ”, ви побачите у списку свій пристрій Bluetooth (мобільний телефон). Переконайтеся, що на вашому мобільному телефоні ввімкнено Bluetooth і його бачать прилеглі пристрої. Потім скопіюйте MAC-адресу вашого пристрою та з'єднайте її за допомогою даної команди:
пара
Потім вам буде запропоновано ввести пароль або PIN-код на консолі терміналу, потім введіть туди пароль і натисніть клавішу Enter. Потім введіть той самий пароль у своєму мобільному телефоні, коли вам буде запропоновано, і ви успішно з'єднаєтеся з Raspberry Pi. Ми також пояснили весь цей процес у нашому попередньому навчальному посібнику з управління GPIO за допомогою Bluetooth.
Кругова діаграма:
Голосовий ввід на РК-дисплеї за допомогою програми для Android BlueTerm:
Тепер після розбору мобільного телефону нам потрібно встановити додаток Android для спілкування з Raspberry Pi за допомогою послідовного адаптера Bluetooth. Протокол RFCOMM / SPP емулює послідовний зв’язок через Bluetooth, тому ми встановили тут додаток BlueTerm, який підтримує цей протокол.
Ви також можете використовувати будь-яку іншу програму терміналу Bluetooth, яка підтримує зв'язок через гніздо RFCOMM.
Тепер після завантаження і установки додатка BlueTerm, запустіть нижче заданий Python програму з терміналу і підключити парне raspberrypi пристрої з BlueTerm App одночасно. Після успішного підключення ви побачите підключений: raspberrypi у верхньому правому куті програми, як показано нижче. Тепер виберіть клавіатуру Google Voice Typing і почніть говорити, на ньому з’явиться РК-дисплей.
Програма Python для цього проекту наведена нижче і може бути легко зрозумілою. Основна типова частина пов'язана з програмуванням Bluetooth, про що ми вже пояснювали раніше; перегляньте розділ програмування цієї статті.
Ми можемо продовжити цей проект, використовуючи Voice для управління шпильками Raspberry GPIO, або можемо використовувати більший LCD / TFT-дисплей для відображення більших повідомлень. Також перевірте наші попередні проекти та навчальні посібники з Raspberry Pi.