- Cài đặt Gói bắt buộc cho Giao tiếp Bluetooth:
- Ghép nối thiết bị với Raspberry Pi qua Bluetooth:
- Sơ đồ mạch:
- Điều khiển thiết bị AC bằng Android App BlueTerm:
- Giải thích lập trình:
Raspberry Pi rất phổ biến cho các dự án IoT vì khả năng liên lạc không dây qua internet liền mạch. Raspberry Pi 3 có Wi-Fi và Bluetooth sẵn có, và Bluetooth là một Giao thức truyền thông không dây rất phổ biến. Vì vậy, hôm nay chúng ta sẽ điều khiển Thiết bị gia dụng thông qua Điện thoại thông minh bằng Raspberry Pi 3 và Bluetooth.
Ở đây chúng tôi đang sử dụng Raspberry Pi 3 có Bluetooth sẵn có, vì vậy chúng tôi không cần sử dụng bất kỳ dongle USB Bluetooth bên ngoài nào. Ngoài ra, chúng tôi chỉ cần Mô-đun chuyển tiếp cho Dự án tự động hóa gia đình không dây này. Ở đây chúng tôi đang sử dụng giao thức Bluetooth RFCOMM cho giao tiếp không dây.
Lập trình cho Bluetooth bằng Python tuân theo mô hình lập trình ổ cắm và giao tiếp giữa các thiết bị Bluetooth được thực hiện thông qua ổ cắm RFCOMM. RFCOMM (Giao tiếp tần số vô tuyến) là một Giao thức Bluetooth cung cấp các cổng nối tiếp RS-232 được mô phỏng và còn được gọi là Mô phỏng Cổng Nối tiếp. Cấu hình cổng nối tiếp Bluetooth dựa trên giao thức này. RFCOMM rất phổ biến trong các ứng dụng Bluetooth vì hỗ trợ rộng rãi và API có sẵn công khai. Nó bị ràng buộc với giao thức L2CAP.
Nếu bạn có Raspberry Pi 2, thì bạn cần sử dụng dongle Bluetooth bên ngoài hoặc mô-đun Bluetooth HC-06. Kiểm tra các dự án trước đây của chúng tôi để sử dụng các thiết bị Bluetooth bên ngoài này: Điều khiển Raspberry Pi GPIO bằng Ứng dụng Android qua Bluetooth và Đèn LED điều khiển bằng giọng nói bằng Raspberry Pi. Ngoài ra, hãy kiểm tra các Dự án Raspberry Pi trước đây của chúng tôi cùng với một số Dự án IoT tốt.
Cài đặt Gói bắt buộc cho Giao tiếp Bluetooth:
Trước khi bắt đầu, chúng ta cần cài đặt một số phần mềm để thiết lập giao tiếp Bluetooth trong Raspberry Pi. Bạn nên chuẩn bị sẵn thẻ nhớ đã cài đặt Raspbian Jessie với Raspberry Pi. Kiểm tra bài viết này để cài đặt hệ điều hành Raspbian và bắt đầu với Raspberry Pi. Vì vậy, trước tiên chúng ta cần cập nhật Raspbian bằng các lệnh dưới đây:
sudo apt-get cập nhật sudo apt-get nâng cấp
Sau đó, chúng tôi cần cài đặt một số gói liên quan đến Bluetooth:
sudo apt-get install bluetooth blueman bluez
Sau đó khởi động lại Raspberry Pi:
khởi động lại sudo
BlueZ là một dự án mã nguồn mở và ngăn xếp giao thức Bluetooth chính thức của Linux. Nó hỗ trợ tất cả các giao thức Bluetooth cốt lõi và hiện trở thành một phần của Nhân Linux chính thức.
Blueman cung cấp giao diện Desktop để quản lý và điều khiển các thiết bị Bluetooth.
Cuối cùng, chúng ta cần Thư viện python cho giao tiếp Bluetooth để chúng ta có thể gửi và nhận dữ liệu thông qua RFCOMM bằng ngôn ngữ Python:
sudo apt-get install python-bluetooth
Cũng cài đặt các thư viện hỗ trợ GPIO cho Raspberry Pi:
sudo apt-get install python-rpi.gpio
Bây giờ chúng ta đã hoàn tất việc cài đặt các gói bắt buộc cho giao tiếp Bluetooth trong Raspberry Pi.
Ghép nối thiết bị với Raspberry Pi qua Bluetooth:
Việc ghép nối Thiết bị Bluetooth, như điện thoại di động, với Raspberry Pi rất dễ dàng. Ở đây, chúng tôi đã ghép nối Điện thoại thông minh Android của mình với Raspberry Pi. Trước đây chúng tôi đã cài đặt BlueZ trong Pi, cung cấp tiện ích dòng lệnh có tên “bluetoothctl” để quản lý các thiết bị Bluetooth của chúng tôi.
Bây giờ mở tiện ích bluetoothctl bằng lệnh dưới đây:
sudo bluetoothctl
Bạn có thể kiểm tra tất cả các lệnh của tiện ích bluetoothctl bằng cách gõ 'trợ giúp' . Bây giờ chúng ta cần nhập các lệnh dưới đây theo thứ tự nhất định:
# bật nguồn # tác nhân trên # có thể phát hiện trên # có thể ghép nối trên # quét trên
Sau lệnh cuối cùng “quét trên”, bạn sẽ thấy thiết bị Bluetooth (Điện thoại di động) của mình trong danh sách. Đảm bảo rằng điện thoại di động của bạn đã bật Bluetooth và các thiết bị lân cận có thể nhìn thấy. Sau đó, sao chép địa chỉ MAC của thiết bị của bạn và ghép nối nó bằng cách sử dụng lệnh đã cho:
đôi
Sau đó, bạn sẽ được nhắc nhập Mật mã hoặc Ghim trong Bảng điều khiển đầu cuối, sau đó nhập mật mã vào đó và nhấn enter. Sau đó, nhập cùng một mật mã vào điện thoại di động của bạn khi được nhắc và bây giờ bạn đã ghép nối thành công với Raspberry Pi. Chúng tôi cũng đã giải thích toàn bộ quá trình này trong Video được đưa ra trong Hướng dẫn điều khiển GPIO trước đó. Đây là liên kết trực tiếp YouTube.
Như đã nói trước đó, bạn cũng có thể sử dụng giao diện Máy tính để bàn để ghép nối Điện thoại di động. Sau khi cài đặt Blueman, bạn sẽ thấy biểu tượng Bluetooth ở bên phải màn hình Raspberry Pi của mình như hình dưới đây, bằng cách sử dụng nó, bạn có thể dễ dàng thực hiện ghép nối.
Sơ đồ mạch:
Sơ đồ mạch cho Tự động hóa gia đình có điều khiển bằng Bluetooth dựa trên Raspberry Pi này rất đơn giản, chúng tôi chỉ kết nối Chân tín hiệu đầu vào của Mô-đun tiếp sức với PIN 40 (GPIO 21) của Raspberry Pi và hai Chân khác (Vcc và GND của mô-đun chuyển tiếp) với Chân 2 và 6 của Raspberry Pi 3. Sau đó, chúng tôi đã kết nối bóng đèn AC CFL với Rơle như trong sơ đồ mạch:
Nếu bạn chưa quen với Relay và muốn tìm hiểu thêm về Relay và các kết nối của nó với thiết bị AC, hãy xem Bài viết này.
Điều khiển thiết bị AC bằng Android App BlueTerm:
Bây giờ, sau khi ghép nối Điện thoại di động, chúng ta cần cài đặt Ứng dụng Android để giao tiếp với Raspberry Pi bằng Bộ điều hợp nối tiếp Bluetooth, để chúng ta có thể điều khiển các chân GPIO của Raspberry Pi. Như đã nói trước đó, giao thức RFCOMM / SPP mô phỏng giao tiếp nối tiếp qua Bluetooth, vì vậy chúng tôi đã cài đặt tại đây Ứng dụng BlueTerm hỗ trợ giao thức này.
Bạn cũng có thể sử dụng bất kỳ Ứng dụng đầu cuối Bluetooth nào khác hỗ trợ giao tiếp qua ổ cắm RFCOMM.
Bây giờ sau khi tải xuống và cài đặt Ứng dụng BlueTerm, hãy chạy Chương trình Python cung cấp bên dưới từ thiết bị đầu cuối và kết nối thiết bị raspberrypi đã ghép nối từ Ứng dụng BlueTerm cùng một lúc.
Sau khi kết nối thành công bạn sẽ thấy kết nối: raspberrypi ở góc trên cùng bên phải của Ứng dụng như hình bên dưới:
Giờ đây, bạn chỉ cần nhập '1' hoặc '0' từ ứng dụng BlueTerm để đặt chân GPIO lần lượt là CAO và THẤP, điều này sẽ kích hoạt mô-đun Rơle được kết nối với chân này, điều khiển thêm bóng đèn AC được kết nối với Rơle. Nhấn 'q' để thoát khỏi chương trình. Bạn có thể sử dụng Bàn phím nhập bằng giọng nói của Google để điều khiển GPIO bằng Giọng nói của mình. Kiểm tra bản trình diễn hoàn chỉnh trong Video được đưa ra ở cuối.
Vì vậy, đây là cách bạn có thể điều khiển không dây Thiết bị AC bằng Ứng dụng Android qua Bluetooth. Ngoài ra, hãy kiểm tra Cách sử dụng Bluetooth với Arduino.
Giải thích lập trình:
Chương trình Python để điều khiển Raspberry Pi GPIO bằng Ứng dụng Android rất đơn giản và dễ hiểu. Chỉ chúng ta cần tìm hiểu một chút về mã liên quan đến giao tiếp Bluetooth RFCOMM. Đầu tiên, chúng ta cần nhập thư viện ổ cắm Bluetooth cho phép chúng ta điều khiển Bluetooth bằng ngôn ngữ Python; chúng tôi đã cài đặt thư viện cho cùng một trong phần trước.
nhập Bluetooth
Dưới đây là mã chịu trách nhiệm cho giao tiếp Bluetooth:
server_socket = bluetooth.Bl BluetoothSocket (bluetooth.RFCOMM) port = 1 server_socket.bind (("", port)) server_socket.listen (1) client_socket, address = server_socket.accept () print "Kết nối được chấp nhận từ", địa chỉ trong khi 1: data = client_socket.recv (1024)
Ở đây chúng ta có thể hiểu chúng từng dòng một:
server_socket = bluetooth.Bl BluetoothSocket (bluetooth.RFCOMM): Tạo ổ cắm cho giao tiếp Bluetooth RFCOMM.
server_socket.bind (("", cổng): - Máy chủ liên kết tập lệnh trên máy chủ '' với cổng.
server_socket.listen (1) : Máy chủ lắng nghe để chấp nhận một kết nối tại một thời điểm.
client_socket, address = server_socket.accept () : Máy chủ chấp nhận yêu cầu kết nối của máy khách và gán địa chỉ mac cho địa chỉ biến , client_socket là ổ cắm của máy khách
data = client_socket.recv (1024): Nhận dữ liệu thông qua client_socket socket khách hàng và gán cho dữ liệu biến. Có thể nhận tối đa 1024 ký tự cùng một lúc.
Cuối cùng sau khi lập trình xong, hãy đóng kết nối máy khách và máy chủ bằng đoạn mã dưới đây:
client_socket.close () server_socket.close ()
Tất cả các mã khác đều dễ dàng và dễ hiểu. Kiểm tra mã đầy đủ bên dưới. Cố gắng sửa đổi dự án này và bạn có thể sử dụng nó để điều khiển không dây nhiều thứ khác, Robot ô tô thông qua điện thoại Android hoặc có thể sử dụng giọng nói của bạn để điều khiển đèn.
Ngoài ra, hãy kiểm tra nhiều loại Dự án Tự động hóa Gia đình của chúng tôi sử dụng các công nghệ và Bộ vi điều khiển khác nhau như: