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

51
1 LỜI NÓI ĐẦU Trong thi kcông nghip 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 bit là trong quá trình sn xut các phân xưởng nhà máy cũng như trong lĩnh vực phc vđời sng của con người. Áp dng các kiến thức đã được học trong lĩnh vực điện t(vlý thuyết điều khin, kthut vi xlý và các môn hc vlập trình) cũng như sự giúp đỡ, hướng dn ca thy giáo chúng em quyết định chọn đề tài : Điu khin các thiết btrong nhà qua SMS. Sau thi gian mt hc k(20112) triển khai làm đề tài này nhóm sinh viên chúng em đã được mrng và hiu biết thêm cách thiết kế chế to mt thiết bđiện tphc vđời sng và làm quen vi nhiu công cphc vcho ngành điện tử. Cũng qua đề tài này nhóm cũng nhận ra và bsung được nhiu kinh nghim, kiến thc quý báu mà chkhi thc sbt tay vào làm nhóm mi có thcó đượ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 thc hiện đề tài môn hc Project1, chúng em cgng thiết kế sao cho hthống đơn giản, ổn đinh và dễ sdng nht, tuy nhiên do vấn đề thi gian và kinh nghim ca nhóm còn hn chế nên hthống chưa hoàn hảo. Chúng em rt mong được sđóng góp của thy giáo và các bạn đề sn phm ca 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 thc hiện đề tài : Nhóm 1 Lp KSTN-ĐTVT-K54 Trn Xuân Bách Hoàng Việt Cường Đỗ Trung Đức (TL) Nguyn Trung Quân Nguyn Duy Toán

Upload: thuy-dao

Post on 12-Aug-2015

181 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Điều khiển các thiết bị trong nhà qua SMS

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

Page 2: Điều khiển các thiết bị trong nhà qua SMS

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

Page 3: Điều khiển các thiết bị trong nhà qua SMS

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

Page 4: Điều khiển các thiết bị trong nhà qua SMS

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.

Page 5: Điều khiển các thiết bị trong nhà qua SMS

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

Page 6: Điều khiển các thiết bị trong nhà qua SMS

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.

Page 7: Điều khiển các thiết bị trong nhà qua SMS

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:

Page 8: Điều khiển các thiết bị trong nhà qua SMS

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

Page 9: Điều khiển các thiết bị trong nhà qua SMS

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).

Page 10: Điều khiển các thiết bị trong nhà qua SMS

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.

Page 11: Điều khiển các thiết bị trong nhà qua 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

Page 12: Điều khiển các thiết bị trong nhà qua SMS

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)

Page 13: Điều khiển các thiết bị trong nhà qua SMS

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ư:

Page 14: Điều khiển các thiết bị trong nhà qua SMS

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..

Page 15: Điều khiển các thiết bị trong nhà qua SMS

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

Page 16: Điều khiển các thiết bị trong nhà qua SMS

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ữ

Page 17: Điều khiển các thiết bị trong nhà qua SMS

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.

Page 18: Điều khiển các thiết bị trong nhà qua SMS

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.

Page 19: Điều khiển các thiết bị trong nhà qua SMS

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.

Page 20: Điều khiển các thiết bị trong nhà qua SMS

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.

Page 21: Điều khiển các thiết bị trong nhà 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.

Page 22: Điều khiển các thiết bị trong nhà qua SMS

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ư I2C, 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

Page 23: Điều khiển các thiết bị trong nhà qua SMS

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

Page 24: Điều khiển các thiết bị trong nhà qua SMS

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

Page 25: Điều khiển các thiết bị trong nhà qua SMS

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.

Page 26: Điều khiển các thiết bị trong nhà qua SMS

26

Hình 3.2: Sơ đồ nguyên lý bộ đệm sử dụng 74HC125

C. Modul sim:

Board mạch để connect với modul sim 900B, trên board bao gồm:

Connector: Để kết nối với modul sim 900B.

Các connector xuất tín hiệu theo chuẩn RS232; connector phục vụ cho

việc debug.

