Tải bản đầy đủ (.pdf) (51 trang)

điều khiển các thiết bị trong nhà qua sms

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.23 MB, 51 trang )

1

LỜI NÓI ĐẦU

Trong thời kỳ công nghiệp hóa và hiện đại hóa như hiện nay, các thiết bị điện
tử, tự động hóa đóng vai trò rất quan trọng, đặc biệt là trong quá trình sản xuất ở các
phân xưởng nhà máy cũng như trong lĩnh vực phục vụ đời sống của con người. Áp
dụng các kiến thức đã được học trong lĩnh vực điện tử (về lý thuyết điều khiển, kỹ
thuật vi xử lý và các môn học về lập trình) cũng như sự giúp đỡ, hướng dẫn của thầy
giáo chúng em quyết định chọn đề tài :
Điều khiển các thiết bị trong nhà qua SMS.
Sau thời gian một học kỳ (20112) triển khai làm đề tài này nhóm sinh viên
chúng em đã được mở rộng và hiểu biết thêm cách thiết kế chế tạo một thiết bị điện tử
phục vụ đời sống và làm quen với nhiều công cụ phục vụ cho ngành điện tử. Cũng qua
đề tài này nhóm cũng nhận ra và bổ sung được nhiều kinh nghiệm, kiến thức quý báu
mà chỉ khi thực sự bắt tay vào làm nhóm mới có thể có được.
Nhóm sinh viên chúng em xin chân thành cảm ơn thầy giáo Vũ Song Tùng đã
nhiệt tình giúp đỡ và định hướng cho chúng em hoàn thành tốt đề tài này.
Trong quá trình thực hiện đề tài môn học Project1, chúng em cố gắng thiết kế
sao cho hệ thống đơn giản, ổn đinh và dễ sử dụng nhất, tuy nhiên do vấn đề thời gian
và kinh nghiệm của nhóm còn hạn chế nên hệ thống chưa hoàn hảo. Chúng em rất
mong được sự đóng góp của thầy giáo và các bạn đề sản phẩm của nhóm ngày càng
hoàn thiện hơn.
Nhóm chúng en xin chân thành cảm ơn!
Nhóm thực hiện đề tài : Nhóm 1 Lớp KSTN-ĐTVT-K54
Trần Xuân Bách
Hoàng Việt Cường
Đỗ Trung Đức (TL)
Nguyễn Trung Quân
Nguyễn Duy Toán
2



MỤC LỤC
LỜI NÓI ĐẦU 1
DANH MỤC HÌNH VẼ 4
Chương 1: 5
GIỚI THIỆU 5
Đặt vấn đề 5
Mục tiêu đề tài 5
Tổng quan hệ thống 5
Tổng quan báo cáo 6
Chương 2: 7
CƠ SỞ LÝ THUYẾT 7
Giới thiệu chương 7
2.1. Giới thiệu vi điều khiển PIC18F2550 7
2.2 Giới thiệu tập lệnh AT 9
2.3. Modul sim 900B 11
2.4. Chuẩn giao tiếp RS232 11
2.4.1. Ưu điểm của giao diện nối tiếp RS232: 12
2.4.2. Những đặc điểm cần lưu ý trong chuẩn RS232 12
2.4.3. Các mức điện áp đường truyền 12
2.4.4.Quá trinh truyền dữ liệu 12
2.4.5. Tốc độ Baud 13
2.4.6. Bit chẵn lẻ hay Parity bit 13
2.5. Cấu trúc của 1 tin nhắn SMS 13
2.6. Giới thiệu về J2ME 13
2.6.1. Lịch sử 13
2.6.2. Kiến trúc của J2ME 14
2.6.3.Giới thiệu MIDP 16
2.7. Các công cụ sử dụng 18
2.7.1. CCS C 18

2.7.2. Proteus 7.2 18
2.7.3. Altium 18
2.7.4. Netbeans IDE 19
3

2.7.5. Java ME SDK 20
Kết luận chương 20
Chương 3: 21
THIẾT KẾ HỆ THỐNG 21
Giới thiệu chương 21
3.1. Phân tích yêu cầu hệ thống 21
3.1.1. Yêu cầu chức năng 21
3.1.2. Yêu cầu phi chức năng 21
3.2. Thiết kế phần cứng 22
3.2.1. Phân tích và lựa chọn giải pháp 22
3.2.2. Thiết kế 24
3.3. Thiết kế phần mềm cho vi điều khiển 28
3.3.1. Lựa chọn giải pháp 28
3.3.2. Thiết kế firmware 29
3.4. Thiết kế phần mềm trên điện thoại 33
3.4.1. Yêu cầu của hệ thống 33
3.4.2. Thiết kế hệ thống 34
Kết luận chương 35
Chương 4: 36
KẾT QUẢ ĐẠT ĐƯỢC VÀ KINH NGHIỆM 36
4.1. Kết quả đạt được 36
4.2. Kinh nghiệm rút ra 40
Chương 5: 43
KẾT LUẬN 43
5.1. Những điểm còn hạn chế 43

5.2. Hướng phát triển của đề tài 44
5.3. Kết luận 44
DANH MỤC TỪ VIẾT TẮT 45
TÀI LIỆU THAM KHẢO 47
PHỤ LỤC 1 48
Sơ đồ nguyên lý toàn bộ hệ thống 48

4


DANH MỤC HÌNH VẼ

Hình 2.1: Sơ đồ chân vi điều khiển PIC18F2550.
Hình 2.2: Sơ đồ kiến trúc J2ME.
Hình 2.3: So sánh các thông số kỹ thuật của CDC và CLDC.
Hình 3.1: Sơ đồ liên kết các modul của hệ thống.
Hình 3.2: Sơ đồ nguyên lý bộ đệm sử dụng 74HC125.
Hình 3.3: Sơ đồ nguyên lý modul sim 900B.
Hình 3.4: Sơ đồ chân modul vi điều khiển PIC18F2550
Hình 3.5: Sơ đồ nguyên lý bộ nguồn
Hình 3.6.:Sơ đồ cấu trúc firmware của PIC18F2550.
Hình 3.7: Sơ đồ chức năng phần mềm trên điện thoại.
Hình 3.8: Sơ đồ DFD mức đỉnh của phần mềm trên điện thoại.
Hình 4.1: Thiết bị nhận và giải mã tín hiệu.
Hình 4.2: Giao diện phần mềm.
Hình 4.3: Giao diện phần mềm.
Hình 4.4: Demo bật 2 đèn số 5 và 8.
Hình 4.5: Demo bật 4 đèn số 1, 3, 5 và 8.
Hình p.1: Sơ đồ nguyên lý bộ đệm.
Hình p.2: Sơ đồ nguyên lý modul sim 900B.

Hình p.3:Sơ đồ nguyên lý khối PIC18F2550.
Hình p.4: Sơ đồ nguyên lý khối nguồn.
Hình p.5: Sơ đồ nguyên lý main board.
5

Chương 1:
GIỚI THIỆU

