- Встановлення необхідних пакетів для зв'язку Bluetooth:
- Сполучення пристроїв з Raspberry Pi через Bluetooth:
- Кругова діаграма:
- Керування пристроєм змінного струму за допомогою програми для Android BlueTerm:
- Пояснення програмування:
Raspberry Pi дуже популярний для проектів IoT завдяки своїй бездоганній здатності бездротового зв'язку через Інтернет. Raspberry Pi 3 має вбудовані Wi-Fi та Bluetooth, а Bluetooth є дуже популярним протоколом бездротового зв'язку. Отже, сьогодні ми збираємося керувати побутовою технікою за допомогою смартфона за допомогою Raspberry Pi 3 та Bluetooth.
Тут ми використовуємо Raspberry Pi 3, який має вбудований Bluetooth, тому нам не потрібно використовувати будь-який зовнішній USB-ключ Bluetooth. Окрім цього, нам потрібні лише модулі реле для цього проекту бездротової автоматизації будинку. Тут ми використовуємо протокол RFCOMM Bluetooth для бездротового зв'язку.
Програмування для Bluetooth на Python відповідає моделі програмування сокета, а зв'язок між пристроями Bluetooth здійснюється через сокет RFCOMM. RFCOMM (Радіочастотний зв’язок) - це протокол Bluetooth, який забезпечує емульовані послідовні порти RS-232, а також називається емуляцією послідовного порту. Профіль послідовного порту Bluetooth базується на цьому протоколі. RFCOMM дуже популярний у програмах Bluetooth завдяки широкій підтримці та загальнодоступному API. Він прив’язаний до протоколу L2CAP.
Якщо у вас Raspberry Pi 2, то вам або потрібно використовувати зовнішній ключ Bluetooth, або модуль Bluetooth HC-06. Перевірте наші попередні проекти щодо використання цих зовнішніх пристроїв Bluetooth: Керування Raspberry Pi GPIO за допомогою програми Android за допомогою Bluetooth та контрольованих голосом світлодіодів за допомогою Raspberry Pi. Також перевірте наші попередні проекти Raspberry Pi разом із декількома хорошими проектами IoT.
Встановлення необхідних пакетів для зв'язку 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.
Тепер відкрийте утиліту bluetoothctl за командою нижче:
sudo bluetoothctl
Ви можете перевірити всі команди утиліти bluetoothctl , набравши «довідка» . Наразі нам потрібно ввести нижче команди в заданому порядку:
# увімкнути # агент увімкнути # виявити на # зникне при # сканування увімкнено
Після останньої команди “сканувати увімкнено”, ви побачите у списку свій пристрій Bluetooth (мобільний телефон). Переконайтеся, що на вашому мобільному телефоні ввімкнено Bluetooth і його бачать прилеглі пристрої. Потім скопіюйте MAC-адресу вашого пристрою та з'єднайте її за допомогою даної команди:
пара
Потім вам буде запропоновано ввести пароль або PIN-код на консолі терміналу, потім введіть туди пароль і натисніть клавішу Enter. Потім введіть той самий пароль у своєму мобільному телефоні, коли вам буде запропоновано, і ви успішно з'єднаєтеся з Raspberry Pi. Ми також пояснили весь цей процес у відео, поданому в попередньому підручнику з управління GPIO. Ось пряме посилання на YouTube.
Як було сказано раніше, ви також можете використовувати інтерфейс робочого столу для з'єднання мобільного телефону. Після встановлення Blueman ви побачите піктограму Bluetooth у правій частині робочого столу Raspberry Pi, як показано нижче, за допомогою якої ви можете легко здійснити сполучення.
Кругова діаграма:
Принципова схема для даної автоматизованої домашньої автоматизованої системи управління на основі Raspberry Pi дуже проста, ми щойно підключили вхідний сигнал модуля реле Pin до PIN 40 (GPIO 21) Raspberry Pi та інші два Pin (Vcc та GND модуля реле) до Pin 2 та 6 Raspberry Pi 3. Тоді ми підключили лампу змінного струму змінного струму до реле, як показано на схемі:
Якщо ви новачок у Relay і хочете дізнатись більше про Relay та його з'єднання з приладом змінного струму, перегляньте цю статтю.
Керування пристроєм змінного струму за допомогою програми для Android BlueTerm:
Тепер після розбору мобільного телефону нам потрібно встановити додаток Android для спілкування з Raspberry Pi за допомогою послідовного адаптера Bluetooth, щоб ми могли контролювати GPIO-шпильки Raspberry Pi. Як вже говорилося раніше, протокол RFCOMM / SPP емулює послідовний зв'язок через Bluetooth, тому ми встановили тут додаток BlueTerm, який підтримує цей протокол.
Ви також можете використовувати будь-яку іншу програму терміналу Bluetooth, яка підтримує зв'язок через гніздо RFCOMM.
Тепер після завантаження і установки додатка BlueTerm, запустіть нижче заданий Python програму з терміналу і підключити парне raspberrypi пристрої з BlueTerm App одночасно.
Після успішного підключення ви побачите підключений: raspberrypi у верхньому правому куті програми, як показано нижче:
Тепер ви можете просто ввести "1" або "0" із програми BlueTerm, щоб зробити штифт GPIO ВИСОКИМ і НИЗКИМ відповідно, що, в свою чергу, запускає модуль реле, підключений до цього штифта, який додатково управляє лампочкою змінного струму, підключеною до реле. Натисніть 'q', щоб вийти з програми. Ви можете використовувати клавіатуру Google Voice Typing, щоб керувати GPIO за допомогою вашого Voice. Перевірте повну демонстрацію у відео, поданому в кінці.
Отже, ось як ви можете бездротово керувати приладом змінного струму за допомогою програми для Android через Bluetooth. Також перевірте, як використовувати Bluetooth з Arduino.
Пояснення програмування:
Програма Python для управління Raspberry Pi GPIO за допомогою програми для Android дуже проста та зрозуміла. Тільки нам потрібно трохи дізнатися про код, пов’язаний із Bluetooth RFCOMM-спілкуванням. Спочатку нам потрібно імпортувати бібліотеку сокетів Bluetooth, яка дозволяє нам керувати Bluetooth мовою Python; ми встановили бібліотеку для того ж у попередньому розділі.
імпортувати Bluetooth
Нижче наведено код, відповідальний за зв'язок Bluetooth:
server_socket = bluetooth. дані = client_socket.recv (1024)
Тут ми можемо зрозуміти їх рядок за рядком:
server_socket = bluetooth.BluetoothSocket (bluetooth.RFCOMM): Створення сокета для зв'язку Bluetooth RFCOMM.
server_socket.bind (("", port): - Сервер прив'язує сценарій на хості '' до порту.
server_socket.listen (1) : Сервер прослуховує, приймаючи одне підключення за раз.
client_socket, address = server_socket.accept () : Сервер приймає запит на підключення клієнта та призначає мак-адресу змінній адресі, client_socket - сокет клієнта
data = client_socket.recv (1024): Отримати дані через клієнтський сокет client_socket і призначити їх змінній data . Одночасно може бути отримано максимум 1024 символи.
Нарешті, після програмування, закрийте підключення клієнта та сервера, використовуючи код нижче:
client_socket.close () server_socket.close ()
Весь інший код простий і зрозумілий. Перевірте повний код нижче. Спробуйте змінити цей проект, і ви можете використовувати його для керування багатьма іншими речами по бездротовому режиму, автомобілем-роботом через телефон android або можете використовувати ваш голос для управління освітленням.
Також перевірте наші численні типи проектів домашньої автоматизації з використанням різних технологій та мікроконтролерів, таких як: