- Свързване на 16x2 LCD с Raspberry Pi:
- Инсталиране на необходимите пакети за Bluetooth комуникация:
- Сдвояване на устройства с Raspberry Pi през Bluetooth:
- Електрическа схема:
- Гласово въвеждане на LCD с помощта на приложението Android BlueTerm:
Трябва да сте запознати с гласовото въвеждане, което се използва много често в Компютри и мобилни телефони, където можете да въведете всяка дума, като я произнесете. Гласовото въвеждане е много полезно за хора с увреждания или за всеки, който иска да пише бързо. Така че днес ние прилагаме същото на 16x2 LCD дисплей, където гласовият текст ще се показва на LCD. Тук сме използвали 16x2 LCD, но тази настройка може да се инсталира на много места с по-голям дисплей за излъчване на всяко съобщение, като на летища, молове, офиси и т.н.
В този проект ще осигурим глас за въвеждане с помощта на клавиатура на Google Voice чрез приложение за Android (BlueTerm) и ще отпечатаме текста на LCD 16x2 с помощта на Raspberry Pi. Тук ще напишем текста на 16x2 LCD, използвайки безжичен Bluetooth Medium и ще използваме USB Bluetooth донгъл с Raspberry Pi. Така че основно се нуждаем от интерфейс 16x2 LCD с Raspberry Pi и настройка на Bluetooth в Raspberry Pi, за да получаваме данните, изпратени от мобилния телефон. Вече свързахме LCD с Raspberry Pi и написахме урок за Bluetooth с Raspberry Pi, можете да ги проверите.
Свързване на 16x2 LCD с Raspberry Pi:
Преди да пристъпим към настройката на Bluetooth, първо ще свържем 16x2 LCD с Raspberry Pi. Тук в този проект използвахме външна библиотека на Adafruit за свързване на 16x2 LCD с Raspberry Pi, с помощта на която не е нужно да пишете много редове код, за да управлявате LCD и можете директно да печатате на LCD, като използвате само един код. Тази библиотека обаче е създадена от Adafruit, но може да се използва за всеки LCD модул, който има HD44780 контролер. Ако искате да свържете LCD, без да използвате външна библиотека, можете да проверите нашите предишни уроци за интерфейс на LCD в 8-битов режим и за интерфейс на LCD в 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 install
Сега библиотеката за 16x2 LCD е инсталирана и можете да използвате нейните функции, като просто импортирате тази библиотека във вашата програма на python, използвайки долния ред:
импортирайте Adafruit_CharLCD като LCD
Има някои примерни скриптове в папката 'examples', която се намира в папката на библиотеката (Adafruit_Python_CharLCD). Можете да тествате настройката, като стартирате примерния скрипт char_lcd.py. Но преди това трябва да свържете LCD щифтовете с Raspberry Pi, както е дадено по-долу в електрическата схема в следващия раздел.
Можете също така да свържете LCD с някои други GPIO щифтове на Raspberry Pi, всичко, което трябва да споменете за правилните взаимосвързващи щифтове във вашата програма на python, както по-долу. Научете повече за Raspberry Pi GPIO Pins тук.
# Raspberry Pi pin setup lcd_rs = 18 lcd_en = 23 lcd_d4 = 24 lcd_d5 = 16 lcd_d6 = 20 lcd_d7 = 21 lcd_backlight = 2
Сега можете директно да използвате функциите, предоставени от библиотеката на Adafruit, за управление на LCD дисплея. Някои от функциите са дадени по-долу; можете да намерите повече в примерния скрипт:
- lcd.message (съобщение) = За да отпечатате текста на LCD.
- lcd.clear () = За да изчистите LCD дисплея.
- lcd.set_cursor (col, row) = Преместете курсора на произволна позиция в колона и ред.
- lcd.blink (True) = За мигане на курсора (True или False)
- lcd.move_left () = За да преместите курсора наляво с една позиция.
- lcd.move_right () = За да преместите курсора надясно с една позиция.
Сега ще свържем нашия Raspberry Pi с Android Smart телефон чрез Bluetooth.
Инсталиране на необходимите пакети за Bluetooth комуникация:
Тук използваме Raspberry 2 Pi Model B, който няма вграден Bluetooth, така че използваме прост USB Bluetooth ключ за настройка на Bluetooth комуникация в Raspberry Pi. Трябва да имате инсталирана карта с памет на Raspbian Jessie, готова с Raspberry Pi. Проверете тази статия, за да инсталирате Raspbian OS и да започнете с Raspberry Pi. Така че сега първо трябва да актуализираме Raspbian, като използваме командите по-долу:
sudo apt-get актуализация sudo apt-get надстройка
След това трябва да инсталираме няколко пакета, свързани с Bluetooth:
sudo apt-get инсталирате bluetooth blueman bluez
След това рестартирайте Raspberry Pi:
sudo рестартиране
BlueZ е проект с отворен код и официален стек протокол за Linux 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 Smart телефон с Raspberry Pi. Преди това сме инсталирали BlueZ в Pi, който предоставя помощна програма за команден ред, наречена „ bluetoothctl “, за да управлява нашите Bluetooth устройства. Но преди това свържете вашия USB Bluetooth ключ с Raspberry Pi и проверете дали е открит или не, като използвате командата по-долу:
lsusb
Сега отворете помощната програма bluetoothctl чрез команда по-долу:
sudo bluetoothctl
Можете да проверите всички команди на помощната програма bluetoothctl , като напишете „ помощ“ . Засега трябва да въведем команди отдолу в даден ред:
# включване # агент включен # откриваем на # по възможност при # сканиране включен
След последната команда „ сканиране включено “, ще видите вашето Bluetooth устройство (мобилен телефон) в списъка. Уверете се, че мобилният ви телефон е включен и видим от близките устройства. След това копирайте MAC адреса на вашето устройство и го сдвоете с помощта на дадена команда:
двойка
След това ще бъдете подканени да въведете парола или ПИН във вашата терминална конзола, след това въведете парола там и натиснете enter. След това въведете същата парола в мобилния си телефон, когато бъдете подканени и вече сте успешно сдвоени с Raspberry Pi. Обяснихме и целия този процес в предишния ни урок за управление на GPIO с Bluetooth.
Електрическа схема:
Гласово въвеждане на LCD с помощта на приложението Android BlueTerm:
След като анализираме мобилния телефон, трябва да инсталираме приложение за Android за комуникация с Raspberry Pi с помощта на Bluetooth сериен адаптер. Протоколът RFCOMM / SPP емулира серийна комуникация през Bluetooth, така че тук инсталирахме приложението BlueTerm, което поддържа този протокол.
Можете също така да използвате всяко друго приложение за Bluetooth терминал, което поддържа комуникация чрез RFCOMM сокет.
Сега, след като изтеглите и инсталирате на BlueTerm App, стартира по-долу дава Python програма от терминала и да свържете в двойка raspberrypi устройството от BlueTerm App в същото време. След успешна връзка ще видите свързан: raspberrypi в горния десен ъгъл на приложението, както е показано по-долу. Сега изберете клавиатурата на Google Voice Typing и започнете да говорите, ще се появи LCD.
Програмата Python за този проект е дадена по-долу и може лесно да бъде разбрана. Основната типична част е свързана с Bluetooth програмиране, което вече обяснихме; проверете раздела за програмиране на тази статия.
Можем допълнително да разширим този проект, като използваме Voice за управление на пинове на Raspberry GPIO или можем да използваме по-голям LCD / TFT дисплей за показване на по-големи съобщения. Също така проверете нашите предишни проекти и уроци за Raspberry Pi.