Đặt vấn đề
Công nghệ nhày càng phát triển và thâm nhập sâu hơn vào cuộc sống của con
người. Hơn 5 năm trước điện thoại còn là mặt hàng khá đắt đỏ thì giờ đây những chiếc
smartphone mạnh mẽ đã trở thành người bạn không thể thiếu trong cuộc sống của
nhiều người. Chúng ta không những có thể gọi điện, nhắn tin đơn thuần trên điện thoại
như trước mà giờ có thể chơi game, lướt web, check mail hay sử dụng những phần
mềm tiện ích khác phục vụ cho đời sống hàng ngày. Vậy tại sao chúng ta không nghĩ
tới một thiết bị có thể giúp chúng ta điều khiển, giám sát mọi thiếu bị điện trong căn
nhà yêu quý của mình thông qua vài thao tác đơn giản trên chiếc điện thoại di động?
Hãy tưởng tượng, nếu bạn đi làm và phân vân không biết mình đã tắt lò vi sóng hay
chưa? Bạn muốn bật sẵn bình nóng lạnh vào mùa đông hay bật trước điều hòa vào mùa
hè trước khi về nhà? Bạn đi du lịch nhiều ngày và không muốn cây cảnh trong vườn
khô héo hay thú cưng bị chết vì đói?… Tất cả các điều trên sẽ không còn là mối bận
tâm nếu bạn sở hữu một thiết bị nhỏ gọn cho phép bạn điều khiển mọi thứ trong nhà
thông qua chiếc điện thoại của mình.

Mục tiêu đề tài
Đề tài hướng tới việc thiết kế một thiết bị nhỏ gọn được kết nối với các thiết bị
điện trong nhà giúp người sử dụng có thể dễ dàng điều khiển mọi thứ qua phần mềm
gọn nhẹ được cài trên điện thoại hay smartphone. Thiết bị phải có khả năng hoạt động
bền bỉ 24/7, phải thực hiện nhanh gọn và chính xác mỗi khi có yêu cầu, giao diện
người dùng cho phần mềm trên điện thoại phải thân thiện và dễ dàng nâng cấp cũng

như bổ sung thêm số lượng các thiết bị có thể điều khiển.

Tổng quan hệ thống
Để đảm bảo thực hiện được các mục tiêu trên chúng tôi sử dụng một modul sim
trong vệc gửi và nhận tin nhắn cho các mạng GSM phổ biến ở Việt Nam. Một vi điều
khiển để giải mã và thực hiện các lệnh. Thiết bị cũng cần có giao diện người dùng đơn
giản bao gồm 1 LCD (chỉ dùng khi debug và cài đặt) và các đèn LED hiển thị trạng
6

thái của hệ thống cũng như bật tắt của thiết bị. Ngoài ra còn cần có một ứng dụng gửi
lệnh điều khiển các thiết bị từ xa trên điện thoại di động.

Tổng quan báo cáo
Trong báo cáo này nhóm sẽ trình bày chi tiết về:
 Cơ sở lý thuyết (về cả phần cứng và phần mềm), các công cụ sử dụng.
 Yêu cầu hệ thống.
 Nêu ra các giải pháp công nghệ và lựa chọn giải pháp.
 Thiết kế hệ thống.
 Kết quả đạt được, kinh nghiệm rút ra và kết luận.

7

Chương 2:
CƠ SỞ LÝ THUYẾT

Giới thiệu chương
Chương này sẽ đề cập đến cơ sở lý thuyết của các phần mềm cũng như phần
cứng sẽ sử dụng trong đồ án như vi điều khiển, modul sim, tập lệnh AT và các công
nghệ liên quan; các phần mềm sẽ sử dụng trong đồ án.


2.1. Giới thiệu vi điều khiển PIC18F2550
Vi điều khiển PIC18F2550 nằm trong họ PIC18, là dòng vi điều khiển Pic có
tính thực thi cao của hãng Mcrochip. Đây là dòng vi điều khiển được sử dụng nhiều
trong các ứng dụng hệ thống nhúng công nghiệp.
Thông qua công nghệ Nanowat, hãng Microchip đã đưa vào bên trong thiết bị
PIC18F2550 các chức năng đặc trưng mà khiến nó có thể giảm được đáng kể sự tiêu
thụ năng lượng trong suốt quá trình hoạt động. Bao gồm như:
 Các chế độ chạy xen kẽ: Bằng cách tạo xung nhịp cho khối điều khiển từ
nguồn Timer1 hoặc từ khối tạo dao động bên trong, năng lượng tiêu thị
trong suốt quá trình thực thi mã có thể giảm 90%
 Các chế độ Idle: Khối điều khiển có thể chạy với lõi CPU của nó không
hoạt động như các thiết bị ngoại vi vẫn ở trạng thái hoạt động. Trong các
trạng thái này, thiết trung bình để hoạt động.
 Chế độ chuyển mạch on-the-fly: Các chế độ quản lý năng lượng được gọi
ra bởi người dùng trong suốt quá trình thao tác mã, cho phép họ có thể
đưa ra các ý tưởng tiết kiệm năng lượng vào bên trong các thiết kế phần
mềm của ứng dụng.
 Các chế độ khóa tiêu thị ít năng lượng : Khiến cho năng lương cần cho cả
bộ Timer1 và bộ Watchdog Timer là rất nhỏ.
PIC18F2550 được Microchip hỗ trợ lên tới mười hai lựa chọn chế độ dao động
khác nhau, vì vậy người dùng có thể tùy biến hơn rất nhiều tỏng quá trình thiết kể phần
cứng so với các thiết bị khác. Nó bao gồm:
8

 Bốn chế độ dao động tinh thể bằng cách sử dụng các bộ cộng hưởng tinh
thể hoặc ceramic.
 Bốn chế độ dao động xung ở bên ngoài.
 Một khối tạo dao động ở bên trong cung cấp một xung tín hiệu có tần số
8MHZ với độ chính xác ±2% và một nguồn INTRC (khoảng 31kHz).
 Một bộ nhân tần PLL, có thể bao gồm cả chế độ dao động tinh thể tốc độ

cao và các chế độ dao động ở bên ngoài, cho phép tốc độ xung có một
phạm vi rộng từ 4MHZ tới 48MHZ
 Hai xung hoạt động không đồng bộ với nhau, cho phép module USB có
thể chạy được với bộ tạo dao động tần số cao trong khi phần còn lại của
vi điều khiển thì được tạo xung dao động từ một bộ tạo dao động công
suất thấp ở bên trong.
Ngoài ra PIC18F2550 còn được đưa vào một mô đun truyền thông USB đầy đủ
phù hợp với các đặc điểm kỹ thuật của chuẩn USB 2.0. Mô đun hỗ trợ cả hai kiểu
truyền thông low-speed và full-speed cho tất cả các kiểu dữ liệu mà nó hỗ trợ. Nó cũng
được tích hợp thêm một bộ thu-phát và bộ điều chỉnh điện áp 3.3V trên chip của nó và
hỗ trợ sử dụng với các bộ thu phát và điều chỉnh điện áp ở bên ngoài.

Hình 2.1: Sơ đồ chân PIC18F2550
9

