- Използвани компоненти:
- Как да работя с Bluetooth модул:
- Работно обяснение:
- Обяснение на веригата:
- Конфигурация на Raspberry Pi и програма на Python:
Днес изграждаме един много полезен проект, в който можем да управляваме LED светлините с помощта на гласа си чрез Smart Phone. В този проект ще изпратим гласови команди от Smart Phone до Raspberry Pi с помощта на Bluetooth модул и Raspberry Pi ще получи този предаван сигнал безжично и ще изпълни съответната задача над хардуера. Можем да заменим светодиодите с домакински уреди с променлив ток с помощта на релета и да изградим проект за гласова контролирана домашна автоматизация.
Използвани компоненти:
- Raspberry Pi 3 (всеки модел трябва да работи)
- Bluetooth модул HC-06
- Дъска за хляб
- 100 ома резистори (3)
- Светодиоди (син, червен, зелен)
- Свързващ проводник
- Захранване
- Ethernet кабел
- Телефон с Android
Bluetooth модул:
Bluetooth модулът се състои от две неща, едното е Bluetooth модул за сериен интерфейс и Bluetooth адаптер. Bluetooth сериен модул се използва за конвертиране на сериен порт в Bluetooth.
Как да работя с Bluetooth модул:
Можете директно да използвате Bluetooth модула след закупуване от пазара, тъй като няма нужда да променяте настройките на Bluetooth модула. Скоростта на предаване по подразбиране на новия Bluetooth модул е 9600 bps. Трябва само да свържете rx и tx към контролер или сериен преобразувател и да подадете 5 волта постояннотоково захранване към модула.
Bluetooth модулът има два режима, единият е главен режим, а вторият е подчинен режим. Потребителят може да зададе всеки режим с помощта на някои AT команди. Дори потребителят може да зададе настройката на модула с помощта на AT команда. Ето някои команди, използвани са дадени:
Преди всичко потребителят трябва да влезе в режим AT с скорост на предаване от 38400 bps, като натисне бутона EN на Bluetooth модула или като даде HIGH ниво на EN щифт. Забележка: всички команди трябва да завършват с \ r \ n (0x0d и 0x0a) или ENTER KEY от клавиатурата.
След него, ако изпратите AT към модул, тогава модулът ще отговори с OK
AT à Тестова команда
AT + ROLE = 0 à Избор на режим Slave
AT + ROLE = 1 à Избор на главен режим
AT + NAME = xyz à Задаване на Bluetooth име
AT + PSWD = xyz à Задаване на парола
AT + UART =
Напр. AT + UART = 9600,0,0
ПИН Описание на Bluetooth модула HC-06:
1. СЪСТОЯНИЕ à Отворено
2. Rx à Сериен получаватещ щифт
3. Tx à Сериен предавателен щифт
4. GND на земята
5. Vcc à + 5 волта постоянен ток
6. КЛЮЧ à за влизане в режим AT
Работно обяснение:
Работата с този гласово контролиран светодиод е много лесна. В този проект сме използвали три светодиода с различни цветове (син, червен и зелен). А HC-06 Bluetooth модул се използва за получаване на гласови команди продукция в низ формат. Raspberry Pi получава този входящ низ от Bluetooth модула и се сравнява с предварително дефинирания низ и изпълнява съответната задача.
В този проект, за да предоставим гласовите команди на Raspberry Pi от нашия смартфон, използвахме AMR Voice App в Android Phone (Android Meets Robots: Voice Recognition).
Инсталиране и конфигуриране на AMR Voice App:
Приложението AMR Voice може да бъде изтеглено и инсталирано от Google Play Store. Също така трябва да инсталирате приложението Google Voice за този проект. Приложението AMR Voice приема гласа като вход и го преобразува в текстов низ с помощта на вътрешно разпознаване на глас на мобилни устройства с Android (Google Voice App) и изпраща този преобразуван текст последователно през Bluetooth.
Сега отворете гласовото приложение AMR, влезте в менюто с опции и го свържете с Bluetooth модула, като кликнете върху „Свързване на робот“:
Сега потребителят може да докосне символа на микрофона на екрана на мобилния телефон и да произнесе предварително зададени гласови команди, за да управлява светодиодите:
1. „включена синя светлина“ (включен е само синият светодиод)
2. „изключена синя светлина“ (само синият светодиод е изключен)
3. „включена червена светлина“ (включен е само червеният светодиод)
4. „изключена червена светлина“ (само червеният светодиод е изключен)
5. „зелена светлина включена“ (включен е само зеленият светодиод)
6. „изключена зелена светлина“ (само зеленият светодиод е изключен)
7. „всички светлини включени“ (включени сини, червени и зелени светодиоди)
8. „всички светлини изключени“ (сини, червени и зелени светодиоди са изключени)
9. „мигане“ (всички светодиоди започват да мигат със период от 100 милисекунди)
След това гласовото приложение AMR записва този глас и го изпраща до приложението Google Voice, за да го преобразува във формата на текстов низ. Сега този преобразуван низ се изпраща на Raspberry Pi чрез Bluetooth модул и Raspberry Pi чете този низ от UART порта и съхранява в низ в кода. И след това го сравнете с предварително дефинирани низове, ако възникне съвпадение, Raspberry Pi предприема съответно действие или изпълнява задача.
Обяснение на веригата:
Веригата на този проект е много проста, която съдържа Raspberry Pi 3 Board, светодиоди и Bluetooth модул (HC-06). Raspberry Pi чете Bluetooth модула и съответно контролира светодиодите. Светодиодите Blue, Red и Green са свързани в GPIO 17, 27 и 22. Rx и Tx на Bluetooth модула са директно свързани към Tx и Rx щифтове на Raspberry Pi. Останалите връзки са показани на електрическата схема.
Конфигурация на Raspberry Pi и програма на Python:
Тук използваме езика Python за програмата. Преди да кодира, потребителят трябва да конфигурира Raspberry Pi. Можете да проверите нашите предишни уроци за Първи стъпки с Raspberry Pi и Инсталиране и конфигуриране на Raspbian Jessie OS в Pi.
След това трябва да изпълните следните команди, за да стартирате най-новите актуализации на 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. Отворете го с помощта на командата по-долу:
sudo raspi-config
След това отидете на „Advance Options“, изберете „Serial“ и „Disable“.
След това трябва да деактивираме вградения Bluetooth на Raspberry Pi 3, като добавим dtoverlay = pi3-miniuart-bt в края на файла /boot/config.txt :
sudo nano /boot/config.txt
След добавяне на реда рестартирайте Raspberry Pi чрез издаване на команда за рестартиране на sudo .
Накрая влезте отново в Raspberry Pi и конфигурирайте /boot/comline.txt файл:
sudo nano /boot/comline.txt
И редактирайте файла, както е показано по-долу:
dwc_otg.lpm_enable = 0 console = tty1 console = serial0,115200 root = / dev / mmcblk0p2 rootfstype = ext4 elevator = краен срок fsck.repair = да rootwait
Сега можете да стартирате програмата Python, дадена по-долу в Raspberry Pi и сте готови! Програмата е лесна и може да бъде лесно разбираема.
И така, тук завършихме изграждането на нашите устройства с гласово управление с помощта на Raspberry Pi. Можете допълнително да го подобрите и модифицирате за управление на битови уреди с променлив ток, като добавите релета.