Pin back up dùng cho Real time clock của modul sim 900B.

LED trạng thái báo hiệu trạng thái hoạt động của modul sim 900B.

Hình 3.3: Sơ đồ nguyên lý modul sim 900B

Page 27: Điều khiển các thiết bị trong nhà qua SMS

27

D. LCD:

Đơn giản là LCD 16x2 mua ngoài thị trường cắm trên bo mạch chính. LCD

dùng để debug và thiết lập thông số, bình thường hoạt động nên tháo ra để tiết kiệm

năng lượng.

E. Microprocessor:

Vi điều khiển PIC18F2550 cùng với USB connector, thạch anh được sử dụng

trong modul này. Mục đích là dễ dàng tái sử dụng vi điều khiển này trong các đồ án

khác.

Hình 3.4: Sơ đồ chân modul vi điều khiển PIC18F2550

F. Power Suply

Nguồn cung cấp sử dụng 2 IC LM2596.

LM2596 là bộ nguồn xung cấp dòng ra tối đa 3A, nguồn cấp đầu vào trong dải

7-37V. Mạch nguồn chúng tôi thiết kế sao cho có thể điều chỉnh điện áp ra có thể tùy

chọn 5V, 4V, 3V và tinh chỉnh điện áp ra để dùng cho các trường hợp khác nhau.

Hình 3.5: Sơ đồ nguyên lý bộ nguồn

Page 28: Điều khiển các thiết bị trong nhà qua SMS

28

3.3. Thiết kế phần mềm cho vi điều khiển

3.3.1. Lựa chọn giải pháp

Modul sim 900B có thể sử dụng cả tin nhắn dạng text và dạng binary. Qua phân

tích 2 dạng tin nhắn này nhóm quyết định lựa chọn sử dụng dạng tin nhắn nhị phân do

các đặc điểm như:

Dễ dàng mã hóa cấu trúc tin nhắn theo ý muốn. Từ đó dễ dàng triển khai các

biện pháp mã hóa làm tăng tính bảo mật của hệ thống.

Dung lượng byte phải xử lý thấp nên phù hợp với các vi điều khiển có bộ nhớ

nhỏ, từ đó có thể hạ giá thành sản phẩm.

Tuy nhiên để gửi tin nhắn dạng này thì không thể dùng các ứng dụng nhắn tin

thông thường trên điện thoại di động được mà phải xây dựng riêng một ứng dụng gửi

tin nhắn dạng nhị phân. Đây có thể coi là 1 điểm yếu, tuy nhiên theo thiết kế ban đầu

của nhóm thì không thể thiếu phần mềm trên điện thoại. Do đó đây không còn là điểm

yếu của phương án này nữa mà còn giống như một lớp của vấn đề bảo mật (tính bảo

mật cao hơn so với sử dụng tin nhắn dạng text thông thường).

Phần mềm trên điện thoại nhóm lựa chọn viết bằng Java để có thể dễ dàng chạy

trên các điện thoại phổ thông hỗ trợ Java. Lựa chọn này giúp sản phẩm có thể đến được

với nhiều người dùng hơn. Để phát triển trong tương lai có thể chuyển mã nguồn sang

viết cho các nền tảng khác.

Để debug trên máy tính nhóm quyết định sử dụng driver viết bằng cổng COM ảo

chứ không sử dụng giao tiếp USB của PIC18F2550, tuy nhiên vẫn cắm bằng cáp USB.

Lý do cho dự lựa chọn này là việc viết driver bằng cổng COM ảo dễ dàng hơn nhiều so

với viết cho giao tiếp USB mà khi dùng để debug thì hiệu quả hoàn toàn tương đương.

Page 29: Điều khiển các thiết bị trong nhà qua SMS

29

3.3.2. Thiết kế firmware

Hình 3.6.:Sơ đồ cấu trúc firmware của PIC18F2550.

A. Cấu trúc và các tiến trình của firmware

Trong đồ án này, nhóm đã cấu hình Module SIM900B được giao tiếp UART ở tốc