2.2 Giới thiệu tập lệnh AT
Năm 1977, Dennis Hayes sử dụng chuẩn truyền thông RS232 đơn giản kết nối
Modem thông minh (Smart modem) tới một máy tính để truyền cả lệnh và dữ liệu. Bởi
vì mỗi lệnh bắt đầu với chữ AT trong chữ Attention nên ngôn ngữ điều khiển được
định nghĩa bởi Hayes nhanh chóng được biết tới với bộ lệnh Hayes AT. Chính vì sự
đơn giản và khả năng thực thi với chi phí thấp của nó, bộ lệnh Hayes AT nhanh chóng
được sử dụng phổ biến trong các modem của các nhà sản xuất khác nhau. Khi chức
năng và độ tích hợp của các modem ngay càng tăng cùng với thời gian, nên làm cho
ngôn ngữ lệnh Hayes AT và nhanh chóng mỗi nhà sản xuất modem đã sử dụng ngôn
ngữ của ông. Ngày nay, bộ lệnh AT bao gồm cả các lệnh về dữ liệu, fax,voice và các
truyền thông SMS.
Các lệnh AT là các hướng dẫn được sử dụng để điều khiển một modem. AT là
một cách viết gọn của chữ Attention. Mỗi dòng lệnh của nó bắt đầu với “AT” hay “at”.
Đó là lí do tại sao các lệnh Modem được gọi là các lệnh AT. Nhiều lệnh của nó được
sử dụng để điều khiển các modem quay số sử dụng dây mối (wired dial-up modems).

Chẳng hạn như : ATD (Dial), ATA (Answer), ATH (Hool control) và ATO
(return to online data state), cũng được hỗ trợ bởi các modem GSM/GPRS và các điện
thoại di động. Bên cạnh bộ lệnh AT thông dụng này, các modem GSM/GPRS và các
điện thoại di động còn được hỗ trợ bởi một bộ lệnh AT đặc biệt đối với công nghệ
GSM. Nó bao gồm các lệnh liên quan tới SMS:
 AT+ CMGS : gửi tin nhắn SMS
 AT+CMSS: gửi tin nhắn SMS từ một vùng lưu trữ
 AT+CMGL: chuỗi liệt kê các tin nhắn SMS
 AT+CMGR: đọc tin nhắn SMS
Chú ý là khởi động “AT” là một tiền tố để thông báo tới modem về sự bắt đầu
của một dòng lệnh. Nó không phải là một phần cưa tên lệnh. Sau đây là một vài nhiệm
vụ có thể hoàn thành bằng cách sử dụng các lênh AT kết hợp với sử dụng một modem
GSM/GPRS hay một điện thoại di động:
 Lấy thông tin cơ bản về điện thoại di động hay modem GSM/GPRS. Ví dụ như
tên của nhà sản xuất (AT+CGMI), số model (AT+CGMM), số IMEI
(International Mobile Equipment Identity) (AT+CGSN) và phiên bản phần mềm
(AT+CGMR).
10

 Lấy các thông tin cơ bản về những người kí tên dưới đây. Thí dụ, MSISDN
(AT+CNUM) và số IMS (International Mobile Subscriber Identity) (AT+CIMI).
 Lấy thông tin trạng thái hiện tại của điện thoại di động hay modem GSM/GPRS.
Ví dụ như trạng thái hoạt động của điện thoại (AT+CPAS), trạng thái đăng kí
mạng mobile (AT+CREG), chiều dài sóng radio (AT+CSQ), mức sạc pin và
trạng thái sạc pin (AT+CBC).
 Thiết lập một kết nối dữ liệu hay kết nối voice tới một remote điều khiển (ATD,
ATA, )
 Gửi và nhận fax (ATD, ATA,AT+F*)
 Gửi (AT+CMGS, AT+CMSS), đọc (AT+CMGR, AT+CMGL), viết
(AT+CMGW) hay xóa tin nhắn SMS (AT+CMGD) và nhận các thông báo của

các tin nhắn SMS nhận được mới nhất (AT+CNMI).
 Đọc (AT+CPBR), viết (AT+CPBW) hay tìm kiếm (AT+CPBF) cá mục về danh
bạ điện thoại (phonebook).
 Thực thi các nhiệm vụ liên quan tới an toàn, chẳng hạn như mở hay đóng các
khóa chức năng (AT+CLCK), kiểm tra xem một chức năng được khóa hay chưa
(AT+CLCK) và thay đổi password (AT+CPWD).
 Điều khiển hoạt động của các mã kết quả/các thông báo lỗi của các lệnh AT. Ví
dụ, bạn có thể điều khiển cho phép hay không cho phép kích hoạt hiển thị thông
báo lỗi (AT+CMEE) và các thông báo lỗi nên được hiển thị theo dạng số hay
theo dạng dòng chữ (AT+CMEE=1 hay AT+CMEE=2).
 Thiết lập hay thay đổi cấu hình của điện thoại di dộng hay modem GSM/GPRS.
Ví dụ, thay đổi mạng GSM (AT+COPS), loại dịch vụ của bộ truyền tin
(AT+CBST), các thông số protocol liên kết với radio (AT+CRLP), địa chỉ trung
tâm SMS (AT+CSCA) và khu vực lưu trữ các tin nhắn SMS (AT+CPMS).
 Lưu và phục hồi các cấu hình của điện thoại di động hay modem GSM/GPRS.
Ví dụ, lưu (AT+COPS) và phục hồi (AT+CRES) các thiết lập liên quan tới tin
nhắn SMS chẳng hạn như địa chỉ trung tâm tin nhắn SMS.

11

2.3. Modul sim 900B
Được thiết kế phục vụ thị trường toàn cầu, SIM900B đáp ứng tiêu chuẩn bốn
băng tần GPS/GPRS, nó làm việc ở những tần số GSM 850MHz, EGSM 900MHz,
DCS 1800MHz. SIM900B hỗ trợ chuẩn GPRS multi-slot class10/class8.
SIM900B có cấu trúc nhỏ, thông số các chiều là 40x33x3mm, nên nó có thể
được sử dụng trong hầu hết các thiết bị như M2M, smart phone, PDA, FWP và các
thiết bị di động. SIM990B có 60 chân connector phục vụ giao tiếp giữa module và bo
mạch và một anten RF. Ngoài ra, SIM900 còn có các ưu điểm sau:
 Serial port và debug port giúp người sử dụng có thể dễ dàng phát triển
các ứng dụng.

 SIM900 bao gồm hai kênh audio, hai đường mic và hai đường loa.
 Bàn phím và hiển thị SPI giúp người dùng có thể phát triển ứng dụng
một cách dễ dàng.
SIM900 tích hợp chuẩn TCP/IP protocol và sử dụng tập lệnh AT rất thích hợp
cho các ứng dụng truyền dữ liệu.

