ỨNG DỤNG BLUETOOTH VÀ RF TRONG ĐIỀU KHIỂN THIẾT BỊ GIA DỤNG RF & BLUETOOTH APPLICATIONS IN CONTROL CIVIL ELECTRONIC DEVICE SVTH: Trương Văn Trương Lớp08DT1 , Khoa Điện tử Viễn thông,
Trang 1ỨNG DỤNG BLUETOOTH VÀ RF TRONG ĐIỀU KHIỂN THIẾT BỊ GIA
DỤNG
RF & BLUETOOTH APPLICATIONS IN CONTROL CIVIL ELECTRONIC DEVICE
SVTH: Trương Văn Trương
Lớp08DT1 , Khoa Điện tử Viễn thông, Trường Đại học Bách Khoa , Đại học Đà Nẵng
GVHD: Phạm Xuân Trung
Khoa Điện tử Viễn thông, Trường Đại học Bách Khoa, Đại học Đà Nẵng
TÓM TẮT
Hệ thống điều khiển thiết bị điện qua Bluetooth và RF nhằm mục đích tăng cường tính tiện dụng và thẩm mỹ mạng điện trong nhà với các mô hình kết nối không dây được điều khiển trực tiếp qua Smartphone có hỗ trợ các hệ điều hành như Android ,Windows Đây là vấn đề rất có ý nghĩa trong thời đại Smartphone bùng nổ và ngày càng hỗ trợ cuộc sống con người tốt hơn
Bên cạnh đó,mô hình này rất có tiềm năng ứng dụng ở các tòa nhà chung cư, nên đề tài có tích hợp các module thu phát RF giúp tầm điều khiển tăng lên cao,đảm bảo tính hiêu quả và thẫm
mĩ
Từ khóa : Bluetooth , Android , RF, Smartphone , Windows
ABSTRACT
Controlling device system via Bluetooth and RF aims to enhance the usability and aesthetics of the electrical network models with wireless connection.They are controlled directly via Smartphone that supports operating systems such as Android, Windows This is a very significant meaning in an era
of booming smartphones and increasingly support human life better
Besides, this model has potential applications in the apartment building,villa.So that the subject is integrated RF transceiver modules help increasing high-level control and ensuring effectiveness and aesthetic
Key word : Bluetooth , Android , RF , Smartphone , Windows
1 Đặt vấn đề
Trên thế giới,vấn đề nghiên cứu ứng dụng Bluetooth không phải là quá mới mẻ.Bluetooth được tích hợp và sử dụng cho nhiều hệ thống như tai nghe không dây,mạng không dây giữa các máy tính cá nhân trong một không gian hẹp đòi hỏi ít băng thông,giao tiếp không dây với các thiết bị vào ra của máy tính…Ngày nay,Bluetooth họat động không chỉ trên Laptop hay điện thoại mà đã mở rộng qua các thiết bị dân dụng như tivi hay nồi cơm điện.Việc điều khiển thiết bị dân dụng qua Bluetooth đã được nghiên cứu nhưng chưa phát triển rộng rãi vì rào cản về giá thành cũng như hiệu năng chưa cao
Trong nước,việc điều khiển thiết bị gia dụng không dây hầu hết dùng sóng 3G,Wifi
và GPRS mà chưa đi sâu nghiên cứu về Bluetooth.Rải rác các đề tài nghiên cứu về Bluetooth chỉ dừng lại ở mức demo mà chưa đưa ra mô hình hoàn thiện cũng như chưa
Trang 2khắc phục điểm yếu lớn nhất của Bluetooth là khoảng cách truyền ngắn
Ngày nay,việc sử dụng thiết bị điều khiển từ xa đã trở nên hết sức phổ biến.Tuy nhiên,sự tiện ích của các bộ điều khiển là chưa cao, gặp phải 1 số hạn chế như khoảng cách ngắn, số lượng thiết bị hạn chế, khó mở rộng và thông thường là sử dụng hồng ngoại nên góc điều khiển hẹp.Lấy ý tưởng cải tiến các bộ điều khiển để loại bỏ các nhược điểm trên,đề tài thực hiện thiết kế hệ thống điều khiển thiết bị qua Bluetooth và sóng RF bằng máy tính hoặc điện thoại Android
2 Mô hình hệ thống
- Thiết bị hỗ trợ Bluetooth là các mobile hoặc máy tính hoạt động trên hệ điều hành Windows hoặc Android giúp ta dễ dàng lập trình ứng dụng
-Module HC06 là module Bluetooth truyền nhận dữ liệu ở class 2
-Cơ cấu chấp hành 1 và 2 bao gồm hệ thống đèn điện,động cơ bơm nước và động cơ cửa -Khối xử lý trung tâm và tầm xa sử dụng PIC16F877A mã hóa và giải mã các tín hiệu Bluetooth và RF
-Thiết bị thu phát RF sử dụng module RF công suất nhỏ truyền tín hiệu tầm xa
3.1 Giải quyết phần mềm
3.1.1 Thực hiện giao diện trên Laptop với C#
Giao diện được thực hiện theo phương pháp giao tiếp qua cổng COM.Lí do là đối với các thiết bị kết nối và truyền dữ liệu có dây hoặc không dây với PC đều được hệ điều hành quy định 1 cổng COM làm cổng giao tiếp.Tiếp đến là quá trình đồng bộ các thông số quan trọng trong 1 phiên truyền thông như Baud,Parity bit,Stop bit,Data bit…Việc kết nối hoàn thành giúp thao tác dữ liệu có thể diễn ra.Khi không còn nhu cầu trao đổi thông tin,ta có thể ngắt kết nối và giải phóng đường truyền Bluetooth[3]
Thiết bị hỗ trợ Bluetooth Thiết bị thu Bluetooth
Module HC06
Khối xử lý trung tâm
Thiết bị phát RF
Thiết bị thu RF Khối xử lý tầm xa
Cơ cấu chấp hành 1
Cơ cấu chấp hành 2
Trang 33.1.2 Thực hiện giao diện trên Andoid phone với Java
Việc quét thiết bị đảm bảo các công đoạn trao quyền Admin cho hệ thống và vấn đề hỗ trợ Bluetooth trên thiết bị,đồng thời gửi yêu cầu kết nối Bluetooth.Tiến trình truy vấn giúp máy chủ cập nhật thông tin bộ thu Bluetooth đích.[4]Ngay sau đó
là quá trình thiết lập kênh thông tin và kết nối 2 thiết bị.Thực hiện thao tác dữ liệu truyền nhận giữa
2 thiết bị và hủy kết nối nếu không có nhu cầu[2]
3.2 Giải quyết phần cứng
3.2.1 Mạch xử lý trung tâm
Hình 3.3 Sơ đồ nguyên lý mạch xử lý trung tâm
Q1 2N2222
TX_H C
J1
NGUON DC
1
C1
J2
Machnap 1 3 5
0
5V
TX
J5
TX11
1 3
PGD
0
R 9 330
5V
MCLR
C0
0
R 4 330
OU T
TX_HC
R10
0
MC LR
3.3V 9V
D 6
LED
Q2 2N2222
0
RX
PGD
H2
IN
C6 33p
9V
5V
C7 33p
C2
U1
PI C16F877A
2
4 6
33 35
37 39
15 17 23 25
19 21 27 29
13
14
32 31
1
8 10
RA0/ AN0 RA2/ AN2/VREF-/CVREF RA3/ AN3/VREF+
RA4/ T0CKI/C1OU T RA5/ AN4/SS*/C 2OU T
RB0/INT RB1
R B3/PGM RB4
R B6/PGC
RC0/T1OSO/T1C KI RC1/T1OSI /CCP2 RC2/C CP1 RC3/SCK/ SCL RC4/SDI/SDA RC5/SDO RC6/TX/CK RC7/R X/D T
RD0/PSP0 RD2/PSP2 RD4/PSP4 RD6/PSP6
OSC1/CLKIN
OSC2/CLKOU T
VDD VSS
MCLR*/ VPP
R E0/RD*/ AN5 RE1/WR*/ AN6 RE2/ CS*/ AN7
5V
MC LR
J3
RX11
1 3
H3
R5 1K
5V
VI XU LY
J9
HIEN THI LED
1 3 5
7 9 10
TX
R3 10K
3 3V
0
RC2,RC3: RF DATA
R 11 330
9V
D 5
LED 0
RC6,RC7 : GIAO TIEP BLUETOOTH
D8
LED
R1 2.2k
5V
PORTB : HIEN THI LED
0
PGC
Y1 4Mhz
RX_HC
R2 2.2k
PORTD : DIEU KHIEN 220V
0
5V
D 4
LED
PGC
R6
330
PORTE : LED CHI THI
0
OU T
SW3
RESET
RX_HC
J8
GIAO TIEP BLUETOOTH
1 3 5
0
RX
Hình 3.1 Các bước tạo giao diện qua C# và giao diện thực tế
Hình 3.2 Các bước tạo giao diện qua Java
và giao diện thực tế
Trang 4Việc bật tắt thiết bị sẽ được kiểm tra luân phiên theo vòng lặp tùy vào chuỗi lệnh
nhận được[1],mô tả đầy đủ theo bảng 2.1:
Bảng 3.1 Bảng mô tả chuỗi dữ liệu truyền nhận giữa Mobile Android/PC với PIC16F877A
3.2.2 Mạch xử lý từ xa
Hình 3.4 Sơ đồ nguyên lý mạch xử lý từ xa
Để truyền dữ liệu đi xa ta thực hiện điều chế và giải điều chế theo mã Manchester [5] phù hợp với việc lập trình vi điều khiển và các module RF sử dụng trong đề tài Mã hóa
0
0
J 3
RX11
1 3
0
IN
9V
U1
PIC16F877A
2 4 6
33 35 37 39
15 17 23 25
19 21 27 29
13
14
32 31
1
8 10
R A0/AN0
R A2/AN2/VREF-/C VREF
R A3/AN3/VREF+
R A4/T0CKI/C1OUT
R A5/AN4/SS*/C2OUT
R B0/IN T RB1 RB3/PGM RB4 RB6/PGC
R C0/T1OSO/T1CKI
R C1/T1OSI/CC P2
R C2/CCP1
R C3/SC K/SCL
R C4/SD I/SD A
R C5/SD O
R C6/TX/CK
RD 0/PSP0
RD 2/PSP2
RD 4/PSP4
RD 6/PSP6 OSC 1/C LKIN
OSC 2/C LKOUT
VDD VSS
MCLR */VPP
RE0/RD*/AN 5 RE1/WR*/AN 6 RE2/C S*/AN 7
0
den1
ra2
VI XU LY
OU T
R17 100
5V
ra3
den2
J 42
DIEU KHIEN DEN 220V
1 3
J 2
Machnap
1
3
5
IN
ra1
D7
LED
PGC
J 5
TX11
1 3
Q8 TRIAC BT138 3
den3
R13 100
ra3 RC0,RE2 : DATA RF
5V
R 14 100
U3 MOC3020 1
2
ra2
D 80
LED
MC LR
ra1
Q7 TRIAC BT138 3
R 16 100
5V
220V
9V
R 12 100
C6
33p
den1
U5 MOC3020 1
2
PGD
0
SW1
SW KEY-SPST
1 2
5V
SW3
RESET
R10
10K
Q6 TRIAC BT138 3
den2
220V
0
D9
LED
D8
LED
0 0
0
MCLR
J 4
NGUON DC
1
220V
U4 MOC3020 1
2
330
C7
33p
220V OUT
0
0
R15 100
Y1 4Mhz
RC1,RE0,RE1:
OUTPUT CONTROL
LIGHT
den3
U 6 LM7805C/TO
IN OU T
Trang 5Manchester là một loại mã biphase dễ dàng khôi phục tín hiêu đồng hồ
Bắt đầu khung truyền là gói data_start có nhiệm vụ làm sạch khung truyền nhờ chuỗi
xung vuông mức cao liên tục
Tiếp đến là gói pulse_start làm header cho khung
truyền,báo cho bên thu biết được bắt đầu quá trình truyền thông bằng cách gửi chuỗi xung đặc biệt ở chân data với
chu kì 3ms.Tương tự cho header pulse_finish
Gửi dữ liệu qua gói sent_array Thực chất là vòng lặp
theo chiều dài của array và gửi tất cả các byte bằng gói
M_sent_byte.Trong gói này lại duyệt theo chiều dài 1 byte=
8 bit để gửi đi từng bit Quá trình thu và giải mã tín hiệu cụ thể như sau:
get_start:chỉ bắt đầu truyền thông khi nhận đúng gói bit 1
sạch hoàn toàn.Phương pháp sử dụng là vòng lặp chờ bit 1.Khi có dữ liệu là bit 1 đầu tiên đến,biến đếm i sẽ được khởi tạo và đếm số bit 1 tiếp theo.Nếu liên tiếp nhận được số lượng bit 1 bằng 24 thì set cờ báo nhận,bắt đầu quá trình truyền thông
Xung start có dạng xung vuông chu kì 3ms.Vì vậy ta phải dùng hàm get_pulse_start để
đảm bảo bắt chính xác.Hàm sẽ liên tục kiểm tra bit đầu tiên,nếu nhiễu 0 xuất hiện ta sẽ dùng vòng lặp đợi bit 1.Biến đếm thời gian sẽ được khởi tạo.Nếu bit 1 tồn tạo trong khoảng thời gian xấp xỉ 3ms thì gói start đã được chấp nhận
Nhận dữ liệu bằng gói get_array theo trình tự bit ngược lại so với bên phát.Nhận và giải
mã từng bit cho đến khi đủ 1 byte.Nhận từng byte cho đến khi hết chiều dài array
Dừng quá trình truyền thông khi nhận được xung kết thúc get_pulse_finish
3.3 Nhận xét
Đề tài đã giải quyết được các yêu cầu đề ra đồng thời tối ưu hóa được hệ thống trong môi trường thực tế.Tín hiệu điều khiển ổn định nhờ việc lập trình đồng bộ và phân chia theo module.Quá trình hoạt động của mạch được mô phỏng bằng phần mềm và cho hoạt động trong điều kiện thực tế và nhiều nguồn nhiễu thu được kết quả theo bảng 3.2
Bảng 3.2 Kết quả thực tế khi test hệ thống
Khu vực hoạt
động
Số lần thử tín hiệu điều khiển
Tầm hoạt động Bluetooth(m)
Tầm hoạt động RF(m)
Tỉ lệ phần trăm chính xác
Khu vực có
Wifi,Bluetooth
Hình 3.5 Mã hóa và giải mã
Trang 64 Kết luận
4.1 Kết quả
- Đề tài “Ứng dụng Bluetooth và RF trong điều khiển thiết bị gia dụng” đã đạt được
những kết quả cụ thể sau:
Nắm rõ được giao tiếp Bluetooth và giao tiếp RF
Tìm hiểu về hệ điều hành Android,các ngôn ngữ lập trình C# và Java
Thực hiện viết ứng dụng trên Mobile Android và Laptop
Thực hiện kết nối giữa Mobile Android/Laptop, module Bluetooth và PIC16F877A
Thực hiện các khối phần cứng liên quan đến quá trình điều khiển và cấp nguồn
Hình 4.1 Mô hình hệ thống
4.2 Những hạn chế
- Những ứng dụng còn khá thô , giao diện đơn điệu
- Sử dụng chip còn thừa rất nhiều chân,chưa tối ưu được linh kiện
4.3 Hướng phát triển
- Mở rộng thiết bị điều khiển
- Thay đổi giao diện người dùng
- Phát triển hệ thống điều khiển
- Phát triển hệ thống tiết kiệm năng lượng
Tài liệu tham khảo
[1] Cộng đồng Điện tử Việt Nam (2008 ) CCS for PIC16F977A
[2] Phạm Quang Đạo , Nguyễn Hoàng Nam (2011) Báo cáo lập trình Android.Bài tập
lớn, Đại học Bách Khoa Tp.Hồ Chí Minh
[3] Nguyễn Ngọc Bình Phương,Thái Thanh Phong, et al (2009) Ngôn ngữ lập trình C#
Trang 7Nhà xuất bản Giao thông Vận Tải ,Tp.Hồ Chí Minh
[4] Koltykov A.V.( 28.01.2013) Data transfer between Android and Arduino via
Bluetooth , Russia
[5] Fernando E.Valdes-Perez, Ramon Pallas-Areny (2009) Fundamemtals and
Application with PIC CRC Press, New York
Tác giả
SVTH: Trương Văn Trương
Lớp: 08ĐT1, Khoa Điện tử - Viễn thông, Trường Đại học Bách Khoa - Đại học Đà Nẵng Khoa Điện tử - Viễn thông, Trường Đại học Bách Khoa - Đại học Đà Nẵng
Địa chỉ :K24/25 Ngô Sĩ Liên,Liên Chiểu,Đà Nẵng
Số điện thoại 01688497734
Email : vantruong57@gmail.com