độ 9.6 kbps, cấu hình chế độ giao tiếp text mode (CMGF = 1), định dạng kí tự đạng

hexa (mỗi byte dữ liệu gửi về sẽ được mã hóa bằng hai kí tự biểu điện dưới hệ cơ số

16) (CSCS=”HEX”).

Page 30: Điều khiển các thiết bị trong nhà qua SMS

30

Các tiến trình của hệ thống được mô tả chi tiết như sau:

Khởi động hệ thống:

Gửi tín hiệu bật tới module SIM900B (PWRKEY).

Chờ tín hiệu “RDY” module SIM đã bật và đường UART đã hoạt động.

Chờ tín hiệu “Call Ready” module SIM đã kết nối mạng thành công.

Chờ nhận tin nhắn:

Khi có tin nhắn mới thì SIM sẽ truyền chuỗi:

+CMTI: <mem3>, <index>

<mem3> là bộ nhớ lưu trữ.

<index> là chỉ số tin nhắn lưu trong bộ nhớ.

Vi điều khiển sẽ đợi đến khi nhận được chuỗi này để thực hiện các tiến trình

tương ứng.

Gửi lệnh đọc tin nhắn:

AT+CMGR=<index>

Hồi đáp module SIM.

+CMGR: <stat>,<oa>,<scts>

<data>

OK

<stat> trạng thái tin nhắn (REC UNREAD, REC READ, STO UNSENT,

STO SEND, ALL)

<oa> địa chỉ gửi.

<scts> thời gian gửi từ service.

<data> nội dung tin nhắn.

Thực hiện giải mả lệnh từ nội dung tin nhắn và thự hiện lệnh:

Phương pháp mã hóa lệnh được mô tả cụ thể trong phần tiếp theo của báo cáo.

Page 31: Điều khiển các thiết bị trong nhà qua SMS

31

Gửi lệnh xóa tin nhắn:

Module SIM900B chỉ có 40 slot để lưu tin nhắn vì vậy sau khi tin nhắn đã được

đọc ta sẽ thực hiện xóa tin nhắn để tránh bộ nhớ bị đầy sẽ không nhận được tin nhắn

mới.

AT+CMGD=<index>,<delflags>

<delflags>

0 xóa tin nhắn có vị trí lưu là <index> (mặc định)

1 xóa toàn bộ tin nhắn đã đọc (để lại các tin nhắn chưa đọc).

2 xóa toàn bộ tin nhắn đã đọc và tín nhắn đã gửi (để lại các

tin nhắn chưa đọc và các tin nhắn chưa gửi).

3 xóa toàn bộ tin nhắn đã đọc, tin nhắn đã gửi và chưa gửi, để

lại các tin nhắn chưa đọc.

4 xóa tất cả các tin nhắn lưu trữ.

Sau khi xóa tin nhắn hệ thống sẽ quay về trạng thái chờ nhận tin nhắn mới gửi

đến.

Lệnh gửi một tin nhắn:

AT+CMGS=<da><CR>

<data><ctrl-Z/ESC>

<da> địa chỉ nhận

<Ctrl-Z> (SUB có mã 0x1A) để gửi tin nhắn.

<ESC> (ESC có mã 0x1B) để hủy việc gửi tin nhắn.

Hồi đáp hệ thống:

Nếu gửi thành công:

+CMGS: <mr>

OK

Page 32: Điều khiển các thiết bị trong nhà qua SMS

32

Nếu có lỗi xảy ra:

+CMS ERROR: <err>

B. Cấu trúc lệnh của hệ thống

Nhóm đã tiến hành mã hóa lệnh của hệ thống thành từng byte với cấu trúc sau

nhằm tiện lợi trong quá trình xử lý.

Lệnh thay đổi trạng thái thiết bị của hệ thống:

Gồm có 3 byte: cmd[0] = 0x3A (‘:’)

//Tiền tố chỉ ra là lệnh đặt trạng thái.

Onflags = cmd[1]

//chỉ ra vị trí các cổng thiết bị được bật tương ứng với trọng

//số của bit đó.

Offflags = cmd[2]