2.4. Chuẩn giao tiếp RS232
Vấn đề giao tiếp giữa PC va vi điều khiển rất quan trọng trong các ứng dụng
điều khiển, đo lường Ghép nối qua cổng nối tiếp RS232 là một trong những kỹ thuật
được sử dụng rộng rãi để ghép nối các thiết bị ngoại vi với máy tính. Nó là một chuẩn
giao tiếp nối tiếp dung định dạng không đồng bộ, kết nối nhiều nhất là 2 thiết bị, chiều
dài kết nối lớn nhất cho phép để đảm bảo dữ liệu là 12.5 đến 25.4m, tốc độ 20kbit/s đôi
khi là tốc độ 115kbit/s với một số thiết bị đặc biệt.
Ý nghĩa của chuẩn truyền thông nối tiếp nghĩa là trong một thời điểm chỉ có một
bit được gửi đi dọc theo đường truyền.
Có hai phiên bản RS232 được lưu hành trong thời gian tương đối dài là RS232B
và RS232C. Nhưng cho đến nay thi phiên bản RS232B cũ thi ít được dùng con
RS232C hiện vẫn được dùng và tồn tại thường được gọi là tên ngắn gọn là chuẩn
RS232.
Các máy tính thường có 1 hoặc 2 cổng nối tiếp theo chuẩn RS232C được gọi là
cổng Com. Chúng được dùng ghép nối cho chuột, modem, thiết bị đo lường Trên
12

main máy tính có loại 9 chân hoặc lại 25 chân tùy vào đời máy và main của máy tính.
Việc thiết kế giao tiếp với cổng RS232 cũng tương đối dễ dàng, đặc biệt khi chọn chế
độ hoạt động là không đồng bộ va tốc độ truyền dữ liệu thấp.
2.4.1. Ưu điểm của giao diện nối tiếp RS232:
 Khả năng chống nhiễu của các cổng nối tiếp cao.
 Thiết bị ngoại vi có thể tháo lắp ngay cả khi máy tính đang được cấp điện.
 Các mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua công nối tiếp.

2.4.2. Những đặc điểm cần lưu ý trong chuẩn RS232
 Trong chuẩn RS232 có mức giới hạn trên va dưới (logic 0 va 1) la +-12V. Hiện
nay đang được cố định trở kháng tải trong phạm vi từ 3000 ôm - 7000 ôm.
 Mức logic 1 có điện áp nằm trong khoảng -3V đến -12V, mức logic 0 từ +-3V
đến 12V.
 Tốc độ truyền nhận dữ liệu cực đại là 100kbps ( ngay nay có thể lớn hơn)
 Các lối vao phải có điện dung nhỏ hơn 2500pF.
 Trở kháng tải phải lớn hơn 3000 ôm nhưng phải nhỏ hơn 7000 ôm.
 Độ dài của cáp nối giữa máy tính và thiết bị ngoại vi ghép nối qua cổng nối tiếp
RS232 không vượt quá 15m nếu chúng ta không sử model.
 Các giá trị tốc độ truyền dữ liệu chuẩn : 50, 75, 110, 750, 300, 600, 1200, 2400,
4800, 9600, 19200, 28800, 38400 56600, 115200 bps.
2.4.3. Các mức điện áp đường truyền
RS 232 sử dụng phương thức truyền thông không đối xứng, tức la sử dụng tín
hiệu điện áp chênh lệch giữa một dây dẫn và đất. Do đó ngay từ đầu tiên ra đời nó đã
mang vẻ lỗi thời của chuẩn TTL, nó vẫn sử dụng các mức điện áp tương thích TTL để
mô tả các mức logic 0 va 1. Ngoài mức điện áp tiêu chuẩn cũng cố định các giá trị trở
kháng tải được đấu vào bus của bộ phận và các trở kháng ra của bộ phát.
Mức điện áp của tieu chuẩn RS232C được mô tả như sau:
 Mức logic 0 : +3V , +12V
 Mức logic 1 : -12V, -3V
2.4.4.Quá trinh truyền dữ liệu
Truyền dữ liệu qua cổng nối tiếp RS232 được thực hiện không đồng bộ. Do vậy nên
tại một thời điểm chỉ có một bit được truyền (1 kí tự). Bộ truyền gửi một bit bắt đầu
(bit start) để thông báo cho bộ nhận biết một kí tự sẽ được gửi đến trong lần truyền bit
tiếp theo . Bit này luôn bắt đầu bằng mức 0 Tiếp theo đó là các bit dữ liệu (bits data)
13

được gửi dưới dạng mã ASCII( có thể là 5,6,7 hay 8 bit dữ liệu) Sau đó là một Parity
bit ( Kiểm tra bit chẵn, lẻ hay không) và cuối cùng là bit dừng - bit stop có thể la 1, 1,5

hay 2 bit dừng.
2.4.5. Tốc độ Baud
Đây là một tham số đặc trưng của RS232. Tham số nay chính là đặc trưng cho
quá trình truyền dữ liệu qua cổng nối tiếp RS232 là tốc độ truyền nhận dữ liệu hay con
gọi là tốc độ bit. Tốc độ bit được định nghĩa la số bit truyền được trong thời gian 1 giây
hay số bit truyền được trong thời gian 1 giây. Tốc độ bit nay phải được thiết lập ở bên
phát và bên nhận đều phải có tốc độ như nhau ( Tốc độ giữa vi điều khiển va máy tính
phải chung nhau 1 tốc độ truyền bit)
Ngoài tốc độ bit còn một tham số để mô tả tốc độ truyền là tốc độ Baud. Tốc độ
Baud liên quan đến tốc độ mà phần tử mã hóa dữ liệu được sử dụng để diễn tả bit được
truyền còn tốc độ bit thi phản ánh tốc độ thực tế mà các bit được truyền.Vì một phần tử
báo hiệu sự mã hóa một bit nên khi đó hai tốc độ bit và tốc độ baud là phải đồng nhất
2.4.6. Bit chẵn lẻ hay Parity bit
Đây là bit kiểm tra lỗi tren đường truyền. Thực chất của quá trình kiểm tra lỗi
khi truyền dữ liệu là bổ xung thêm dữ liệu được truyền để tìm ra hoặc sửa một số lỗi
trong quá trinh truyền . Do đó trong chuẩn RS232 sử dụng một kỹ thuật kiểm tra chẵn
lẻ.

2.5. Cấu trúc của 1 tin nhắn SMS
Một tin nhắn SMS được gửi đi thực chất là 1 dãy byte chứa nhiều thông tin bao
gồm: Ngày tháng gửi tin, số điện thoại gửi tin, số điện thoại nhận tin, số điện thoại tổng
đài nhắn tin và nội dung tin nhắn. Riêng phâng nội dung tin nhắn có độ dài 140 byte và
thường được mã hóa thành 7 bit hoặc 16 bit cho mỗi ký tự.

2.6. Giới thiệu về J2ME
2.6.1. Lịch sử
J2ME được phát triển từ kiến trúc Java Card, Embeded Java và Personal Java
của phiên bản Java 1.1. Đến sự ra đời của Java 2 thì Sun quyết định thay thế Personal
Java và đươc gọi với tên mới là Java 2 Micro Edition, hay viết tắt là J2ME. Đúng với
tên gọi, J2ME là nền tảng cho các thiết bị có tính chất nhỏ, gọn như:

