- Використовувані компоненти:
- Як керувати модулем Bluetooth:
- Робоче пояснення:
- Пояснення схеми:
- Конфігурація Raspberry Pi та програма Python:
Сьогодні ми будуємо дуже корисний проект, в якому ми можемо керувати світлодіодними ліхтарями за допомогою голосу за допомогою смартфона. У цьому проекті ми надішлемо голосові команди зі смартфона на 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 біт / с. Вам просто потрібно підключити rx і tx до контролера або послідовного перетворювача і подати на модуль джерело постійного струму напругою 5 вольт.
Модуль Bluetooth має два режими, один - головний, а другий - ведений. Користувач може встановити будь-який режим за допомогою деяких команд AT. Навіть користувач може встановити налаштування модуля за допомогою команди AT. Ось декілька команд, які використовуються:
Перш за все, користувачеві потрібно увійти в режим AT зі швидкістю передачі даних у швидкості 38400 біт / с, натиснувши кнопку EN на модулі Bluetooth або встановивши ВИСОКИЙ рівень на виводі EN. Примітка: усі команди повинні закінчуватися \ r \ n (0x0d та 0x0a) або ENTER KEY з клавіатури.
Після цього, якщо ви надішлете AT модулю, тоді модуль відповість ОК
AT à Тестова команда
AT + ROLE = 0 à Вибір режиму веденого
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 у Android Phone (Android Meets Robots: Voice Recognition).
Встановлення та налаштування програми AMR Voice:
Програму 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, світлодіоди та модуль Bluetooth (HC-06). Raspberry Pi зчитує модуль Bluetooth і відповідно керує світлодіодами. Світлодіоди синій, червоний і зелений підключені на GPIO 17, 27 і 22. Rx і Tx модуля Bluetooth безпосередньо підключені до виводів Tx і Rx Raspberry Pi. Залишилися з'єднання показані на принциповій схемі.
Конфігурація Raspberry Pi та програма Python:
Для програми ми використовуємо мову Python. Перед кодуванням користувачеві потрібно налаштувати Raspberry Pi. Ви можете переглянути наші попередні підручники з Початок роботи з Raspberry Pi та Встановлення та налаштування ОС Raspbian Jessie в Pi.
Після цього вам потрібно виконати наступні команди для запуску останніх оновлень на Raspbian Jessie:
sudo apt-get update оновлення sudo apt-get
Після цього нам потрібно встановити інструмент розробки Raspberry Pi GPIO, його можна встановити за допомогою наступних команд:
sudo apt-get install python-dev sudo apt-get install python-rpi.gpio
Потім користувачеві потрібно налаштувати послідовний порт Raspberry Pi. Тут ми використали Raspberry Pi 3 для цього проекту. Тому користувачеві потрібно налаштувати послідовний порт відповідно до своєї версії Raspberry Pi. Для Raspberry Pi 3 спочатку користувачеві потрібно вимкнути вхід в консоль через послідовний порт через Інструмент налаштування програмного забезпечення RPi. Відкрийте його, використовуючи команду нижче:
sudo raspi-config
Потім перейдіть до «Додаткові параметри», виберіть «Серійний» та «Вимкніть» його.
Після цього нам потрібно відключити вбудований Bluetooth Raspberry Pi 3, додавши dtoverlay = pi3-miniuart-bt в кінці файлу /boot/config.txt :
sudo nano /boot/config.txt
Після додавання рядка перезавантажте Raspberry Pi, виконавши команду sudo reboot .
Нарешті знову увійдіть у 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 = termin fsck.repair = так rootwait
Тепер ви можете запустити програму Python, наведену нижче в Raspberry Pi, і все готово! Програма проста і може бути легко зрозумілою.
Отже, тут ми завершили створення наших пристроїв з голосовим управлінням за допомогою Raspberry Pi. Ви можете додатково вдосконалити його та змінити для управління побутовою технікою змінного струму, додавши реле.