//chỉ ra vị trí các cổng thiết bị sẽ được tắt tướng ứng với

//trọng số của bit đó.

Trạng thái các thiết bị sau khi thực hiện lệnh:

State |= Onflags;

State &= (~Offflags);

Lệnh xem trạng thái các cổng thiết bị hiện tại:

Là tin nhắn có nội dung bắt đầu bằng byte 0x3F (ký tự ‘?’).

Hệ thống sẽ gửi lại tin nhắn có nội dung với 3 byte là:

0x3F, 0x3D, <State>

Trong đó State là các bit trạng thái hiện tại của hệ thống với quy ước “0” là thiết

bị ở vị trí bit tương ứng đang tắt, “1” là thiết bị đang bật.

Page 33: Điều khiển các thiết bị trong nhà qua SMS

33

3.4. Thiết kế phần mềm trên điện thoại

3.4.1. Yêu cầu của hệ thống

Điều khiển thiết bị điện

Tắt/bật thiết bị Báo cáo tình trạng Cài đặt Trợ giúp

Tắt/bật thiết

bị

Báo cáo tình

trạng hiện tại

Cài đặt thiết

bị

Cài đặt địa

chỉ SMS

Cài đặt

pasword

Hướng dẫn

Thông tin về

ứng dụng

Hình 3.7: Sơ đồ chức năng phần mềm trên điện thoại.

Ngoài các yêu cầu chức năng trên phần mềm còn cần các yêu cầu phi chức năng

như: Hoạt động ổn định, giao diện thân thiện dễ sử dụng, không vi phạm bản quyền, ...

Page 34: Điều khiển các thiết bị trong nhà qua SMS

34

3.4.2. Thiết kế hệ thống

Người dùng Thiết bị

Bật/tắt thiết bị

Báo cáo tình trạng

Cài đặt

Trợ giúp

CSDL

Hình 3.8: Sơ đồ DFD mức đỉnh của phần mềm trên điện thoại

Các tiến trình của hệ thống được mô tả cụ thể như sau:

Bật/ tắt thiết bị:

Giao diện bật tắt thiết bị gồm 8 device có thể lựa chọn giữa on/off để bật và tắt

thiết bị cũng như unchange để giữ nguyên trạng thái của thiết bị. Tin nhắn gửi đi sẽ

được mã hóa thành 3 byte với quy định được trình bày ở phần trên.

Báo cáo:

Trong giao diện bật tắt thiết bị nhóm bổ sung thêm 1 nút chức năng là gửi yêu

cầu báo cáo. Phần mềm sẽ gửi 1 tin nhắn yêu cầu báo cáo tới thiết bị, nếu yêu cầu đúng

chuẩn thì sẽ có tin nhắn phản hồi từ modul sim trả về. Nếu tin nhắn phản hồi đúng

chuẩn thì trạng thái của thiết bị được thể hiện ngay trên màn hình. Chuẩn của tin nhắn

được nêu ở phần trên.

Cài đặt:

Phần mềm cho phép cài đặt số điện thoại của modul sim (thiết bị đặt tại nhà).

Cài đặt sẽ được lưu trong cơ sở dữ liệu của phần mềm. ngoài ra còn cho phép cài đặt

Page 35: Điều khiển các thiết bị trong nhà qua SMS

35

password để gửi kèm trong tin nhắn giúp tăng tính bảo mật. Tuy nhiên tính năng mã

hóa và nhận diện mật khẩu của nhóm chưa được xây dựng.

Quản lý thiết bị:

Cho phép đổi tên các thiết bị quản lý. Thông tin này được lưu trong cơ sở dữ

liệu.

Trợ giúp:

Thông tin hướng dẫn sử dụng và thông tin của nhóm sinh viên.

Giao diện của phần mềm và hướng dẫn sử dụng được nêu trong chương 4: Kết quả đạt

được và kinh nghiệm.

Kết luận chương

Trong chương này chúng tôi đã trình bày các yêu cầu hệ thống, đề xuất và lựa

chọn giải pháp cũng như thiết kế của toàn bộ các thành phần của hệ thống. Nhóm đã

bám sát các điểm trình bày trong chương này khi triển khai hệ thống và thu được kết

quả khả quan.

Page 36: Điều khiển các thiết bị trong nhà qua SMS

36

Chương 4:

KẾT QUẢ ĐẠT ĐƯỢC VÀ KINH NGHIỆM

4.1. Kết quả đạt được

Đã hoàn thành sản phẩm là 1 mạch điện dùng để điều khiển được 8 thiết bị cắm

ngoài và 1 phần mềm chạy trên điện thoại di dộng để điều khiển 8 cổng của mạch. Hệ

thống sau khi hoàn thành đã thực hiện được các chức năng yêu cầu ban dầu như: có

phần mềm chạy trên điện thoại để nhắn tin điều khiển mạch điện, mạch điện có chức

năng điều khiển các cổng ra để nối với các relay điều khiển thiết bị ngoài (dòng ra có

thể đưa lên 100mA), có các đèn LED để báo hiệu trạng thái hiện tại của các cổng, có

cổng giao tiếp USB với máy tính, có thêm chức năng hiển thị LCD thông báo trạng

thái.

Hình 4.1: Thiết bị nhận và giải mã tín hiệu

Page 37: Điều khiển các thiết bị trong nhà qua SMS

37

Sau khi hoàn thành nhóm đã tiến hành test thử sản phẩm và thu được kết quả

tốt: mạch điện chạy ổn định, không có hiện tượng nóng sau 2 ngày kể cả khi tần suất

các lệnh điều khiển cao. Phần mềm chạy tốt trên điện thoại cho giao diện đẹp và dễ

dàng sử dụng.

Hình 4.2: Giao diện phần mềm

Page 38: Điều khiển các thiết bị trong nhà qua SMS

38

Hình 4.3: Giao diện phần mềm

Page 39: Điều khiển các thiết bị trong nhà qua SMS

39

Hình 4.4: Demo bật 2 đèn số 5 và 8

Page 40: Điều khiển các thiết bị trong nhà qua SMS

40

Hình 4.5: Demo bật 4 đèn 1,3,5,8.

4.2. Kinh nghiệm rút ra

Khi làm hệ thống nhóm đã rút ra được nhiều kinh nghiệm về thiết kế hệ thống

điện tử (chủ yếu về làm mạch điện) và kỹ năng làm việc theo nhóm của các thành viên

cũng tốt hơn nhiều.

Kinh nghiệm trong khi thiết kế:

Thiết kế hệ thống theo kiểu modun để test và sửa mạch dễ dàng hơn

Khi vẽ layout chú ý đến cách sắp xếp các modun để tiết kiệm kinh phí

khi dặt mạch và quan hơn là có thể ghép nối chúng mạch điện cuối cùng

gọn gàng không phải câu dây giữa các modun.

Trước khi vẽ layout phải mua trước thiết bị vì một số linh kiện thực tế

mua ngoài thị trường khác biệt chút ít so với các thông tin trên mạng và

datasheet.

Page 41: Điều khiển các thiết bị trong nhà qua SMS

41

Kinh nghiệm khi đi đặt mạch:

Nên đi đặt mạch vào đầu tuần để có thể lấy mạch nhanh, mạch được làm

tốt, quy củ hơn.

Nên gọi điện hỏi về mạch của mình có thể được lấy trước hẹn.

Kinh nghiệm khi đi mua và đặt hàn các linh kiện nhỏ (modun sim):

Nên phân tích các yêu cầu chức năng và thiết kế để chọn được các thiết

bị tương thích.

Trước khi đi mua thiết bị nên tham khảo kỹ các nơi bán hàng có giá cả

hợp lý mà có thêm các dịch vụ đi kèm tốt (bảo hành và hỗ trợ kỹ thuật

sau bán hàng).

Trước khi nhận thiết bị nên kiểm tra xem các thông số và phiên bản thiết

bị có đúng không (nhóm đã đặt luôn cửa hàng bán modun sim hàn thiết

bị này vào mạch vì thiết bị này có khá nhiều chân và rất nhỏ nên nhóm

không tự hàn được).

Kinh nghiệm khi viết code:

Chú ý các tiền xử lý nếu không việc add code sẽ không được.

Nên chú thích rõ ràng trong các hàm và mỗi file.

Cần chú ý đến khả năng thực hiện lệnh và xử lý dữ liệu của VXL.

Chú ý cân bằng giữa Ram và Rom, cẩn thận out Rom vì bộ nhớ của VXL

khá nhỏ.

Kinh nghiệm làm việc theo nhóm:

Trong quá trình làm việc theo nhóm, ngay khi được phân nhóm và công

việc thì cần tiến hành họp nhóm để bàn bạc tìm hiểu công việc cần thực

hiện để có thể phân chia công việc hợp lý. Nhóm trưởng cần phải là

người đủ uy tín để chỉ huy cả nhóm thực hiện công việc, biết tạo áp lực

lên các thành viên để đảm bảo công việc thực hiện nhanh, đúng tiến độ.

Page 42: Điều khiển các thiết bị trong nhà qua SMS

42

Trong mỗi giai đoạn cần phải phân chia công việc hợp lý, mỗi thành viên

cần có ý thức thực hiện công việc được giao.

Page 43: Điều khiển các thiết bị trong nhà qua SMS

43

Chương 5:

KẾT LUẬN

5.1. Những điểm còn hạn chế

Mặc dù các yêu cầu cơ bản của hệ thống đã được giải quyết, nhưng sau khi chạy

thử và nghiệm thu nhóm chúng tôi thấy sản phẩm vẫn còn một số thiếu sót, hạn chế

như sau:

Về phần cứng:

Thiết kế mạch điện tuy đã thành khối vuông vắn nhưng việc lắp ghép vẫn chưa

dễ dàng, vẫn còn 1 khối mạch đệm của modun sim và modun PIC vẫn bị ngược

khi layout dẫn đến khối này bị quay ngược xuống dẫn đến mạch chưa đẹp và

làm cho hệ thống bị kênh.

Trong khi thiết kế cổng giao tiếp USB vẫn quay vào trong dẫn đến khi giao tiếp

với máy tính phải tháo vỏ hộp ra hoặc phải có thêm dây nối USB ra ngoài. Lý

do cho việc quay vào trong này do cạnh của main board nhóm sử dụng để xuất tí

hiệu ra đã quá chật chội nên phải tính phương án quay sang hướng khác.

Thiết kế các chân nạp cho PIC khi layout bị ngược dây với thông thường. Tuy

nhiên nhóm đá quay ngược lại connector dùng cho nạp PIC nên không có vấn

đề gì xáy ra

Tuy đã thiết kế các lỗ khoan để làm cố định cho thiết bị nhưng một vài chỗ vẫn

còn chưa chắc chắn và chưa thiết kế được anten ẩn bên trong thiết bị mà vẫn để

lộ ra ngoài. Từ đó cần thiết kế vị trí gằn anten vào cỏ hộp nếu sản phẩm được

thương mại hóa.

Về phần mềm:

Phần mềm tuy đã thực hiện được chức năng thông báo, điều khiển cơ bản nhưng

vẫn chưa thực hiện tốt khả năng bảo mật.

Phần mềm này đòi hỏi máy điện thoại phải có thể cài đựt các ứng dụng Java.

Page 44: Điều khiển các thiết bị trong nhà qua SMS

44

Các chức năng nâng cao của phần mềm vẫn chưa được xử lý được như: chức

năng truy cập lịch sử chưa tốt, chưa có yêu cầu xử lý phức tạp như tự động cập

nhập trạng thái trước khi dùng và phần mềm sử dụng tin nhắn SMS nên tốn kinh

phí khi kiểm tra nhiều lần.

Khả năng bảo mật của phần mềm tuy có nhưng còn chưa thực sự mạnh.

5.2. Hướng phát triển của đề tài

Để hệ thống này có thể thương mại hóa thì yêu cầu phải có thêm nhiều yếu tố

nhưng trong góc độ kỹ thuật, chúng tôi xin đề xuất một vài hướng như sau:

Bảo mật cho hệ thống là yêu cầu quan trọng nhất (hiện tại nhóm chỉ bảo

mật bằng số điện thoại và mã hóa các byte để nhận dạng khi nhắn tin nên

chưa thể đáp ứng được yêu cầu của một hệ thống thương mại).

Phần cứng của hệ thống cần có các thiết kế lại để gọn gàng và dễ sử dụng

hơn như: các lỗi về mạch cần được thực hiện lại, có thể thêm các nút bấm

để thay đổi các thông số cơ bản (các số điện thoại cho phép điều khiển,

mật mã để điều khiển do người dùng tự đặt) thay cho việc cài đặt trên

máy tính.

Nghiên cứu thêm phiên bản dùng GPRS hoặc qua mạng internet hữu

tuyến (ADSL) để điều khiển hệ thống để tiết kiệm.

Thêm các phiên bản phần mềm điều khiển cho nhiều nền tảng điện thoại

khác nhau như Windows phone, Android, iOS, …

5.3. Kết luận

Nhóm đã đạt được các mục tiêu ban đầu mà thầy giáo đề ra, và làm ra được

phiên bản chạy thử nghiệm ổn định an toàn.

Trong quá trình làm việc đã giúp nhóm rút ra được nhiều kinh nghiệm quý báu

và giúp các thành viên trao dồi thêm nhiều kiến thức, kỹ năng cần thiết cho học tập và

làm việc sau này.

Page 45: Điều khiển các thiết bị trong nhà qua SMS

45

DANH MỤC TỪ VIẾT TẮT

AT Attention

ATD (Dial) / ATA (Answer) / ATH (Hool control) / ATO (return to online data

state)

CAN Controller Area Network

CPU Central Processing Unit

COM Component object model

CLDC Connected Limited Device Configuration

CDC Connected Device Configuration

DFD Data Flow Diagram

DCS Digital selective calling

EGSM Extension Global System for Mobile Communications

FPGA Field-programmable gate array

GSM Global System for Mobile Communications

GPRS General Packet Radio Service

HTTPS Hypertext Transfer Protocol Secure

I/O Input/Output

IC Intergrated circuit

ICSP In-circuit serial programming

LCD Liquid crystal display

LED Lighting Emitor Diode

MIDP Mobile Information Device Profile

PC Personal Computer

Page 46: Điều khiển các thiết bị trong nhà qua SMS

46

PIC Peripheral Interface Controller

PLL Phase-locked loop

PDA Personal digital assistant

RMS Record Management system

SMS Short Message Service

SIM Subscriber Identity Module

USB Universal Serial Bus

I2C Inter-Intergarated Circuit

RS-232 Recommended Standard 232

SPI Serial Peripheral Interface

Page 47: Điều khiển các thiết bị trong nhà qua SMS

47

TÀI LIỆU THAM KHẢO

[1] SimCom, Sim 900B hardware design, version 2.0, 2011.

[2] SimCom, Sim 900B AT Command Manual, version 1.05, 2011.

[3] Microchip Technology Inc, PIC 18F2455/2550/4455/4550 Datasheet,2011.

[4] http://www.developer.nokia.com/Resources/Library/, last acessting 2012/05/15.

[5] http://docs.oracle.com/javame/mobile/mobile.html, last acessting 2012/05/15.

Page 48: Điều khiển các thiết bị trong nhà qua SMS

48

PHỤ LỤC 1

Sơ đồ nguyên lý toàn bộ hệ thống

Hình p.1: Sơ đồ nguyên lý bộ đệm.

Page 49: Điều khiển các thiết bị trong nhà qua SMS

49

Hình p.2: Sơ đồ nguyên lý modul sim 900B.

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

Page 50: Điều khiển các thiết bị trong nhà qua SMS

50

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

Page 51: Điều khiển các thiết bị trong nhà qua SMS

51

Hình p.5: Sơ đồ nguyên lý main board.