14

 Các lọai thẻ cá nhân như Java Card
 Máy điện thoại di động
 Máy PDA (Personal Digital Assistant - thiết bị trợ giúp cá nhân)
 Các hộp điều khiển dành cho tivi, thiết bị giải trí gia dụng …
2.6.2. Kiến trúc của J2ME

Hình 2.2: Sơ đồ kiến trúc J2ME
Định nghĩa về Configuration (Cấu hình): là đặc tả định nghĩa một môi trường
phần mềm cho một dòng các thiết bị được phân loại bởi tập hợp các đặc tính, ví dụ
như:
 Kiểu và số lượng bộ nhớ
 Kiểu và tốc độ bộ vi xử lý
 Kiểu mạng kết nối
Do đây là đặc tả nên các nhà sản xuất thiết bị như Samsung, Nokia …bắt buộc
phải thực thi đầy đủ các đặc tả do Sun qui định để các lập trình viên có thể dựa vào môi
trường lập trình nhất quán và thông qua sự nhất quán này, các ứng dụng được tạo ra có
thể mang tính độc lập thiết bị cao nhất có thể. Ví dụ như một lập trình viên viết chương
trình game cho điện thoại Samsung thì có thể sửa đổi chương trình của mình một cách
tối thiểu nhất để có thể chạy trên điện thọai Nokia

15

Hiện nay Sun đã đưa ra 2 dạng Configuration:
 CLDC (Connected Limited Device Configuration-Cấu hình thiết bị kết nối giới
hạn): được thiết kế để nhắm vào thị trường các thiết bị cấp thấp (low-end), các
thiết bị này thông thường là máy điện thọai di động và PDA với khoảng 512
KB bộ nhớ. Vì tài nguyên bộ nhớ hạn chế nên CLDC được gắn với Java không
dây (Java Wireless ), dạng như cho phép người sử dụng mua và tải về các ứng

dụng Java, ví dụ như là Midlet.
 CDC- Connected Device Configuration (Cấu hình thiết bị kết nối): CDC được
đưa ra nhắm đến các thiết bị có tính năng mạnh hơn dòng thiết bị thuộc CLDC
nhưng vẫn yếu hơn các hệ thống máy để bàn sử dụng J2SE. Những thiết bị này
có nhiều bộ nhớ hơn (thông thường là trên 2Mb) và có bộ xử lý mạnh hơn. Các
sản phẩm này có thể kể đến như các máy PDA cấp cao, điện thoại web, các
thiết bị gia dụng trong gia đình …
Cả 2 dạng Cấu hình kể trên đều chứa máy ảo Java (Java Virtual Machine) và tập
hợp các lớp (class) Java cơ bản để cung cấp một môi trường cho các ứng dụng J2ME.
Tuy nhiên, phải chú ý rằng đối với các thiết bị cấp thấp, do hạn chế về tài nguyên như
bộ nhớ và bộ xử lý nên không thể yêu cầu máy ảo hổ trợ tất cả các tính năng như với
máy ảo của J2SE, ví dụ, các thiết bị thuộc CLDC không có phần cứng yêu cầu các
phép tính toán dấu phẩy động, nên máy ảo thuộc CLDC không được yêu cầu hỗ trợ
kiểu float và double.

Hình 2.3: So sánh các thông số kỹ thuật của CDC và CLDC
Định nghĩa về Profile: Profile mở rộng Configuration bằng cách thêm vào các
class để bổ trợ các tính năng cho từng thiết bị chuyên biệt. Cả 2 Configuration đều có
những profile liên quan và từ những profile này có thể dùng các class lẫn nhau. Đến
đây ta có thể nhận thấy do mỗi profile định nghĩa một tập hợp các class khác nhau, nên
thường ta không thể chuyển một ứng dụng Java viết cho một profile này và chạy trên
một máy hỗ trợ một profile khác. Cũng với lý do đó, bạn không thể lấy một ứng dụng
16

viết trên J2SE hay J2EE và chạy trên các máy hỗ trợ J2ME. Sau đây là các profile tiêu
biểu:
 Mobile Information Device Profile (MIDP): profile này sẽ bổ sung các tính
năng như hỗ trợ kết nối, các thành phần hỗ trợ giao diện người dùng … vào
CLDC. Profile này được thiết kế chủ yếu để nhắm vào điện thọai di động với
đặc tính là màn hình hiển thị hạn chế, dung lượng chứa có hạn. Do đó MIDP sẽ

cung cấp một giao diện người dùng đơn giản và các tính năng mạng đơn giản
dựa trên HTTP. Có thể nói MIDP là profile nổi tiếng nhất bởi vì nó là kiến thức
cơ bản cho lập trình Java trên các máy di động (Wireless Java).
 PDA Profile: tương tự MIDP, nhưng với thị trường là các máy PDA với màn
hình và bộ nhớ lớn hơn.
 Foundation Profile: cho phép mở rộng các tính năng của CDC với phần lớn các
thư viện của bộ Core Java2 1.3.
2.6.3.Giới thiệu MIDP
A. Định nghĩa:
Đây là Profile được định nghĩa dành riêng cho các thiết bị di động và là thành
phần chính trong J2ME. MIDP cung cấp các chức năng cơ bản cho hầu hết các dòng
thiêt bị di động phổ biến nhất như các máy điện thoại di động và các máy PDA. Tuy
nhiên MIDP được thiết kế cho các máy di động có cấu hình rất thấp. Các tính năng mà
MIDP cung cấp và những giới hạn của nó.
B. Những chức năng MIDP không thực hiện được:
 Phép tính dấu phẩy động (floating point): Phép tính này đòi hỏi rất nhiều tài
nguyên CPU và phần lớn các CPU cho các thiết bị di động không hỗ trợ phép
tính này, do đó MIDP cũng không có.
 Bộ nạp class (Class Loader).
 Hỗ trợ từ khóa finalize() như trong J2SE: Việc “dọn dẹp“ tài nguyên trước khi
nó bị xóa được đẩy về phía các lập trình viên.
 Không hỗ trợ JNI.
 Hỗ trợ hạn chế thao tác bắt lỗi.
 Phần lớn các thư viện API cho Swing và AWT không thể sử dụng được trong
MIDP.
 Không hỗ trợ các tính năng quản lý file và thư mục: Đây có thể làm bạn ngạc
nhiên nhưng thực tế là các thiết bị J2ME không có hỗ trợ các thiết bị lưu trữ
17

thông thường như ổ cứng v.v. Tuy nhiên, điều đó không có nghĩa là bạn phải

mất đi mọi dữ liệu quan trọng mỗi khi tắt máy, Sun đã cung cấp một chức năng
khác tương đương gọi là Record Management system (RMS) để cung cấp khả
năng lưu trữ cho các thiết bị này.
C. Những chức năng MIDP cung cấp
 Các lớp và kiểu dữ liệu: Phần lớn các lớp mà các lập trình viên Java quen thuộc
vẫn còn được giữ lại ví dụ như các lớp trong gói java.util như Stack, Vector và
Hastable cũng như Enumeration.
 Hỗ trợ đối tượng Display: Đúng như tên gọi một chương trình MIDP sẽ hỗ trợ
duy nhất một đối tượng Display là đối tượng quản lý việc hiển thị dữ liệu trên
màn hình điện thoại.
 Hỗ trợ Form và các giao diện người dùng.
 Hỗ trợ Timer và Alert.
 Cung cấp tính năng Record Management System (RMS) cho việc lưu trữ dữ liệu
Ngoài ra vào tháng 11 năm 2003 Sun đã tung ra MIDP 2.0 với hàng loạt tính
năng khác được cung cấp thêm so với bản 1.0. Những cải tiến nổi bật so với MIDP 1.0
Nâng cấp các tính năng bảo mật như:
 Download qua mạng an toàn hơn qua việc hỗ trợ giao thức HTTPS.
 Kiểm soát việc kết nối giữa máy di động và server: ví dụ như các chương trình
không thể kết nối tới server nếu thiếu sự chấp thuận của người sử dụng.
 Thêm các API hỗ trợ Multimedia. Một trong nhưng cải tiến hấp dẫn nhất của
MIDP 2.0 là tập các API media của nó. Các API này là một tập con chỉ hỗ trợ
âm thanh của Mobile Media API (MMAPI).
 Mở rộng các tính năng của Form. Nhiều cải tiến đã được đưa vào API
javax.microedition.lcdui trong MIDP 2.0, nhưng các thay đổi lớn nhất (ngoài
API cho game) là trong Form và Item.
 Hỗ trợ kiểu ảnh RGB: một trong những cải tiến hấp dẫn cho các nhà phát triển
MIDP là việc biểu diễn hình ảnh dưới dạng các mảng số nguyên, cho phép
MIDlet thao tác với dữ liệu hình ảnh một cách trực tiếp.

18


2.7. Các công cụ sử dụng
2.7.1. CCS C
CCS là trình biên dịch lập trình ngôn ngữ C cho vi điều khiển Pic của hãng
Microchip. Chương trình là sự tích hợp của 3 trình biên dịch riêng biệt cho 3 dòng PIC
khác nhay đó là:
 PCB cho dòng PIC 12-bit opcodes.
 PCM cho dòng PIC 14-bit opcodes.
 PCh cho dòng PIC 16 và 18 bit.
Tất cả 3 trình biên dịch này được tích hợp lại trong một chương trình bao gồm
cả trình soạn thảo và biên dịch là CCS.
Giống như nhiều trình biên dịch C khác cho PIC, CCS giúp người sử dụng nắm
bắt nhanh được vi điều khiển PIC và sử dụng PIC trong các dự án. Các chương trình
điều khiển sẽ được thực hiện nhanh chóng và đạt hiệu quả cao thông qua việc sử dụng
ngôn ngữ lập trình cấp cao – Ngôn ngữ C.

2.7.2. Proteus 7.2
Phần mềm Proteus là phần mềm cho phép mô phỏng hoạt động của mạch điện
tử bao gồm phần thiết kế mạch và viết chương trình điều khiển cho các họ vi điều
khiển như MCS-51, PIC, AVR, … Proteus là phần mềm mô phỏng mạch điện tử của
Lancenter Electronics, mô phỏng cho hầu hết các linh kiện điện tử thông dụng, đặc biệt
hỗ trợ cho cả các MCU như PIC, 8051, AVR, Motorola.
Phần mềm bao gồm 2 chương trình: ISIS cho phép mô phỏng mạch và ARES
dùng để vẽ mạch in. Proteus là công cụ mô phỏng cho các loại Vi Điều Khiển khá tốt,
nó hỗ trợ các dòng VĐK PIC, 8051, PIC, dsPIC, AVR, HC11, MSP430,
ARM7/LPC2000, các giao tiếp I2C, SPI, CAN, USB, Ethenet, ngoài ra còn mô
phỏng các mạch số, mạch tương tự một cách hiệu quả.

2.7.3. Altium
Phần mềm thiết kế mạch tự động Altium Designer là một môi trường thiết kế

điện tử đồng nhất, tích hợp cả thiết kế nguyên lý, thiết kế mạch in PCB, thiết kế vi điều
khiển và FPGA.

19

Các đặc trưng cơ bản:
 Giao diện thiết kế, quản lý và chỉnh sửa thân thiện, dễ dàng biên dịch, quản lý
file, quản lý phiên bản cho các tài liệu thiết kế.
 Hỗ trợ mạnh mẽ cho việc thiết kế tự động, đi dây tự động theo thuật toán tối ưu,
phân tích lắp ráp linh kiện. Hỗ trợ việc tìm các giải pháp thiết kế hoặc chỉnh sửa
mạch, linh kiện, netlist có sẵn từ trước theo các tham số mới.
 Mở, xem và in các file thiết kế mạch dễ dàng với đầy đủ các thông tin linh kiện,
netlist, dữ liệu bản vẽ, kích thước, số lượng…
 Hệ thống các thư viện linh kiện phong phú, chi tiết và hoàn chỉnh bao gồm tất cả
các linh kiện nhúng, số, tương tự
 Đặt và sửa đối tượng trên các lớp cơ khí, định nghĩa các luật thiết kế, tùy chỉnh
các lớp mạch in, chuyển từ schematic sang PCB, đặt vị trí linh kiện trên PCB.
 Mô phỏng mạch PCB 3D, đem lại hình ảnh mạch điện trung thực trong không
gian 3 chiều, hỗ trợ MCAD-ECAD, liên kết trực tiếp với mô hình STEP, kiểm
tra khoảng cách cách điện, cấu hình cho cả 2D và 3D.
 Hỗ trợ thiết kế PCB sang FPGA và ngược lại.
 Kết hợp với các board mạch cứng như NB2, NB3000 thành một phòng thí
nghiệm hoàn chỉnh và đầy đủ giúp người thiết kế rút ngắn thời gian từ thiết kế
đến các sản phẩm thực tế.

2.7.4. Netbeans IDE
NetBean IDE là một “môi trường phát triển tích hợp“ (Integrated Development
Environment) kiểu như Visual Studio của Microsoft và được xem là một một bộ ứng
dụng "must-download" dành cho các nhà phát triển phần mềm.
NetBean IDE hỗ trợ nhiều hệ điều hành khác nhau như Windows, Mac, Linux,

và Solaris. NetBean bao gồm một IDE mã nguồn mở và một nền tảng ứng dụng cho
phép nhà phát triển nhanh chóng tạo nên các ứng dụng dành cho web, doanh nghiệp,
desktop và thiết bị di động bằng các ngôn ngữ lập trình Java, C/C++, JavaScript, Ruby,
Groovy, và PHP.
NetBeans IDE 7.1.1 cung cấp nhiều tính năng mới như shortcut tìm kiếm trong
toàn bộ IDE gọi là QuickSearch, giao diện thận thiện hơn với người dùng, và tính năng
tự động biên dịch khi lưu (Compile on Save). Ngoài việc hỗ trợ Java mọi phiên bản
(Java SE, Java EE, Java ME), NetBean IDE còn là công cụ lý tưởng cho việc phát triển
phần mềm bằng các ngôn ngữ PHP, C/C++, Groovy and Grails, Ruby and Rails, Ajax
and JavaScript.
20

2.7.5. Java ME SDK
Bộ Java ME SDK là một công cụ được cải tiến rất nhiều. Nó dựa trên bộ khung
Netbeans mạnh giúp cho nó dễ dàng được mở rộng và chuyển đổi hơn trước. Nó kết
hợp tất cả các nền tảng Java ME chính yếu (điện thoại di động, smart phone và Blu-
ray) vào trong một công cụ duy nhất. Giả lập Java ME bây giờ chính xác hơn nhiều với
máy ảo phoneME được sử dụng trên hàng triệu thiết bị hiện nay. Bộ thư viện phổ biến
Lightweight UI Toolkit (LWUIT) bây giờ được tính hợp sẵn trong Java ME SDK như
là một tùy chọn cộng thêm giúp phát triển giao diện thêm phong phú.

Kết luận chương
Chúng tôi đã trình bày những khái niệm quan trọng nhất cũng như những phần
cứng, phần mềm và công nghệ sử dụng trong đồ án này. Phần tiếp theo xin đi vào chi
tiết thiết kế và triển khai hệ thống điều khiển thiết bị điện trong nhà thông qua SMS.
21

Chương 3:
THIẾT KẾ HỆ THỐNG


Giới thiệu chương
Trong chương này chúng tôi xin trình bày về các yêu cầu của hệ thống cũng như
thiết kế phần cứng cũng như phần mềm của hệ thống.

3.1. Phân tích yêu cầu hệ thống
3.1.1. Yêu cầu chức năng
Hệ thống cần thỏa mãn các yêu cầu chức năng như sau:
 Có thể nhận và gửi tin nhắn thông qua các nhà mạng GSM của Việt Nam.
 Có khả năng thực hiện lệnh bật, tắt các thiết bị điện trong nhà khi có yêu cầu
qua tin nhắn SMS.
 Có thể gửi báo cáo cho người dùng về trạng thái của thiết bị cũng như các thông
số cần theo dõi như nhiệt độ, … tùy điều kiện sử dụng (option).
 Có giao diện người dùng đơn giản (chỉ thông báo các trạng thái của hệ thống).
 Có tính năng bảo mật (không phải bất cứ thiết bị nào gửi SMS đến cũng điều
khiển được, tin nhắn cũng cần có cấu trúc xác định,…).
3.1.2. Yêu cầu phi chức năng
Các yêu cầu phi chức năng của hệ thống cần thỏa mãn như:
 Hoạt động bền bỉ, ổn định vì thiết bị đầu cuối thường xuyên bật (gần như sẽ bật
24/7).
 Tiết kiệm năng lượng cũng như tiết kiệm chi phí sử dụng (chi phí cho SMS).
 Hiển thị thông báo đơn giản dễ hiểu cho người dùng cuối.
 Dễ dàng lắp đặt, sử dụng (như dùng chuẩn sim phổ biến có thể dễ dàng mua
ngoài thị trường).
Qua phân tích các yêu cầu chức năng và phi chức năng của hệ thống chúng tôi
đã tiến hành họp bàn và phân tích các giải pháp cuối cùng đi đến kết luận và đưa ra
phương án thiết kế hệ thống như phần sau.
22

3.2. Thiết kế phần cứng
3.2.1. Phân tích và lựa chọn giải pháp

Để thỏa mãn các yêu cầu hệ thống trình bày ở trên thì hệ thống phần cứng cần ít
nhất 2 thành phần, 1 là thành phần gửi và nhận tin nhắn và 1 là thành phần xử lý các
lệnh của người dùng. Sau đâu chúng tôi xin trình bày các phương án thiết kế cho từng
modul trên.
A. Phương án cho modul gửi và nhận tin nhắn
Để tiến hành nhận và gửi tin nhắn thông qua nhà mạng GSM của Việt Nam thì
thiết bị dùng gửi nhận tin nhắn phải hoạt động ở băng tần GSM 900MHz và có tính
năng gửi/nhận tin nhắn SMS. Theo tình hình thị trường hiện tại thì có thể sử dụng điện
thoại di động hoặc các modul GSM chuyên dụng cho thiết bị nhận và gửi tin nhắn.
 Phương án sử dụng điện thoại di động:
Để có thế kết nối dễ dàng với thiết bị điều khiển sử dụng vi điều khiển hoặc PC
thì điện thoại di động được chọn phải có khả năng giao tiếp với vi điều khiển (PC)
thông qua các giao tiếp phổ biến hiện nay như I
2
C, SPI, CAN, RS232, USB, …(sử
dụng giao tiếp phổ biến giúp dễ dàng trong triển khai cũng như phát triển sau này).
Theo tìm hiểu thị trường hiện nay cũng như cấu tạo của các điện thoại di động
phổ biến thì chỉ có 2 tín hiệu Rx, Tx được xuất ra từ các điện thoại di động. Đây là
chuẩn giao tiếp RS232 phổ biến.
Tuy nhiên chúng tôi gặp phải 1 vấn đề đó là chỉ có các điện thoại đời cổ mới hỗ
trợ các chân tín hiệu Rx, Tx. Ví dụ như các máy Ericsson T10, T28; Siemens C50,
C51; Nokia 6210; … Còn các điện thoại đời mới thì không có bất cứ giao tiếp nào phổ
biến cũng như dễ dàng trong điều khiển. Vì thế để làm đồ án này cần tìm mua cho
được các điện thoại trên. Nhưng qua tham khảo thị trường thì các điện thoại trên tuy có
giá khá rẻ (chỉ khoảng 200.000 VNĐ) tuy nhiên lại rất khó để mua được điện thoại còn
dùng tốt (chúng tôi đã tìm kiếm nhưng không mua được). Do đó chúng tôi quyết định
không sử dụng phương án thiết kế này.

 Phương án sử dụng modul GSM:
Trên thị trường có bán sẵn các loại Modul GSM sử dụng 2 hoặc 4 băng tần

GSM và có thể dễ dàng sử dụng sim điện thoại thông thường. Đây là phương án
chuyên nghiệp, mạnh trong các ứng dụng điều khiển do dễ dàng khai thác nhiều tính
năng với tập lệnh AT phổ biến. Các modul sim loại này cũng sử dụng chuẩn giao tiếp
23

RS232 dễ dàng trong việc kết nối với hệ thống điều khiển do đây là chuẩn giao tiếp
phổ biến và lâu đời.
Nhược điểm của modul sim loại này so với mua những loại điện thoại cổ là giá
thành cao hơn, vào khoảng 500.000 VNĐ. Tuy nhiên các loại modul sim này thường
kém với connector có thể dễ dàng tháo ra và tái sử dụng trong các đồ án tiếp theo.
Qua khảo sát các loại modul sim bán trên thị trường và đối chiếu các thông tin
trên trang chủ của nhà sản xuất hay xem thêm trong datasheet nhóm quyết định sử
dụng modul sim 900B do các đặc điểm của modul sim loại này như:
 Là loại modul sim thế hệ mới thay thế cho sim 300 đã cũ.
 Giá thành hợp lý: Chúng tôi mua với giá 450.000 VNĐ, khá rẻ so với
mặt bằng chung.
 Có sẵn mạch phối hợp trở kháng cho anten: Thiết kế mạch phối hợp trở
kháng này khá khó, nhất là khi các thành viên trong nhóm đều chưa học
qua cũng như không có kiến thức về các kỹ thuật siêu cao tần nên đây là
1 lợi thế lớn.
 Có sẵn mạch bảo vệ cho Simcard. Thực ra thiết kế mạch bảo vệ cho Sim
card loại 6 pin phổ biến không quá khó (dùng 5 diode và vài điện trở) tuy
nhiên có sẵn mạch phía trên modul sim cũng tiện dụng hơn, đồng thời tiết
kiệm được không gian của board mạch.

B. Phương án cho hệ thống điều khiển:
Để điều khiển hệ thống này cần có 1 trung tâm điều khiển có tác dụng đọc và
giải mã các lệnh gửi tới modul sim thông qua tin nhắn sau đó thực hiện các lệnh tương
ứng hay thực hiện các lệnh theo từng hoàn cảnh cụ thể (như báo cháy từ xa hay báo cáo
trạng thái của thiết bị). Để điều khiển modul sim 900B đã lựa chọn thì thiết bị điều

khiển cần có giao tiếp RS232.
Trung tâm điều khiển này có thể là PC hoặc 1 loại vi điều khiển nào đó. Phương
án sử dụng PC tuy nhiều ưu điểm như mạnh mẽ nên dễ dàng phát triển các thuật toán
bảo mật, dễ dàng sử dụng với giao diện thân thiện. Tuy nhiên nếu sử dụng PC sẽ có bất
tiện là máy tính sẽ phải bật suốt ngày để điều khiển thiết bị gây tốn năng lượng cũng
như hao phí thiết bị lơn. Phương án này chỉ phù hợp với việc điều khiển các hệ thống
lớn ví dụ như trong công nghiệp. Nhóm không hướng tới giải pháp này.
Phương án sử dụng vi điều khiển có giao tiếp RS232 có nhiều ưu điểm như giá
thành rẻ nếu so với đầu tư 1 máy PC. Lắp đặt nhỏ gọn, dễ dàng điều khiển trực tiếp các
24

thiết bị bằng các I/O pin của vi điều khiển, có thể mắc thêm những sensor cơ bản như
nhiệt độ,… để báo cáo nếu muốn, năng lượng tiêu thụ ít, hoạt động bền bỉ (bình thường
thì chỉ cần cho vi điều khiển sleep, khi có tín hiệu tin nhắn tới thì mới wake up nên
không cần hoạt động cường độ cao).
Nhược điểm của giải pháp này so với PC là sức mạnh xử lý thấp và giao diện sử
dụng khó. Tuy nhiên việc giải mã tin nhắn, đưa ra lệnh on/off các thiết bị hay mã hóa
tin nhắn để bảo mật ở mức độ vừa phải không cần phải sức mạnh quá lớn. Thiết bị điều
khiển dùng trong các hộ gia đình thì thông thường chỉ cần bật lên ở đó chứ không cần
phải thiết lập hay gioa tiếp gì nhiều nên cũng không cần thiết.
Như vậy chúng tôi quyết định sử dụng vi điều khiển trong đồ án này. Trong các
loại vi điều khiển hiện nay chúng tôi quyết định sử dụng vi điều khiển PIC của hãng
Microchip, cụ thể là PIC18F2550. Lý do là trong kỳ này nhóm có học 1 môn nữa là
môn vi xử lý và môn đó sử dụng PIC. Do đó các thành viên trong nhóm đều có kiến
thức về vi điều khiển họ này cũng như dùng lại được các modul đã thiết kế trong môn
kia nhằn tiết kiệm chi phí.
Ngoài ra, chúng tôi quyết định thiết kế hệ thống theo các modul với hình thức
giao tiếp giữa các modul là board to board do phương án này có các ưu điểm như:
 Dễ dàng kế thừa và phát triển hệ thống.
 Nếu gặp lỗi sai sẽ chỉ phải đặt lại 1 board chứ không phải đặt lại toàn bộ.

 Thiết kế board to board dễ dàng kết nối cũng như hạn chế nhiễu do kết
nối các modul.
3.2.2. Thiết kế

Hình 3.1: Sơ đồ liên kết các modul của hệ thống

25

Hệ thống thiết kế bao gồm các modul sau:
 Main board: Bo mạch chủ. Mục đích là kết nối các thành phần khác nhau của hệ
thống; hệ thống led báo hiệu thiết bị nào đang được bật và tắt; mở rộng thêm I/O
cho việc phát triển điều khiển nhiều thiết bị hơn; giao tiếp ICSP nạp chip; IC
đệm dòng lên 100mA để điều khiển relay.
 Buffer: Bộ đệm tín hiệu giữa modul sim và vi điều khiển do mức điện áp của 2
thiết bị này khác nhau.
 Modul sim: Board mạch để cắm modul sim 900B.
 LCD: Đơn giản là LCD 1602 mua ngoài thị trường cắm trực tiếp vào main
board.
 Microprocessor: Vi điều khiển PIC18F2550 trên 1 board khác với thạch anh,
các tụ lọc và giao tiếp USB.
 Power Suply: Bộ nguồn cung cấp năng lượng cho main board và modul sim.
Các thành phần còn lại lấy nguồn trực tiếp từ main board.
Sau đây chúng tôi sẽ trình bày chi tiết hơn về thiết kế của từng modul
A. Main Board:
Bo mạch chính bao gồm:
 Các connector để kết nối với PIC18F2550; kết nối với bộ đệm; kết nối với bộ
nạp chuẩn ICSP; kết nối với cổng mở rộng I/O pins; kết nối với LCD; kết nối
với các relay điều khiển các thiết bị.
 Hệ thống LED báo hiệu thiết bị nào bật hay tắt.
 IC đệm dòng lên 100mA dùng cho hệ thống relay điều khiển thiết bị ngoại vi.

 IC dịch 74HC595 dùng cho hiển thị LED thạng thái và dịch bit ra connector
xuất tín hiệu cho các I/O pins mở rộng.
 Switch để lựa chọn giữa chế độ nạp và chế độ sử dụng LCD do vi điểu khiển có
số chân hạn chế.
 Biến trở điều chỉnh độ phân giải của LCD.

B. Buffer:
Bộ đệm tín hiệu giữa PIC và modul sim. Do PIC dùng điện áp 5V còn modul
sim dùng điện áp 2.8V. Để dễ dàng tái sử dụng nhóm quyết định sử sụng IC đệm 3
trạng thái với 4 đường tín hiệu (do nhóm chỉ sử dụng 4 tín hiệu handsheck Rx, Tx,
DTR, RTS). Hơn nữa bộ đệm dùng 74HC125 còn có thể đệm cho các mức điện áp
khác ngoài 5V (tùy thuộc điện áp chuẩn cung cấp) nên dễ dàng sử dụng lại.

×