You are on page 1of 86

ĐẠI HỌC QUỐC GIA TP.

HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN VIỄN THÔNG
---------------o0o---------------

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

ĐIỀU KHIỂN THIẾT BỊ QUA MẠNG INTERNET

GVHD: PGS.TS Hồ Văn Khương


SVTH: Nguyễn Phước Hiện
MSSV: 41104450

TP. HỒ CHÍ MINH, THÁNG 12 NĂM 2017


MỤC LỤC

LỜI CẢM ƠN ........................................................................................................................................1

TÓM TẮT LUẬN VĂN .......................................................................................................................2

Chương 1. GIỚI THIỆU ĐỀ TÀI .................................................................................................3

1.1. Đặt vấn đề ......................................................................................................3

1.2. Yêu cầu luận văn ...........................................................................................3

1.3. Nội dung tìm hiểu ..........................................................................................4

1.4. Kết quả cần đạt ..............................................................................................4

Chương 2. TỔNG QUAN VỀ INTERNET VÀ TCP/IP .........................................................5

2.1. Mạng Internet ................................................................................................5

2.1.1. Khái niệm mạng Internet ....................................................................................5

2.1.2. Cấu trúc internet.....................................................................................................5

2.1.3. Giao thức của mạng Internet - giao thức IP .................................................6

2.1.4. Mô hình OSI ............................................................................................................8

2.1.4.1. Tầng vật lý (Physical)......................................................................................9

2.1.4.2. Tầng liên kết dữ liệu (Data Link) ............................................................. 10

2.1.4.3. Tầng mạng (Network) .................................................................................. 10

2.1.4.4. Tầng giao vận (Transport) .......................................................................... 10

2.1.4.5. Tầng phiên (Session) .................................................................................... 10

2.1.4.6. Tầng trình diễn (Presentation) ................................................................... 10

2.1.4.7. Tầng ứng dụng (Application) .................................................................... 11

2.2. Bộ giao thức TCP/IP....................................................................................11

2.2.1. Tổng quan.............................................................................................................. 11


2.2.1.1. Tầng liên kết .................................................................................................... 12

2.2.1.2. Tầng internet .................................................................................................... 12

2.2.1.3. Tầng giao vận .................................................................................................. 12

2.2.1.4. Tầng ứng dụng ................................................................................................ 13

2.2.2. So sánh TCP/IP với OSI .................................................................................. 13

2.2.3. Giao thức trong mô hình TCP/IP .................................................................. 14

2.2.3.1. Internet Protocol – IP.................................................................................... 14

2.2.3.2. Transmission Control Protocol - TCP .................................................... 15

2.2.3.3. User Datagram Protocol - UDP ................................................................ 17

2.2.3.4. Internet control message protocol – ICMP ........................................... 18

2.2.3.5. Giao thức phân giải địa chỉ - ARP ........................................................... 19

2.2.3.6. Giao thức phân giải địa chỉ - RARP ........................................................ 20

Chương 3. TỔNG QUAN VỀ MẠNG ZIGBEE ...................................................................... 21

3.1. Giới thiệu về các giao thức truyền thông không dây...................................21

3.1.1. Personal area network (PAN)......................................................................... 21

3.1.2. Local area network (LAN) .............................................................................. 21

3.1.3. Metropolitan area network (MAN) .............................................................. 22

3.1.4. Wide area network (WAN) ............................................................................. 22

3.2. Giao thức Zigbee .........................................................................................23

3.2.1. Giới thiệu ............................................................................................................... 23

3.2.2. Chuẩn truyền thông không dây IEEE 802.15.4 ....................................... 23

3.2.3. Cấu trúc của giao thức Zigbee ....................................................................... 24

3.2.4. Thành phần mạng Zigbee ................................................................................ 25

3.2.5. Mô hình mạng Zigbee ....................................................................................... 26


3.2.5.1. Mạng mắt lưới (mesh) .................................................................................. 27

3.2.5.2. Mạng hình sao (star) ..................................................................................... 27

3.2.5.3. Mạng hình cây (cluster tree) ...................................................................... 28

3.3. Mô hình giao thức của Zigbee/IEEE 802.15.4 ............................................28

3.3.1. Tầng vật lý ............................................................................................................ 29

3.3.2. Tầng điều khiển dữ liệu .................................................................................... 29

3.3.3. Tầng mạng ............................................................................................................ 30

3.3.4. Tầng ứng dụng ..................................................................................................... 30

Chương 4. CƠ SỞ DỮ LIỆU MYSQL VÀ RESTFUL WEB SERVICE ........................... 32

4.1. Cơ sở dữ liệu MySQL .................................................................................32

4.1.1. Giới thiệu ............................................................................................................... 32

4.1.2. Tiến trình kết nối ODBC ................................................................................. 32

4.1.3. Kết hợp PHP và MySQL ................................................................................. 33

4.1.4. Định danh và phân quyền ................................................................................ 35

4.1.4.1. Định danh.......................................................................................................... 35

4.1.4.2. Phân quyền trong MySQL ......................................................................... 35

4.1.5. Cơ sở dữ liệu phpMyAdmin ........................................................................... 36

Giao diện phpMyAdmin ................................................................................................. 36

4.2. RESTful web sevice ....................................................................................40

4.2.1. Giới thiệu ............................................................................................................... 40

4.2.2. Quy tắc cơ bản để cài đặt RESTful web service ..................................... 40

4.2.2.1. Sử dụng các phương thức HTTP một cách rõ ràng ....................... 40

4.2.2.2. Phi trạng thái.................................................................................................... 42

4.2.2.3. Cấu trúc thư mục URI .................................................................................. 42


4.2.2.4. Chuyển đổi XML, JSON hoặc cả hai...................................................... 42

Chương 5. THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG ......................................................... 44

5.1. Yêu cầu thiết kế ...........................................................................................44

5.2. Phương hướng thiết kế ................................................................................44

5.3. Các module sử dụng ....................................................................................45

5.3.1. Module wifi ESP8266 ....................................................................................... 45

5.3.1.1. Tổng quan ......................................................................................................... 45

5.3.1.2. Cấu hình thiết bị ............................................................................................. 47

5.3.2. Module DRF1605H ........................................................................................... 50

5.3.2.1. Tổng quan ......................................................................................................... 50

5.3.2.2. Cấu hình thiết bị ............................................................................................. 51

5.4. Thiết kế mạch điều khiẻn ............................................................................55

5.4.1. Sơ đồ mạch tổng quát........................................................................................ 55

5.4.2. Sơ đồ mạch nguồn .............................................................................................. 56

5.4.3. Sơ đồ kết nối vi xử lý ........................................................................................ 57

5.4.4. Sơ đồ chân nạp, thạch anh và reset cho pic ............................................... 59

5.4.5. Sơ đồ mạch điều khiển relay .......................................................................... 60

5.4.6. Khối ESP8266 ..................................................................................................... 60

5.4.7. Khối Zigbee DRF1605H .................................................................................. 61

5.5. Mạch in ........................................................................................................62

Chương 6. THIẾT KẾ VÀ THI CÔNG PHẦN MỀM ........................................................... 63

6.1. Yêu cầu thiết kế ...........................................................................................63

6.2. Phương pháp thực hiện ................................................................................63

6.3. Sơ đồ giải thuật ............................................................................................64


6.3.1. Mạch điều khiển Coordinator......................................................................... 64

6.3.2. Mạch điều khiển Router ................................................................................... 65

6.3.3. Các hàm sử dụng PHP lấy dữ liệu cho mạch điều khiển ...................... 66

Chương 7. KẾT QUẢ THỰC TẾ ............................................................................................... 67

7.1. Phần cứng ....................................................................................................67

7.2. Phần mềm ....................................................................................................68

7.3. Ứng dụng vào thiết bị thực tế ......................................................................69

7.4. Quy trình hoạt động .....................................................................................70

7.5. Nội dung đã đạt được ..................................................................................72

7.6. Nội dung chưa đạt được ..............................................................................73

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN .................................................................................... 74

TÀI LIỆU THAM KHẢO................................................................................................................. 75


DANH MỤC HÌNH VẼ

Hình 2.1-1: Cấu trúc mạng internet ............................................................................5

Hình 2.1-2: Internet dưới góc nhìn của người sử dụng ...............................................6

Hình 2.1-3: Cấu trúc IP datagram ...............................................................................7

Hình 2.1-4: Mô hình OSI ............................................................................................9

Hình 2.2-1: Mô hình TCP/IP .....................................................................................12

Hình 2.2-2: Sự khác nhau giữa TCP/IP với OSI .......................................................13

Hình 2.2-3: cấu trúc gói tin trong giao thức IP .........................................................14

Hình 2.2-4: Cấu trúc gói tin TCP ..............................................................................16

Hình 2.2-5: Qua trình hủy kết nối của TCP. .............................................................17

Hình 2.2-6: cấu trúc gói tin UDP. .............................................................................18

Hình 2.2-7: Hoạt động của ARP. .............................................................................20

Hình 2.2-8: Hoạt động của RARP. ...........................................................................20

Hình 3.1-1: Các nhóm truyền thông không dây. .......................................................21

Hình 3.2-1: Băng tần hệ thống mạng Zigbee. ...........................................................24

Hình 3.2-2: cấu trúc giao thức Zigbee. .....................................................................25

Hình 3.2-3: Cấu trúc liên mạng mạng Zigbee ...........................................................26

Hình 3.2-4: Cấu trúc mạng mắt lưới của Zigbee ......................................................27

Hình 3.2-5: Cấu trúc mạng hình sao của Zigbee.......................................................27

Hình 3.2-6: Cấu trúc mạng hình cây của Zigbee. .....................................................28

Hình 3.3-1: Mô hình giao thức của Zigbee. ..............................................................29

Hình 4.1-1: PHP kết hợp MySQL. ............................................................................34

Hình 4.1-2: Giao diện quản lý của phpMyAdmin ....................................................37

Hình 4.1-3: Thông tin chính của Database Server ....................................................37


Hình 4.1-4: Các mục giao diện quản lý phpMyAdmin. ............................................37

Hình 4.1-5: Mục Browse trong phpMyAdmin.........................................................38

Hình 4.1-6: Mục Structure trong phpMyAdmin .......................................................38

Hình 4.2-1: sử dụng sai phương thức HTTP. ...........................................................41

Hình 4.2-2: sử dụng đúng phương thức HTTP. .......................................................41

Hình 4.2-3: minh họa URI trong RESTul web service ............................................42

Hình 5.3-1: Module ESP8266. ..................................................................................45

Hình 5.3-2: Sơ đồ mạch module ESP826. ................................................................46

Hình 5.3-3: Module Zigbee DRF1605H. ..................................................................50

Hin
̀ h 5.3-4: Các chân của DRF1605H. .....................................................................51
Hin
̀ h 5.4-1: Sơ đồ mạch điều khiển. .........................................................................55
Hin
̀ h 5.4-2: Sơ đồ mạch nguồn. ................................................................................56
Hin
̀ h 5.4-3: Sơ đồ két nối dsPic30F4013 ..................................................................57
Hình 5.4-4: Mạch thạch anh, reset và chân nạp cho Pic. ..........................................59

Hình 5.4-5: Sơ đồ mạch relay. ..................................................................................60

Hình 5.4-6: Sơ đồ mạch ESP8266. ...........................................................................60

Hin
̀ h 5.4-7: Sơ đồ mạch DRF1605H.........................................................................61
Hin
̀ h 5.5-1: Mạch in mạch điều khiển - Router ........................................................62
Hin
̀ h 5.5-2: Mạch in mạch điều khiển - Coordinator ................................................62
Hin
̀ h 6.3-1: Sơ đồ giải thuật mạch điều khiển Coordinator. .....................................64
Hình 6.3-2: Sơ đồ giải thuật mạch điều khiển Router ..............................................65

Hình 6.3-3: Sơ đồ giải thuật cho hàm xử lý dùng Restful. .......................................66

Hình 7.1-1: Mạch điều khiển – Router. ....................................................................67

Hin
̀ h 7.1-2: Mạch điều khiển – Coordinator. ............................................................67
Hình 7.2-1: Giao diện bảo mật ..................................................................................68

Hình 7.2-2: Giao diện quản lý ...................................................................................68

Hin
̀ h 7.3-1: Các relay đang ở trạng thái ngắt ............................................................69
Hin
̀ h 7.3-2: Các relay đang ở trạng thái đóng. ..........................................................69
Hin
̀ h 7.4-1: SQL Server dữ liệu quản lý người dùng. ...............................................70
Hin
̀ h 7.4-2: SQL Server lưu dữ liệu. .........................................................................70
Hình 7.4-3: Thông tin lấy được từ server..................................................................71

Hình 7.4-4: Chế độ truyền transparent data. .............................................................72


DANH MỤC BẢNG

Bảng 2.2-1: Thông điệp của ICMP. ..........................................................................19

Bảng 4.1-1: Bảng định danh trong MySQL. .............................................................35

Bảng 4.1-2: Lệnh thường dùng với phpMySQL. ......................................................39

Bảng 5.3-1: Bảng kết nối ESP8266. .........................................................................47

Bảng 5.3-2: Tập lệnh AT cho ESP8266 ....................................................................49

Bảng 5.3-3: Một số lệnh điều khiển DRF1605H ......................................................54

Bảng 5.4-1: Tính chất điện áp của ic LM2576T. ......................................................56

Bảng 5.4-2: Tính chất điện áp ic ASM1117. ............................................................56

Bảng 5.4-3: Kết nối của vi xử lý Pic .........................................................................58


Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

LỜI CẢM ƠN

Kiến thức rộng lớn muôn màu muôn vẻ, nắm bắt được kiến thức và làm chủ
được công nghệ là một hành trình gian khổ và vất vả. Trên con đường đó không có
sự thành công nào mà không gắn liền với những sự hỗ trợ, giúp đỡ dù ít hay nhiều,
dù trực tiếp hay gián tiếp. Trong suốt quá trình học tập tại trường Đại Học Bách
Khoa TP.HCM, chúng em đã nhận được sự giúp đỡ tận tình của các thầy cô giáo,
điều đó thật đáng quý và trân trọng.

Với lòng biết ơn sâu sắc nhất, em xin gửi lời cảm ơn đến quý thầy cô ở Bộ
Môn Viễn Thông trường Đại Học Bách Khoa TP.HCM và đặc biệt là sự hướng dẫn
và giúp đỡ nhiệt tình của thầy PGS.TS Hồ Văn Khương đã giúp em trong suốt quá
trình thực hiện luận văn này.

Xin chân thành cảm ơn quý thầy cô ở các khoa trong trường Đại Học Bách
Khoa TP.HCM đã tạo nền móng kiến thức cho em.

Xin cảm ơn gia đình đã luôn đặt niềm tin nơi con và động viên con trong suốt
khoảng thời gian học tập tại trường. Cũng xin được cảm ơn các bạn cùng khóa đã
luôn giúp đỡ, sát cánh trong suốt quá trình làm luận văn, những lúc khó khăn cùng
nhau bước qua quãng đời sinh viên tươi đẹp này.

Bài luận văn được nghiên cứu và thực hiện trong hơn 3 tháng và ban đầu em
còn bỡ ngỡ vì vốn kiến thức của em còn hạn. Do vậy, không tránh khỏi những thiếu
sót, em rất mong nhận được ý kiến đóng góp của quý Thầy Cô và các bạn đọc để
bài luận văn của em được hoàn thiện hơn.

Sau cùng, xin gửi lời chúc sức khỏe và lòng tri ân chân thành đến quý thầy cô!

Tp. Hồ Chí Minh, ngày 27 tháng 12 năm 2017 .


Sinh viên

Nguyễn Phước Hiện

1
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

TÓM TẮT LUẬN VĂN

Điều khiển thiết bị qua mạng internet có thể là đề tài cũ nhưng không bao giờ
là mất đi sức hút với mọi người. Với một thiết bị di động (điện thoại, laptop, máy
tính bảng…) chỉ cần có kết nối tới internet, chúng ta có thể điều khiển và quản lý
thông tin các thiết bị điện dù khoảng cách là bao nhiêu cũng không thành vấn đề.
Bản thân em cũng rất thích đề tài này và em đã quyết định lựa chọn đề tài này làm
luận văn tốt nghiệp cho mình.

Để thực hiện đề tài của em là sử dụng một máy chủ dữ liệu trung gian, quản lý
bằng website và thiết bị điều khiển sử dụng vi xử lý pic. Vi xử lý lấy dữ liệu trên
máy chủ về liên tục, đảm bảo tương tác theo thời gian thực giữa người dùng và thiết
bị. Sau khi lấy được dữ liệu, vi xử lý sẽ gửi thông tin đi các mạch điều khiển khác.
Tất cả các thiết bị điều khiển đều sử dụng kết nối không dây.

Sau khi nghiên cứu và thực hiện đề tài, em xin trình bày báo cáo này với các
nội dung chính như sau:

 Phần 1: Cơ sở lý thuyết.
o Chương 2: Tổng quan về Internet và TCP/IP.
o Chương 3: Tổng quan về mạng Zigbee.
o Chương 4: Cơ sở dữ liệu MySQL và RESTful web service.
 Phần 2: Thiết kế và thi công
o Chương 5: Thiết kế và thi công phần cứng.
o Chương 6: Thiết kế và thi công phần mêm.
o Chương 7: Kết quả thực tế.

2
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Chương 1. GIỚI THIỆU ĐỀ TÀI

1.1. Đặt vấn đề

Ngày nay, các thiết bị điện tử và tự động hóa có mặt ở khắp nơi, chúng ta dễ
dàng bắt gặp trong tất cả các lĩnh vực, từ những ứng dụng đặc biệt trong công
nghiệp cho đến những sản phẩm dân dụng. Ban đầu, việc giám sát từ xa thông qua
một hệ thống gồm các phần tử nối với nhau bằng dây dẫn với các chuẩn truyền
thông phổ biến như RS-232, RS-485 và các chuẩn công nghiệp như ProfiBus. Tuy
nhiên, việc mở rộng phạm vi điều khiển (tức số lượng các phần tử) của mô hình này
khá khó khăn và đặc biệt là khoảng cách điều khiển thì rất hạn chế.
Sự ra đời của công nghệ truyền thông với giao thức TCP/IP đã làm thay đổi
hoàn toàn suy nghĩ cũng như phạm vi ứng dụng của thiết bị giám sát từ xa. Mô hình
mạng phổ biến đó là mạng nội bộ LAN (Local Area Network) và mạng diện rộng
WAN (Wide Area Network) gọi chung là mạng Ethernet đã cho phép mở rộng dễ
dàng phạm vi giám sát và quy mô của hệ thống. Không những thế, trong mạng
Ethernet, có thể gắn nhiều thiết bị đầu cuối khác nhau có cùng giao tiếp thông qua
cổng truyền thông ethernet như máy tính, máy in, camera... do đó, việc vận hành và
giám sát trở nên cực kỳ dễ dàng.
Với đề tài “Điều khiển thiết bị qua mạng ineternet” em mong xây dựng các hệ
thống điều khiển, giám sát và điều khiển với khoảng cách không giới hạn.
Hiện nay có rất nhiều phương thức điều khiển từ xa, chẳng hạn như: điều
khiển bằng tia hồng ngoại hay sóng vô tuyến… nhưng các phương pháp này phụ
thuộc khoảng cách, chỉ có tác dụng trong một phạm vi hẹp.
Vì vậy, đề tài này không những là một thực tại khách quan mà nó còn đóng vai
trò đăc biệt quan trọng thực sự ở hiện tại cũng như trong tương lai sau này.
Do đó, việc điều khiển thiết bị qua mạng internet là một nhu cầu hết sức cần
thiết và đây chính là lý do mà em quyết định chọn đề tài này.

1.2. Yêu cầu luận văn

 Điều khiển thiết bị qua mạng internet.

3
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

 Quản lý thiết bị từ website và các thiết bị cầm tay.


 Áp dụng mạng zigbee thành lập hệ thống mạng các thiết bị điều khiển.

1.3. Nội dung tìm hiểu

 Tìm hiểu tổng quát về mạng Internet.


 Tìm hiểu về giao thức kết nối TCP/IP.
 Tìm hiểu về mạng Zigbee.
 Tìm hiểu về ngôn ngữ PHP và Web server.
 Thiết kế mạch điều khiển sử dụng vi xử lý PIC.
 Thiết lập tiếp giữa mạch kết nối wifi, mạch kết nối zigbee với vi xử lý.
 Tạo cơ sở dữ liệu trên máy chủ làm nơi trung gian trao đổi thông tin.
 Thiết kế giao diện quản lý trên trang web.

1.4. Kết quả cần đạt

 Xây dựng được server dữ liệu và website quản lý.


 Các thiết bị điều khiển giao tiếp thành công với server.
 Các thiết bị trong mạng zigbee có thể trao liên lạc với nhau.
 Có thể điều khiển đóng/ngắt các thiết bị khác.

4
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Chương 2. TỔNG QUAN VỀ INTERNET VÀ TCP/IP

2.1. Mạng Internet

2.1.1. Khái niệm mạng Internet

Internet là một hệ thống thông tin toàn cầu có thể được truy nhập công cộng
gồm các mạng máy tính được liên kết với nhau. Hệ thống này truyền thông tin theo
kiểu nối chuyển gói dữ liệu (packet switching) dựa trên một giao thức liên mạng đã
được chuẩn hóa (giao thức IP). Hệ thống này bao gồm hàng ngàn mạng máy tính
nhỏ hơn của các doanh nghiệp, của các viện nghiên cứu và các trường đại học, của
người dùng cá nhân và các chính phủ trên toàn cầu.

2.1.2. Cấu trúc internet

Internet là một liên mạng kết nối các mạng nhỏ hơn với nhau. Như vậy, cấu
trúc Internet gồm các mạng máy tính được kết nối với nhau thông qua các kết nối
viễn thông. Thiết bị dùng để kết nối các mạng máy tính với nhau là cổng nối
Internet (Internet Gateway) hoặc bộ định tuyến (Router).

Hình 2.1-1: Cấu trúc mạng internet

5
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Tuy nhiên, đối với người dùng internet chỉ là một mạng duy nhất.

Hình 2.1-2: Internet dưới góc nhìn của người sử dụng

2.1.3. Giao thức của mạng Internet - giao thức IP

Giao thức mạng là tập hợp các quy tắc và quy ước điều khiển việc trao đổi
thông tin (truyền thông) giữa các hệ thống máy tính.

Trong mạng Internet thì giao thức liên mạng (IP - Internet Protocol) là giao
thức phổ biến và thông dụng nhất hiện nay. Giao thức IP là một giao thức hướng dữ
liệu được sử dụng bởi các máy chủ nguồn và đích để truyền dữ liệu trong một liên
mạng chuyển mạch gói.

Dữ liệu trong một liên mạng IP được gửi theo các khối được gọi là các gói
(packet hoặc datagram). Cụ thể, IP không cần thiết lập các đường truyền trước khi
một máy chủ gửi các gói tin cho một máy khác mà trước đó nó chưa từng liên lạc.

Giao thức IP cung cấp một dịch vụ gửi dữ liệu không đảm bảo (còn gọi là cố
gắng cao nhất), nghĩa là nó hầu như không đảm bảo gì về gói dữ liệu. Gói dữ liệu có
thể đến nơi mà không còn nguyên vẹn, nó có thể đến không theo thứ tự (so với các
gói khác được gửi giữa hai máy nguồn và đích đó), nó có thể bị trùng lặp hoặc bị

6
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

mất hoàn toàn. Nếu một phần mềm ứng dụng cần được bảo đảm, nó có thể được
cung cấp từ nơi khác, thường từ các giao thức giao vận nằm phía trên IP.

Hình 2.1-3: Cấu trúc IP datagram


Trong cấu trúc của IP datagram gồm có:

 Version: Phiên bản của IP đang được sử dụng (IPv4 hoặc IPv6).
 HLEN: chỉ độ dài của Internet Header.
 Type of Service: đặc tả tham số về dịch vụ gồm các trường về quyền ưu
tiên gửi datagram, các chỉ số về độ trễ, thông lượng, độ tin cậy yêu cầu.
 Total Length: Độ dài toàn bộ của datagram kể cả header.
 Identification: Có chức năng giúp các Host đích lắp lại một gói tin đã bị
phân mảnh.
 Flasgs: Cho biết datagram có phân mảnh hay không.
 Fragment Offset: chỉ vị trí của đoạn được phân mảnh (fragment) trong
datagram.
 TTL (Time to Live): Cho biết thời gian tồn tại của Datagram trên liên
mạng. Để tránh tình trạng một gói tin bị lặp mãi trên mạng. Mỗi khi
qua một thiết bị định tuyến trường này sẽ giảm đi 1.
 Protocol: Cho biết giao thức tầng trên kế tiếp sẽ nhận dữ liệu ở trạm
đích, thường là TCP hoặc UDP.
 Checksum: Mã kiểm tra lỗi bằng phương pháp CRC.

7
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

 Source Address: Địa chỉ IP của máy nguồn.


 Destination Address: Cho biết địa chỉ IP của trạm đích.
 Option: Khai báo các trường do người dùng yêu cầu.
 Data: Vùng dữ liệu cần gửi đi.
Quá trình phân mảnh các gói dữ liệu: Trong quá trình truyền dữ liệu, một gói
(datagram) có thể được truyền đi qua nhiều mạng khác nhau. Một gói dữ liệu nhận
được từ một mạng nào đó có thể quá lớn để truyền đi trong một gói đơn của mạng
khác, bởi vậy mỗi loại cấu trúc mạng cho phép một đơn vị truyền cực đại (MTU -
Maximum Transmission Unit) khác nhau - chính là kích thước lớn nhất cho một gói
tin được truyền qua. Nếu gói tin (datagram) có kích thước lớn hơn MTU của mạng,
gói tin đó sẽ cần phân chia ra thành các Fragments để truyền đi.

Fragments có định dạng giống như các gói datagram thông thường và có thêm
phần đánh số cho các Fragments để phía nhận có thể sắp xếp và gộp lại thành gói
tin ban đầu trước khi bị phân mảnh.

2.1.4. Mô hình OSI

Một hình OSI (Open Systems Interconnection) – tạm dịch là mô hình tham
chiếu kết nối các hệ thống mở: là một thiết kế dựa vào nguyên lý tầng cấp, lý giải
một cách trừu tượng kỹ thuật kết nối truyền thông giữa các máy vi tính và thiết kế
giao thức mạng giữa chúng. Mô hình này được phát triển thành một phần trong kế
hoạch kết nối các hệ thống mở (open systems interconnection) do ISO và IUT-T
khởi xướng. Nó còn được gọi là mô hình 7 tầng của OSI

8
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Hình 2.1-4: Mô hình OSI

2.1.4.1. Tầng vật lý (Physical)

Lớp vật lý định nghĩa các đặc tính vật lý của mạng chẳng hạn như kết nối, cấp
điện áp và thời gian.

Lớp này mô tả các đặc trưng vật lý của mạng như:

 Môi trường kết nối


 Các loại dây cáp được dung để kết nối
 Các chuẩn đầu cáp dung để kết nối
 Khoảng cách kết nối

Đơn vị dữ liệu của tầng này là: bit

9
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

2.1.4.2. Tầng liên kết dữ liệu (Data Link)

Tầng liên kết dữ liệu có chức năng thực hiện thiết lập các liên kết, duy trì và
hủy bỏ các liên kết dữ liệu. Kiểm soát lỗi và kiểm soát lưu lượng. Tâng này bao
gồm hai tầng nhỏ là: Media Access Control (MAC) và Logical Link Control (LLC).

Đơn vị dữ liệu ở tầng này là: frame

2.1.4.3. Tầng mạng (Network)

Chức năng chính của tầng này là định tuyến, quyết định xem gói tin sẽ đi theo
đường nào mà tối ưu nhất. Tầng này cũng có nhiệm vụ cấp các địa chỉ mạng (ví dụ
như địa chỉ IP).

Đơn vị dữ liệu ở tầng này là: packet

2.1.4.4. Tầng giao vận (Transport)

Là tầng chịu trách nhiệm, đảm bảo việc chuyển gói tin tới người dung (kết nối
end-to-end). Kiểm soát độ tin cậy của kết nối, theo dõi các gói tin và truyền lại các
gói tin lỗi. Giao thức chính được sử dụng ở tầng này là TCP và UDP. Cung cấp các
địa chỉ cổng dịch vụ (address ports).

Đơn vị dữ liệu ở tầng này là: segment

2.1.4.5. Tầng phiên (Session)

Tầng phiên kiểm soát các (phiên) hội thoại giữa các máy tính. Điều khiển
phương thức trao đổi dữ liệu. Quyết định trình tự truyền gói tin. Đánh dấu các điểm
đã hoàn thành dễ dàng trong việc truyền lại.

Đơn vị dữ liệu tầng này là: data

2.1.4.6. Tầng trình diễn (Presentation)

Tầng trình diễn hoạt động như tầng dữ liệu trên mạng. Nó biến đổi về đúng
chuẩn phù hợp với ứng dụng ở tầng 7. Thực hiện các công việc như mã hóa, giải mã
hoặc nén, giải nén.

10
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Đơn vị dữ liệu ở tầng này là: data

2.1.4.7. Tầng ứng dụng (Application)

Tầng ứng dụng là tầng gần với người sử dụng nhất. Nó cung cấp phương tiện
cho người dùng truy nhập các thông tin và dữ liệu trên mạng thông qua chương
trình ứng dụng. Tầng này là giao diện chính để người dùng tương tác với chương
trình ứng dụng, và qua đó với mạng. Một số ví dụ về các ứng dụng trong tầng này
bao gồm Telnet, Giao thức truyền tập tin FTP và Giao thức truyền thư điện tử
SMTP, HTTP, X.400 Mail remote.

Đơn vị dữ liệu tầng này là: data

2.2. Bộ giao thức TCP/IP

2.2.1. Tổng quan

TCP/IP là bộ giao thức cho phép kết nối các hệ thống mạng không đồng nhất
với nhau. Ngày nay TCP/IP được sử dụng rộng rãi trong mạng cục bộ cũng như
mạng toàn cầu.

TCP/IP được xem như giản lược của mô hình tham chiếu OSI với 4 tầng như
sau:

 Tầng Liên Kết (Datalink Layer)

 Tầng Mạng (Internet Layer)

 Tầng Giao Vận (Transport Layer)

 Tầng Ứng Dụng (Application Layer)

11
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Hình 2.2-1: Mô hình TCP/IP

2.2.1.1. Tầng liên kết

Tầng liên kết (còn được gọi là tầng liên kết dữ liệu hay tầng giao tiếp mạng)
là tầng thấp nhất trong mô hình TCP/IP, bao gồm các thiết bị giao tiếp mạng và các
chương trình cung cấp các thông tin cần thiết để có thể hoạt động, truy nhập đường
truyền vật lý qua các thiết bị giao tiếp mạng đó.

2.2.1.2. Tầng internet

Tầng Internet ( hay còn gọi là tầng Mạng) xử lý quá trình truyền gói tin trên
mạng, các giao thức của tầng này bao gồm : IP ( Internet Protocol) , ICMP ( Internet
Control Message Protocol) , IGMP ( Internet Group Message Protocol ).

2.2.1.3. Tầng giao vận

Tầng giao vận phụ trách luồng dữ liệu giữa 2 trạm thực hiện các ứng dụng
của tầng trên, tầng này có 2 giao thức chính là TCP ( Transmisson Control Protocol)
và UDP ( User Datagram Protocol )

 TCP cung cấp luồng dữ liệu tin cậy giữa 2 trạm, nó sử dụng các cơ
chế như chia nhỏ các gói tin ở tầng trên thành các gói tin có kích
thước thích hợp cho tầng mạng bên dưới, báo nhận gói tin, đặt hạn
chế thời gian timeout để đảm bảo bên nhân biết được các gói tin đã

12
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

gửi đi. Do tầng này đảm bảo tính tin cậy nên tầng trên sẽ không
cần quan tâm đến nữa.
 UDP cung cấp một dịch vụ rất đơn giản hơn cho tầng ứng dụng.
Nó chỉ gửi dữ liệu từ trạm này tới trạm kia mà không đảm bảo các
gói tin đến được tới đích. Các cơ chế đảm bảo độ tin cậy được
thực hiện bởi tầng trên.

2.2.1.4. Tầng ứng dụng

Là tầng trên của mô hình TCP/IP bao gồm các tiến trình và các ứng dụng
cung cấp cho người sử dụng để truy cập mạng. Có rất nhiều ứng dụng được cung
cấp trong tầng này, mà phổ biến là Telnet: sử dụng trong việc truy cập mạng từ xa,
FTP (File Transport Protocol) dịch vụ truyền tệp tin, EMAIL: dịch vụ truyền thư tín
điện tử. WWW (Word Wide Web)

2.2.2. So sánh TCP/IP với OSI

Mỗi tầng trong TCP/IP có thể là một hay nhiều tầng của OSI. Hình sau chỉ rõ
mối tương quan giữa các tầng trong mô hình TCP/IP với OSI

Hình 2.2-2: Sự khác nhau giữa TCP/IP với OSI


Từ hình trên ta thấy được mô hình TCP/IP có sự giản lược hơn so với OSI khi
mà tầng 1 và 2 của OSI thì được TCP gộp lại thành tầng Network Interface và ba

13
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

tầng cao nhất của OSI được TCP/IP gộp lại thành tầng Application. Tầng giao vận
trong mô hình TCP/IP không phải luôn đảm bảo độ tin cậy của việc truyền tin như ở
trong tầng giao vận của OSI mà cho phép thêm một lựa chọn khác là UDP

2.2.3. Giao thức trong mô hình TCP/IP

2.2.3.1. Internet Protocol – IP

IP là giao thức không liên kết, chức năng chủ yếu là cung cấp các dịch vụ
datagram và các khả năng kết nối liên mạng để truyền dữ liệu với phương thức
chuyển mạch gói IP datagram, thực hiện tiến trình định địa chỉ và chọn đường.

Cấu trúc gói dữ liệu IP: gọi là các datagram, mỗi datagram có phần Header
chứa các thông tin điều khiển.

Hình 2.2-3: cấu trúc gói tin trong giao thức IP


 VER (4 bits): Version hiện hành của IP được cài đặt.
 IHL (4 bits): độ dài phần header tính theo đơn vị word.
 Type of service (8 bits): Thông tin về loại dịch vụ.
 Total length (16 bits): chỉ độ dài datagram.
 Identification (16 bits): định danh cho một datagram.
 Flags (3 bits): liên quan đến sự phân đoạn các datagram.
 Fragment Offset (13 bits): chỉ vị trí của Fragment trong datagram.
 Time To Live (TTL – 8 bits): thời gian sống.

14
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

 Protocol (8 bits): chỉ giao thức tang trên (TCP hay UDP).
 Header Checksum (16 bits): mã kiểm soát lỗi CRC.
 Source address (32 bits): địa chỉ của trạm nguồn.
 Destination address (32 bits): địa chỉ của trạm đích.
 Option (có độ dài thay đổi): sử dụng trong trường hợp bảo mật, định
tuyến đặc biệt.
 Padding (độ dài thay đổi): vùng đệm cho phần header luôn kết thúc ở
32 bits
 Data (độ dài thay đổi): độ dài dữ liệu tối đa là 65.535 bytes, tối thiểu là
8 bytes.

2.2.3.2. Transmission Control Protocol - TCP

TCP (Transmission Control Protocol) là một giao thức hướng liên kết
(Connectin Oriented), tức là trước khi truyền dữ liệu TCP phát và TCP thu thương
lượng để thiết lập một kết nối logic tạm thời, tồn tại trong quá trình truyền số liệu.

TCP nhận thông tin từ tầng trên, chia dữ liệu thành nhiều gói theo độ dài quy
định và chuyển giao các gói tin xuống cho các giao thức tầng mạng (tầng IP) để
định tuyến. Bộ xử lý TCP xác nhận từng gói, nếu không có xác nhận gói dữ liệu sẽ
được truyền lại. Thực thể TCP bên nhận sẽ khôi phục lại thông tin ban đầu dựa trên
thứ tự gói và chuyển dữ liệu lên tầng trên.

Giao thức TCP hoạt động ở lớp 3 trong mô hình TCP/IP và ở lớp 4 trong mô
hình OSI.

Một số nhiệm vụ của TCP:

 Thiết lập, duy trì, giải phóng liên kết giữa hai thực thể TCP. Phân phát
gói tin một cách tin cậy.
 Tạo số thứ tự các gói dữ liệu, điều khiển lỗi.
 Cung cấp khả năng đa kết nối thông qua số hiệu cổng.
 Truyền dữ liệu theo chế độ song công.

15
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

 TCP sắp xếp lại các datagram IP khi đến đích.


 Phát lại có chọn lọc.

Hình 2.2-4: Cấu trúc gói tin TCP


Trong đó các trường có ý nghĩa:

 Source port (16 bits): địa chỉ nguồn.


 Destination (16 bits): địa chỉ đích.
 Sequence Number (32 bits): số thứ tự khi phát.
 Acknowledgment Number (32 bits): bên thu xác nhận thu được dữ liệu
đúng.
 HLEN (4 bits)
 Reserved (6 bits): dành cho tương lai.
 Control bits (6 bits): các bit điều khiển.
 URG: vùng con trỏ khẩn có hiệu lực.
 ACK: vùng báo nhận (ACK number) có hiệu lực.
 PSH: chức năng PUSH.
 RST: khởi động lại liên kết.
 SYN: đồng bộ các số liệu tuần tự (sequence number).
 FIN: không còn dữ liệu từ trạm nguồn.

16
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

 Window (16 bits): số lượng các bytes dữ liệu trong vùng cửa sổ bên
phát.
 Chech sum (16 bits): theo phương pháp CRC.
 Urgent Pointer (16 bits): số thứ tự của byte dữ liệu khẩn, khi URG
được thiết lập.
 Option (thay đổi): khai báo độ dài tối đa của TCP data trong một
segment.
 Padding (thay đổi): phần chèn thêm vào header.

Quá trình kết nối và hủy kết nối của TCP:

Hình quá trình kết nối của TCP.

Hình 2.2-5: Qua trình hủy kết nối của TCP.

2.2.3.3. User Datagram Protocol - UDP

UDP là giao thức không liên kết, sử dụng cho các tiến trình không yêu cầu về
độ tin cậy cao, không có cơ chế xác nhận ACK, không đảm bảo chuyển giao các gói
đến đích và theo đúng thứ tự cũng như không loại bỏ các gói tin trùng lặp.

17
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Nó cho phép ứng dụng trao đổi thông tin qua mạng với ít thông tin điều khiển
nhất. Cung cấp cơ chế gán và quản lý các số hiệu cổng để định danh duy nhất cho
các ứng dụng chạy trên một client của mạng.

Hình 2.2-6: cấu trúc gói tin UDP.


Trường hợp nên dùng UDP:

 Nếu một số lượng lớn các gói tin nhỏ được truyền, thông tin cho việc
kết nối và sửa lỗi có thể lớn hơn nhiều so với thông tin cần truyền.
Trong trường hợp này UDP là giải pháp hiệu quả nhất.
 Những ứng dụng kiểu “Query – Response” cũng rất phù hợp với UDP,
câu trả lời có thể dùng làm sự xác nhận của một câu hỏi. Một số ứng
dụng đã tự nó cung cấp công nghệ riêng để chuyển giao thông tin tin
cậy.

2.2.3.4. Internet control message protocol – ICMP

ICMP là một giao thức hoạt động trên layer 2 - Internetwork trong mô hình
TCP/IP hoặc layer 3 - Network trong mô hình OSI và là giao thức điều khiển của
tầng IP, sử dụng để trao đổi các thông tin điều khiển dòng dữ liệu, thông báo lỗi và
các thông tin trạng thái khác của bộ giao thức TCP/IP.

Có hai loại: thông điệp truy vấn và thông điệp thông báo lỗi

 Điều khiển lưu lượng


 Thông báo lỗi
 Định hướng lại các tuyến

18
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

 Kiểm tra các trạm ở xa

Nhóm Loại bảng tin

Hỏi và phúc đáp Echo (Echo Request và Echo Reply)

Hỏi và phú đáp nhãn thời gian (Timestamp Request và


Timestamp Reply)

Thông điệp Yêu cầu và phúc đáp mặt nạ địa chỉ (Address mask Request và
truy vấn Address mask Reply)

Yêu cầu và quảng bá bộ định tuyến (Router soliciation và


Router advertisement)

Không thể đạt tới đích (Destination Unreachable)

Thông điệp Yêu cầu ngừng hoặc giảm tốc độ phát (Source Quench)

Thông báo lỗi Định hướng lại (Redirection)

Vượt ngưỡng thời gian (Time Exceeded)

Bảng 2.2-1: Thông điệp của ICMP.

2.2.3.5. Giao thức phân giải địa chỉ - ARP

Giao thức TCP/IP sử dụng ARP để tìm địa chỉ vật lý của trạm đích khi biết IP.
Mỗi hệ thống lưu trữ và cập nhật bảng thích ứng địa chỉ IP-MAC (ARP Cache) nó
chỉ được cập nhật bởi người quản trị hệ thống hoặc tự động bởi giao thức ARP sau
mỗi lần ánh xạ một địa chỉ tương ứng mới.

Trước khi trao đổi dữ liệu, node nguồn phải xác định địa chỉ MAC của node
đích bằng cách tìm kiếm trong bảng địa chỉ. Nếu không tìm thấy, node nguồn gửi
quảng bá một gói yêu cầu ARP (ARP Request) chứa địa chỉ IP đích.

Tiến trình của ARP được mô tả như sau:

 Trạm yêu cầu: Có IP, yêu cầu địa chỉ MAC.


 Trạm yêu cầu: tìm kiếm trong bảng ARP.

19
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

 Nếu tìm thấy sẽ trả lại địa chỉ MAC.


 Nếu không tìm thấy, tao ARP Request phát quảng bá tới các trạm khác.
 Tùy theo gói tin trả lời, ARP cập nhật vào bảng ARP.

Hình 2.2-7: Hoạt động của ARP.

2.2.3.6. Giao thức phân giải địa chỉ - RARP

RARP là giao thức phân giải địa chỉ ngược, cho trước địa chỉ MAC tìm địa chỉ
IP tương ứng. Nó khác với ARP là gói tin trả lời chỉ server được trả lời RARP
Reply.

Hình 2.2-8: Hoạt động của RARP.

20
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Chương 3. TỔNG QUAN VỀ MẠNG ZIGBEE

3.1. Giới thiệu về các giao thức truyền thông không dây

Nhiều phương pháp và chuẩn kết nối đã được phát triển trên toàn thế giới dựa
trên sự đa dạng về nhu cầu thương mại. Những công nghệ này có thể được phân loại
thành 4 nhóm (PAN, LAN, MAN, WAN) dựa trên những ứng dụng đặc trưng và
phạm vi truyền của chúng. Hình sau mô tả các nhóm này

Hình 3.1-1: Các nhóm truyền thông không dây.

3.1.1. Personal area network (PAN)

PAN là một mạng sử dụng cho việc kết nối giữa các thiết bị cá nhân (gồm
điện thoại và các thiết bị số cá nhân khác). Phạm vi truyền thông của PAN chỉ là vài
mét. PAN có thể kết nối các thiết bị với nhau hoặc với mạng internet.

Mạng PAN không dây (wireless PAN) thường được kết nối bằng cách sử dụng
các giao thức Infrared (IrDA), Bluetooth

3.1.2. Local area network (LAN)

Mạng LAN không dây (WLAN) là mạng kết nối hai hay nhiều đối tác truyền
thông với nhau mà không cần dây nối. Nó sử dụng sóng radio để đạt được chức

21
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

năng tương tự như nối dây. WLAN cho phép người dung di chuyển trong một vùng
phạm vi hẹp (nhà ở, phòng làm việc, trường học…) mà vẫn kết nối được với mạng.

Wifi (chuẩn IEEE 802.11) là một đại diện điển hình của WLAN, gồm có
802.11a/b/g/n.

3.1.3. Metropolitan area network (MAN)

Mạng MAN không dây là tên được đặt bởi IEEE 802.16 – nhóm làm việc trên
chuẩn không dây băng tần rộng (được biết đến trong thương mại là WiMAX). Nó
được định nghĩa là truy cập internet bang thông rộng từ thiết bị cố định hoặc di
động thông qua anten. Các trạm đăng ký kết nối với trạm cơ sở và trạm cơ sở kết
nối đến mạng lõi

WiMAX có khả năng thay thế tốt mạng dây cố định vì đơn giản và tương đối
rẻ trong xây dựng. Phạm vi phủ song của WiMAX có thể lên đến 16 km, tuy nhiên
ở khoảng cách lớn khả năng tải của mạng giảm đáng kể. Trong hầu hết mọi trường
hợp, các điểm truy cập được them vào để duy trì chất lượng dịch vụ.

3.1.4. Wide area network (WAN)

WAN là mạng máy tính phủ sóng một vùng địa lý rộng, khác với PAN, LAN
hay MAN thường chỉ hoạt động trong một khuôn viên giới hạn. Ví dụ điển hình
nhất của WAN là mạng internet. WAN được sử dụng để kết nối các mạng địa
phương (LAN) với nhau, vì thế người dung và máy tính trong khu vực này có thể
kết nối với người dùng và máy tính trong khu vực khác. Nhiều mạng WAN là mạng
kín được xây dựng cho các tổ chức đặc biệt. Các mạng khác được xây dựng bởi các
nhà cung cấp dịch vụ internet (ISP) thì có nhiệm vụ kết nối mạng LAN của tổ chức
vào internet. Bên cạnh đó, WAN cũng là tên gọi cho các mạng truyền thông dữ liệu
di động như GSM, GPRS và 3G.

22
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

3.2. Giao thức Zigbee

3.2.1. Giới thiệu

Zigbee là một giao thức truyền thông bậc cao được phát triển dựa trên chuẩn
truyền thông không dây IEEE 802.15.4, sử dụng tín hiệu radio cho các mạng cá
nhân PAN (personal area network). Zigbee thích hợp với những ứng dụng không
đòi hỏi tốc độ truyền dữ liệu quá cao nhưng cần có mức độ bảo mật lớn và thời gian
hoạt động dài. Các mạng ad-hoc sử dụng sóng radio tương tự Zigbee đã được khai
nghén từ những năm 1998–1999 khi giới khoa học nhận thấy wifi và Bluetooth
không phù hợp cho nhiều ứng dụng công nghiệp. Tuy nhiên, chỉ đến năm 2004 bộ
tiêu chuẩn Zigbee mới chính thức được tạo dựng và thông qua bởi tổ chức ZigBee
Alliance.

Tên gọi Zigbee lấy cảm hứng từ điệu nhảy theo đường zig-zag của ong mật
(honey bee), điệu nhảy này được loài ong sử dụng để trao đổi thông tin với nhau về
vị trí của hoa và nguồn nước.

3.2.2. Chuẩn truyền thông không dây IEEE 802.15.4

IEEE (Institute of Electrical and Electronics Engineers) là một tổ chức phi


lợi nhuận nhằm mục đích nghiên cứu phát triển các công nghệ liên quan đến thiết bị
điện và điện tử. Trong đó nhóm 802 chuyên nghiên cứu về các công nghệ mạng và
bộ phận 802.15 được dành riêng cho các chuẩn mạng không dây. IEEE 802.15.4
quy định truyền thông trên sóng radio trong phạm vi 10 mét đến 100 mét và hoạt
động ở ba dải tần chính:

 Dải 868 – 868.8 MHz (Châu Âu): chỉ một kênh tín hiệu, trong dải này
tốc độ truyền là 20kb/s.
 Dải 902 – 928 MHz (Mỹ, Canada, Úc): có 10 kênh tín hiệu từ 1 – 10
với tốc độ truyền thường là 40kb/s.
 Dải 2.4 – 2.4835 GHz (hầu hết các nước khác trên thế giới): 16 kênh tín
hiệu từ 11 – 26 với tốc độ truyền 250kb/s.

23
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Hình 3.2-1: Băng tần hệ thống mạng Zigbee.

3.2.3. Cấu trúc của giao thức Zigbee

Tương tự như các giao thức truyền thông khác, Zigbee cũng có một kiến trúc
ngăn xếp nhiều tầng, trong đó tầng vật lý và tầng MAC (medium access control)
được định nghĩa giống chuẩn IEEE 802.15.4. Sau đó ZigBee Allience đã định nghĩa
thêm 4 thành phần chính: tầng mạng, tầng ứng dụng, đối tượng thiết bị Zigbee
(Zigbee device objects – ZDO) và các đối tượng người dung (cho phép tùy biến
theo từng ứng dụng). Trong đó việc thêm vào các ZDO chính là cải tiến đáng kể
nhất, vì đây chính là các đối tượng thực hiện nhiều tác vụ như định nghĩa vai trò của
các thiết bị, tổ chức và yêu cầu truy nhập vào mạng, bảo vệ cho thiết bị…

24
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Hình 3.2-2: cấu trúc giao thức Zigbee.

3.2.4. Thành phần mạng Zigbee

Một mạng kiểu Zigbee gồm có 3 loại thiết bị:

 ZC (Zigbee Coordinator): đây là thiết bị gốc có khả năng quyết định kết
cấu mạng, quy định cách đánh địa chỉ và lưu giữ bảng địa chỉ. Mỗi
mạng chỉ có duy nhất một Coordinator và nó cũng là thành phần duy
nhất có thể truyền thông với các mạng khác.
 ZR (Zigbee Router): có các chức năng định tuyến trung gian truyền dữ
liệu, phát hiện và lập bản đồ các nút xung quanh, theo dõi, điều khiển,
thu thập dữ liệu như nút bình thường. Các router thường ở trạng thái
hoạt động (active mode) để truyền thông với các thành phần khác của
mạng.
 ZED (Zigbee End Devide): các nút này chỉ truyền thông với
Coordinator hoặc Router ở gần nó, chúng được coi như điểm cuối của
mạng và chỉ có nhiệm vụ hoạt động/đọc thông tin từ các thành phần vật

25
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

lý. ZED có kết cấu đơn giản và thường ở trạng thái nghỉ (sleep mode)
để tiết kiệm năng lượng. Chúng chỉ được "đánh thức" khi cần nhận
hoặc gửi một thông điệp nào đó.
Các thiết bị này thường được chia làm 2 loại là FFD (Full Function Device) và
RFD (Reduced Function Device). Trong đó FFD có thể hoạt động như một
Coordinator, Router hoặc End Device, còn RFD chỉ có thể đóng vai trò End Device
trong một mạng ZigBee.

3.2.5. Mô hình mạng Zigbee

Chuẩn Zigbee có 3 cấu hình mạng cơ bản, tùy vào những ứng dụng cụ thể
mà người ta thiết lập mạng theo các cấu hình khác nhau.

Hình 3.2-3: Cấu trúc liên mạng mạng Zigbee


Hình trên cho ta thấy ba loại mạng mà Zigbee cung cấp: Mạng hình sao (star),
mạng hình cây (cluster tree), mạng mắt lưới (mesh).

26
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

3.2.5.1. Mạng mắt lưới (mesh)

Hình 3.2-4: Cấu trúc mạng mắt lưới của Zigbee


Mạng mắt lưới: Có một bộ điều phối mạng PAN (Coordinator). Một thiết bị
có thể tạo kết nối với bất kỳ thiết bị nào khác trong mạng. Các ứng dụng của cấu
trúc này có thể áp dụng trong đo lường và điều khiển, mạng cảm biến không dây,
theo dõi cảnh báo và kiểm kê…

3.2.5.2. Mạng hình sao (star)

Hình 3.2-5: Cấu trúc mạng hình sao của Zigbee.


Một kết nối được thành lập bởi các thiết bị với một thiết bị điều khiển trung
tâm (PAN Coordinator). Mỗi mạng hình sao phải có một chỉ số nhận dạng cá nhân

27
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

của riêng nó, gọi là PAN-ID, nó cho phép mạng này có thể hoạt động một cách độc
lập.

3.2.5.3. Mạng hình cây (cluster tree)

Hình 3.2-6: Cấu trúc mạng hình cây của Zigbee.


Cấu trúc này là một dạng đặc biệt của cấu trúc hình lưới, trong đó đa số thiết
bị là FFD và một RFD có thể kết nối vào mạng như một nút rời rạc ở điểm cuối của
nhánh cây. Bất kỳ một nhánh cây nào cũng có thể hoạt động như một coordinator,
cung cấp tín hiệu đồng bộ cho các thiết bị và các coordinator khác. Vì thế cấu trúc
mạng kiểu này có quy mô phủ sóng và khả năng mở rộng cao. Trong loại cấu hình
mạng này mặc dù có thể có nhiều coordinator nhưng sẽ chỉ có duy nhất một điều
phối mạng PAN (PAN coordinator).

3.3. Mô hình giao thức của Zigbee/IEEE 802.15.4

Zigbee/IEEE 802.15.4 là công nghệ xây dựng và phát triển các tầng ứng dụng
và tầng mạng trên nền tảng là hai tầng Physical và Mac theo chuẩn IEEE 802.15.4,
chính vì thế nên nó thừa hưởng được mọi ưu điểm đó là tính tin cậy, đơn giản, năng
lượng tiêu hao ít và khả năng thích ứng cao với các môi trường mạng. Phía dưới là
mô hình chuẩn của Zigbee/IEEE 802.15.4

28
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Hình 3.3-1: Mô hình giao thức của Zigbee.

3.3.1. Tầng vật lý

Tầng vật lý cung cấp hai dịch vụ dữ liệu PHY và quản lý PHY, hai dịch vụ
này có giao diện với dịch vụ quản lý tầng vật lý PLME (physical layer
management). Dịch vụ dữ liệu PHY điều khiển việc thu và phát của khối dữ liệu
PPDU (PHY protocol data unit) thông qua kênh sóng vô tuyến vật lý. Các tính năng
của tầng PHY là sự kích hoạt hoặc giảm kích hoạt của bộ phận nhận sóng, phát hiện
năng lượng, chọn kênh, chỉ số đường truyền, giải phóng kênh truyền, thu và phát
các gói dữ liệu qua môi trường truyền.

3.3.2. Tầng điều khiển dữ liệu

Tầng điều khiển môi trường truy cập MAC (media access control) cung cấp 2
dịch vụ là dịch vụ dữ liệu MAC và quản lý MAC, nó có giao diện với điểm truy cập
dịch vụ của thực thể quản lý tầng MAC (MLMESAP). Dịch vụ dữ liệu MAC có

29
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

nhiệm vụ quản lý việc thu phát của khối MPDU (giao thức dữ liệu MAC) thông qua
dịch vụ dữ liệu PHY.

Nhiệm vụ của tầng MAC là quản lý việc phát thông tin báo hiệu beacon, định
dạng khung tin để truyền đi trong mạng, điều khiển truy nhập kênh, quản lý khe
thời gian GTS, điều khiển kết nối và giải phóng kết nối, phát khung Ack.

3.3.3. Tầng mạng

Tầng vật lý trong mô hình của giao thức Zigbee được xây dựng trên nền của
tầng điều khiển dữ liệu, nhờ những đặc điểm của tầng MAC mà tầng vật lý có thể
kéo dài việc đưa tin, mở rộng qui mô mạng dễ dàng, một mạng có thể hoạt động
cùng mạng khác một cách riêng biệt. Tầng vật lý đảm nhận các chức năng như là:

 Thiết lập một mạng mới.


 Tham gia làm thành viên của một mạng đang hoạt hoặc là tách ra khỏi
mạng khi đang là thành viên của một mạng nào đó.
 Cấu hình thiết bị mới như hệ thống yêu cầu, gán địa chỉ cho thiết bị
mới tham gia vào mạng.
 Đồng bộ hóa các thiết bị trong mạng để có thể truyền tin mà không bị
tranh chấp, nó thực hiện đồng bộ hóa này bằng gói tin thông báo
beacon.
 Bảo mật: gán các thông tin bảo mật vào gói tin và gửi xuống tầng dưới
 Định tuyến, giúp gói tin có thể đến được đúng đích mong muốn. Có thể
nói rằng thuật toán của ZigBee là thuật toán định tuyến phân cấp sử
dụng bảng định tuyến phân cấp tối ưu được áp dụng từng trường hợp
thích hợp.

3.3.4. Tầng ứng dụng

Lớp ứng dụng của ZigBee/IEEE802.15.4 thực chất gồm các ba tầng, các tầng
này tương ứng với các tầng phiên, trình diễn và ứng dụng trong mô hình 7 tầng.

Trong ZigBee/IEEE 802.15.4 thì chức năng của tầng Application Framework:

30
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

 Dò tìm ra xem có nốt hoặc thiết bị nào khác đang hoạt động trong vùng
phủ sóng của thiết bị đang hoạt động hay không.
 Duy trì kết nối, chuyển tiếp thông tin giữa các nốt mạng.
Chức năng của tầng Application Profiles là:

 Xác định vai trò của các thiết bị trong mạng. (thiết bị điều phối mạng,
hay thiết bị đầu cuối, FFD hay RFD…).
 Thiết lập hoặc trả lời yêu cầu kết nối.
 Thành lập các mối quan hệ giữa các thiết bị mạng.
Chức năng của tầng Application là thực hiện các chức năng do nhà sản xuất
qui định (giao diện…) để bổ sung thêm vào các chức năng do ZigBee qui định.

31
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Chương 4. CƠ SỞ DỮ LIỆU MYSQL VÀ RESTFUL WEB SERVICE

4.1. Cơ sở dữ liệu MySQL

4.1.1. Giới thiệu

MySQL là một hệ quản trị cơ sở dữ liệu quan hệ mạnh mẽ và tốc độ. MySQL
cho phép chúng ta lưu trữ, tìm kiếm, sắp xếp và lấy dữ liệu rất hiệu quả và nhanh
chóng. Cơ sở dữ liệu chủ MySQL điều khiển việc truy cập dữ liệu, cho phép nhiều
người dùng cùng truy cập đồng thời mà an toàn và nhanh chóng. Do đó MySQL trở
thành một hệ quản trị cơ sở dữ liệu chủ đa người dùng và đa luồng. Nó sử dụng
ngôn ngữ truy vấn có cấu trúc SQL, là ngôn ngữ truy vấn cơ sở dữ liệu chuẩn trên
thế giới hiện nay. MySQL trở nên phổ biến từ những năm 1996 nhưng lịch sử phát
triển của nó đã bắt nguồn từ những năm 1979.

MySQL là phần mềm có mã nguồn mở có thể download phần mềm miễn phí
trên Internet từ địa chỉ: http://mysql.com và hoàn toàn có thể học mã nguồn, thay
đổi mã nguồn để sử dụng theo mục đích riêng.

Các ưu điểm nổi bật của MySQL:

 Tính thực thi cao.


 Chi phí thấp.
 Dễ sử dụng.
 Linh động cao, tương thích với nhiều hệ điều hành.
 Mã nguồn mở

4.1.2. Tiến trình kết nối ODBC

ODBC – Open DataBase Connectivity - là một chương trình giao tiếp lập trình
chuẩn cho người phát triển ứng dụng và nhà cung cấp cơ sở dữ liệu của Microsoft.
Để truy xuất đến các cơ sở dữ liệu thông qua ODBC, ta phải cài đặt Driver đến cơ
sở dữ liệu đó. ODBC có nhiều Driver hỗ trợ cho các cơ sở dữ liệu khác nhau, để
chuyển các mẫu tin thành những dữ liệu nguồn (Data Source). Hệ điều hành căn cứ
vào các thông tin khai báo để xác định cấp của ODBC Driver giao tiếp với Data

32
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Source. Việc nạp ODBC là “trong suốt” đối với chương trình ứng dụng. Trong môi
trường mạng, ODBC đảm nhận luôn cả việc xử lý những vấn đề truy xuất dữ liệu
trên mạng như việc truy cập đồng thời, giải quyết các xung đột…

Vì ODBC cung cấp sự truy xuất bất kỳ dạng cơ sở dữ liệu thông dụng có sẵn
nên tạo một sự uyển chuyển trong ứng dụng, từ đó giúp ta đưa cơ sở dữ liệu lên
trang Web một cách dễ dàng. Nếu ta có thể dùng ODBC với Web Server, tức là ta
có thể lấy dữ liệu từ cơ sở dữ liệu và đưa lên trang Web bất kể dữ liệu đó được lưu
trữ trên môi trường nào.

4.1.3. Kết hợp PHP và MySQL

Personal Home Pge – PHP trên MySQL: PHP là ngôn ngữ dùng để tạo các
trang Web động từ server và gởi chúng tới trình duyệt. Tuy nhiên, PHP tương thích
với nhiều hệ điều hành hơn, và cũng tương thích với nhiều Web server hơn các
ngôn ngữ khác. Các điểm mạnh của PHP bao gồm:

 Tính thực thi cao: PHP rất hiệu quả, sử dụng server rẻ, chúng ta có thể
đáp ứng hàng triệu lượt truy cập mỗi ngày vào trang Web.
 Mạch ghép nối đến nhiều hệ thống cơ sở dữ liệu khác nhau: PHP kết
nối đến nhiều hệ thống cơ sở dữ liệu. Ngoài MySQL ra ta còn có thể
kết nối được với các hệ quản trị cơ sở dữ liệu khác như: PostgreSQL,
mSQl, Ocracle, dbm, filePro, Hyperwave, Infomix, InterBase, và
Sybase. Dùng ODBC (Open Database Connectivity Standard) có thể
kết nối đến bất kỳ cơ sở dữ liệu nào có hỗ trợ ODBC driver bao gồm
các sản phẩm của Microsoft và nhiều hãng khác.
 Xây dựng thư viện cho nhiều tác vụ Web thông dụng: Do PHP được
thiết kế cho việc sử dụng Web nên nó có nhiều chức năng được xây
dựng để thực thi nhiều tác vụ quan hệ Web hữu dụng. Chúng ta có thể
thao tác trên hình ảnh GIF, kết nối với những dịch vụ mạng khác, gởi
mail, làm việc với cookie và tạo tài liệu PDF.
 Dễ học và dễ sử dụng

33
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

 Mã nguồn mở.
PHP kết hợp với MySQL chính là sự kết hợp tuyệt vời giữa hai công nghệ
đang được ưa chuộng nhất hiện nay trên thế giới. Một bộ đôi có nhiều điểm chung
giống nhau như độc lập với hệ điều hành, mã nguồn mở, tiết kiệm chi phí…

Sự hỗ trợ tối đa các loại hàm trong PHP đối với MySQL làm cho mọi thao tác
trên dữ liệu trở nên nhanh chóng, phù hợp với xu thế thiết kế Web hiện nay là ưu
tiên cho tốc độ lấy dữ liệu. Sơ đồ làm việc giữa PHP và MySQL thông qua trình
duyệt Web được minh hoạ như hình dưới đây:

Hình 4.1-1: PHP kết hợp MySQL.


Bước 1: Khi một địa chỉ Web được gọi thì trình duyệt Web sẽ gởi yêu cầu cho
Apache.

Bước 2: Apache nhận yêu cầu đó và chuyển cho PHP xử lý.

Bước 3: Ngôn ngữ kịch bản PHP gồm các câu lệnh PHP, chẳng hạn như lệnh
gọi kết nối cơ sở dữ liệu và truy xuất dữ liệu…

Bước 4: Dữ liệu được lấy lên từ cơ sở dữ liệu và kịch bản PHP sẽ làm một số
việc định dạng dữ liệu.

Bước 5: Sau đó gởi trở về cho Apache.

Bước 6: Apache gởi đến trình duyệt các yêu cầu đã được đáp ứng. Lúc này sẽ
thấy một số thông tin được lấy từ cơ sở dữ liệu.

34
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

4.1.4. Định danh và phân quyền

4.1.4.1. Định danh

Không dùng ký tự có mã ASCII(0) và mã ASCII(255) để định danh cho các


loại đối tượng(như tên bảng, tên cột, tên database, tên alias,…). Nếu trong định
danh có khoảng trắng thì định danh phải được đặt trong cặp dấu nháy đơn (‘ ’),
trường hợp này chỉ dùng cho các phiên bản MySQL 3.23.6 trở lên.

Các trường hợp khác để định danh cho mọi đối tượng trong MySQL phải tuân
theo nguyên tắc sau:

Đối tượng cần Chiều dài Trường hợp tương tự Ký tự được dùng
định danh tối đa

Cơ sở dữ liệu 64 Cách định danh cho một Mọi ký tự cho phép


thư mục trong hệ điều ngoại trừ ký tự “/”
hành

Bảng 64 Cách định danh cho một Mọi ký tự cho phép


tập tin trong hệ điều hành ngoại trừ ký tự “/” và
dấu “.”

Cột 64 Không có Mọi ký tự

Bí danh 255 Không có Mọi ký tự

Bảng 4.1-1: Bảng định danh trong MySQL.

4.1.4.2. Phân quyền trong MySQL

Mỗi hệ thống MySQL có thể có nhiều người sử sụng đồng thời. Vì lý do bảo
mật nên người quản trị hệ thống cần phải bảo vệ tài khoản và mật khẩu truy cập vào
root. Khi có một người dùng khác cần sử dụng hệ thống, người quản trị cần cấp cho
người dùng này một tài khoản và mật khẩu riêng để log vào hệ thống. Ngoài ra cần
phải cấp cho người này một số quyền tối thiểu để thực hiện một vài thao tác. Các

35
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

quyền này dùng để xác định những điều gì người dùng này có thể làm được và
những gì không thể làm được.

Hệ thống phân quyền của MySQL gồm các cấp độ như sau:

 Toàn quyền sử dụng.


 Các quyền trên cơ sở dữ liệu.
 Quyền trên các bảng (table).
 Quyền trên các cột.
Các cấp độ phân quyền được chia thành hai nhóm quyền như: nhóm các quyền
cho người dùng và nhóm các quyền dùng để quản trị.

4.1.5. Cơ sở dữ liệu phpMyAdmin

PhpMyAdmin là một công cụ mã nguồn mở được viết bằng ngôn ngữ PHP
dùng để tương tác với cơ sở dữ liệu MySQL thông qua giao diện chương trình duyệt
web. Có thể nói phpMyAdmin là bản thu gọn cho chương trình MySQL tuy vậy
nhưng nó vẫn có thể thực hiện hầu hết các tác vụ tương tự MySQL như tạo, sửa
hoặc xóa cơ sở dữ liệu, bảng biểu, cột, hàng, thực hiện xuất/nhập cơ sở dữ liệu cũng
như quản lý người dùng.

Giao diện phpMyAdmin

PhpMyAdmin cung cấp cho người dùng giao diện quản lý cơ sở dữ liệu qua
website rất thân thiện và dễ sử dụng.

36
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Hình 4.1-2: Giao diện quản lý của phpMyAdmin


Khi sử dụng phpMyAdmin cần chú ý đầu tiên là thông tin của server:

Hình 4.1-3: Thông tin chính của Database Server


 Server type: MySQL.
 User: Là thông tin người dùng.
 Server charset: sử dụng mã hóa UTF-8 Unicode.
Sau khi lựa chọn cơ sở dữ liệu cần tương tác, phpMyAdmin sẽ cung cấp một
giao diện tương tác dễ dàng cho người sử dụng.

Hình 4.1-4: Các mục giao diện quản lý phpMyAdmin.

37
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Browse: Hiển thị thông tin chi tiết về nội dung các cột, các hàng, bên trong cơ
sở dữ liệu. Ngoài hiển thị thì trong tab này cũng cho phép sửa, xóa hoặc xuất bảng
dữ liệu đó ra thành tập tin.

Hình 4.1-5: Mục Browse trong phpMyAdmin


Structure: Hiển thị cấu trúc của bảng đang làm việc: tên cột, loại kiểu dữ liệu,
mã hóa…. Cho phép chỉnh sửa, xóa, thêm các cột dữ liệu mới. Khi xóa cột ở
structure thì toàn bộ thông tin chứa trong cột đó sẽ mất theo.

Hình 4.1-6: Mục Structure trong phpMyAdmin


SQL: cho phép sử dụng các lệnh để tương tác với cơ sở dữ liệu. Một số lệnh
thường dùng với cơ sở dữ liệu:

Cấu trúc lệnh Công dụng

SELECT `a` FROM `b` WHERE `c` Câu lệnh được dùng để đọc dữ liệu trong

38
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

cơ sở dữ liệu. Kết quả trả về là một bản


ghi.

a: Lựa chọn cột cần đọc dữ liệu.

b: Là tên các bảng cần lấy dữ liệu.

c: Điều kiện lọc dữ liệu.

Thêm dữ liệu vào trong bảng.

INSERT INTO `a` VALUES `b` a: Cột trong bảng cần thêm dữ liệu.

b: Giá trị điền vào bảng.

Cập nhật dữ liệu mới vào trong bảng

a: Bảng cần cập nhật.


UPDATE `a` SET `b` WHERE `c`
b: Cập nhật giá trị cho cột.

c: Điều kiện xác định các cột.

Xóa dữ liệu

DELETE FROM `a` WHERE `b` a: Bảng có dữ liệu cần xóa.

b: Điều kiện xác định giá trị xóa.

Bảng 4.1-2: Lệnh thường dùng với phpMySQL.


Search: Thực hiện tìm kiếm trong cơ sở dữ liệu bằng cách lựa chọn các điều
kiện.

Insert: Thêm dữ liệu vào cơ sở dữ liệu.

Import/Export: Nhập dữ liệu từ tập tin vào cơ sở dữ liệu MySQL hoặc xuất dữ
liệu ra tập tin.

Operation và Trigger: chỉnh sửa và liên kết cơ sở dữ liệu.

39
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

4.2. RESTful web sevice

4.2.1. Giới thiệu

REST là viết tắt của REpresentational State Transfer (dịch nôn na là chuyển
trạng thái đại diện) là một kiểu kiến trúc lập trình, nó định nghĩa các quy tắc để thiết
kết các web service chú trọng vào tài nguyên hệ thống. Trong kiến trúc REST mọi
thứ đều được coi là tài nguyên, chúng có thể là: tệp văn bản, ảnh, trang html, video,
hoặc dữ liệu động… REST server cung cấp quyền truy cập vào các tài nguyên,
REST client truy cập và thay đổi các tài nguyên đó. Ở đây các tài nguyên được định
danh dựa vào URI, REST sử dụng một vài đại diện để biểu diễn các tài nguyên như
văn bản, JSON, XML.

RESTful web service là các web service được viết dựa trên kiến trúc REST.
REST đã được chọn và sử dụng rộng rãi thay thế cho các web service dựa trên
SOAP và WSDL. RESTful web service nhẹ, có khả năng dễ mở rộng và bảo trì.

Dưới đây là bốn nguyên tắc thiết kế cơ bản của Restful:

 Sử dụng các phương thức HTTP một cách rõ ràng.


 Phi trạng thái
 Hiển thị cấu trúc thư mục như URls
 Chuyển đổi JavaScript Object Notation (JSON) và XML hoặc cả hai.

4.2.2. Quy tắc cơ bản để cài đặt RESTful web service

4.2.2.1. Sử dụng các phương thức HTTP một cách rõ ràng

Điểm chú ý đầu tiên khi cài đặt RESTful web service là sử dụng một cách rõ
ràng các phương thức HTTP theo cách mà chúng được định nghĩa bởi RFC 2616.
Ví dụ phương thức GET được định nghĩa với mục đích để client sử dụng vào việc
lấy dữ liệu từ server hoặc thực hiện một truy vấn để server tìm và trả về một tập các
tài nguyên phù hợp. REST yêu cầu các nhà phát triển sử dụng một cách rõ ràng các
phương thức HTTP và nhất quán với cách mà chúng được định nghĩa. Quy tắc này

40
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

của REST giúp thiết lập ánh xạ một một giữa các hành động tạo, đọc, cập nhật và
xóa với các phương thức HTTP. Theo đó sẽ có:
 Để tạo một tài nguyên trên server ta dùng phương thức POST.
 Để lấy (đọc) tài nguyên trên server ta dùng phương thức GET.
 Để update tài nguyên trên server ta dùng phương thức PUT.
 Để xóa tài nguyển trên server ta dùng phương thức DELETE.

Ví dụ: sử dụng sai phương thức

Hình 4.2-1: sử dụng sai phương thức HTTP.


Ở đây phương thức GET được sử dụng để tạo một bản ghi mới trong cơ sở dữ
liệu. Như vậy vi phạm định nghĩa của GET chỉ để lấy và trả về dữ liệu. Theo REST
để tạo một tài nguyên mới ta sử dụng POST. Resquest trên được sửa lại:

Hình 4.2-2: sử dụng đúng phương thức HTTP.


Việc sử dụng các phương thức HTTP một cách không rõ ràng ví dụ như sử
dụng GET để tạo hoặc cập nhật tài nguyên, dữ liệu hệ thống sẽ gây ra vấn đề về mặt
ngữ nghĩa. Web server được thiết kế để phản hồi lại các yêu cầu GET bằng việc lấy
và trả về chúng bằng một dạng nào đó, chứ không phải để tạo hoặc cập nhật bản ghi
trong cơ sở dữ liệu. Tương tự với các phương thức HTTP khác, theo REST chúng
nên được sử dụng đúng với các chức năng nêu trên. Ngoài mặt ngữ nghĩa, còn có
một vấn đề nữa có thể dẫn đến việc thay đổi dữ liệu phía server một cách không chủ
tâm.

41
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

4.2.2.2. Phi trạng thái

Theo REST trạng thái hoặc được giữ trên client hoặc được chuyển thành trạng
thái của tài nguyên. Nói một cách khác một server sẽ không bao giờ giữ trạng thái
thông tin trao đổi với bất kỳ client nào nó giao tiếp, mỗi request lên server thì client
phải đóng gói thông tin đầy đủ để thằng server hiểu được. Điều này giúp hệ thống
của bạn dễ phát triển,bảo trì, mở rộng vì không cần tốn công CRUD trạng thái của
client. Ngoài ra còn một nguyên nhân quan trọng hơn đó là nó tách biệt client khỏi
sự thay đổi của server.

4.2.2.3. Cấu trúc thư mục URI

URI trong RESTful web service phải tự mô tả, hoặc tham chiếu được cái mà
nó trỏ tới và các tài nguyên liên quan. Ngoài ra URI cũng phải đơn giản, có thể
đoán biết được, và dễ hiểu. Để tạo ra URI với yêu cầu trên thì ta nên định nghĩa
URI có câu trúc giống thư mục. Loại URI này có phân cấp, có gốc là một đường
dẫn đơn, các nhánh từ gốc là các đường dẫn phụ dẫn đến các các vùng service
chính.

Ví dụ về URI trong RESTful web service:

Hình 4.2-3: minh họa URI trong RESTul web service


Với URI có cấu trúc như thư mục cho phép nhà phát triển dễ dàng trong việc
cài đặt service của mình hướng vào một loại tài nguyên cụ thể nào đó.

4.2.2.4. Chuyển đổi XML, JSON hoặc cả hai

Điều cuối cùng trong tập các ràng buộc khi thiết kế RESTful web service phải
làm là định dạng dữ liệu mà ứng dụng và service trao đổi trong phụ tải
request/response hoặc trong HTTP body. Cung cấp nhiều đại diện biểu diễn cho tài
nguyên cho các request khác nhau. Cụ thể ở đây ta có thể sử dụng các một vài kiểu
MIME thông dụng sau:

42
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

 JSON
 XML
 XHTML

Điều này cho phép các service sử dụng bởi các client viết bởi các ngôn ngữ
khác nhau, chạy trên nhiều nền tảng và thiết bị khác nhau. Sử dụng các kiểu MIME
cho phép client chọn dạng dữ liệu phù hợp với nó.

43
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Chương 5. THIẾT KẾ VÀ THI CÔNG PHẦN CỨNG

5.1. Yêu cầu thiết kế

Để tạo ra mạch điều khiển thiết bị qua mạng internet ta cần đáp ứng các yêu
cầu như sau:

 Mạch có chức năng gửi và nhận thông tin từ mạng internet.


 Các mạch điều khiển có thể tạo ra một mạng giao tiếp riêng biệt sử
dụng kết nối không dây.
 Mạch có khả năng xử lý thông tin nhận về cũng như gửi thông tin đi
ra ngoài.
 Mạch có khả năng điều khiển các thiết bị khác (đóng/ngắt thiết bị).

5.2. Phương hướng thiết kế

Mạch sử dụng vi xử lý PIC làm bộ xử lý chính cho mạch điều khiển. Vi xử lý


cần thực hiện các chức năng:

 Giao tiếp với các module kết nối với mạng internet qua wifi và mạng
zigbee.
 Nhận và xử lý thông tin dạng JSON được lấy từ web server.
 Chuyển thông tin vào mạng zigbee.
 Điều khiển các relay đóng hoặc ngắt theo thông tin nhận được.

44
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

5.3. Các module sử dụng

5.3.1. Module wifi ESP8266

5.3.1.1. Tổng quan

Hiǹ h 5.3-1: Module ESP8266.


Module ESP8266 có chức năng kết nối wifi và giao tiếp với vi điều khiển qua
kết nối nối tiếp.

ESP8266 là một SoC cung cấp một giải pháp mạng wifi hoàn chỉnh và khép
kín.

Module ESP8266 là module wifi giá rẻ và được đánh giá rất cao cho các ứng
dụng liên quan đến Internet và Wifi cũng như các ứng dụng truyền nhận sử dụng
thay thế cho các module RF khác.

ESP8266 là một chip tích hợp cao, được thiết kế cho nhu cầu của một thế giới
kết nối mới, thế giới Internet of thing (IOT). Nó cung cấp một giải pháp kết nối
mạng Wi-Fi đầy đủ và khép kín, cho phép nó có thể lưu trữ các ứng dụng hoặc để
giảm tải tất cả các chức năng kết nối mạng Wi-Fi từ một bộ xử lý ứng dụng.

ESP8266 có xử lý và khả năng lưu trữ mạnh mẽ cho phép nó được tích hợp
với các bộ cảm biến, vi điều khiển và các thiết bị ứng dụng cụ thể khác thông qua
GPIOs với một chi phí tối thiểu và một PCB tối thiểu.

45
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Các thông số và chức năng chính:

 Wifi 802.11 b/g/n.


 Wi-Fi Direct (P2P), soft-AP.
 Tích hợp giao thức TCP / IP stack.
 Tích hợp TR chuyển đổi, balun, LNA, bộ khuếch đại và phù hợp với
mạng.
 PLLs tích hợp, quản lý, DCXO và các đơn vị quản lý điện năng.
 + Công suất đầu ra 19.5dBm ở chế độ 802.11b.
 Tích hợp công suất thấp 32-bit CPU, được sử dụng như là bộ vi xử lý
ứng dụng.
 SDIO 1.1 / 2.0, SPI, UART.
 STBC, MIMO 1 × 1, 2 × 1 MIMO.
 A-MPDU & A-MSDU tập hợp & 0.4ms khoảng bảo vệ.
 Thức dậy và truyền tải các gói dữ liệu trong <2ms.
 Chế độ chờ tiêu thụ điện năng <1.0mW (DTIM3).

Hiǹ h 5.3-2: Sơ đồ mạch module ESP826.

46
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Các chân 18 tới chân 23 của vi xử lý ESP8266 dành cho kết nối SPI.

Các chân 25-26 của ESP sử dụng cho kết nối nối tiếp (UART).

Thiết lập kết nối vi xử lý với ESP8266 giao tiếp bằng UART

UTXD Giao tiếp cổng nối tiếp: cổng truyền bits

URXD Giao tiếp cổng nối tiếp: cổng nhận bits

CH_PD Chip_Power Down (active = 0)

GPIO15 Chân I/O của ESP8266

GPIO16 Chân I/O của ESP8266

VCC Cấp nguồn 3.3V

GND Đất

RST Chân reset (active = 0 )

Bảng 5.3-1: Bảng kết nối ESP8266.

5.3.1.2. Cấu hình thiết bị

Tốc độ giao tiếp mặc định của ESP8266 qua cổng nối tiếp là 9600.

Chúng ta có thể sử dụng tập lệnh AT để cấu hình lại cho module.

Lưu ý là kết thúc dữ liệu truyền sang phải có hai ký tự <CR> và <LF> tương
đương với 2 byte 0x0D và 0x0A.

Sau khi cài đặt thông số kỹ thuật sẽ tự động được lưu lại và không phải cài lại
mỗi khi khởi động. Nếu reset các thông số sẽ không còn.

47
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Một số lệnh lệnh AT dành cho ESP8266:

STT Gửi lệnh Xác nhận Ý nghĩa

1 AT OK Kiểm tra liên lạc với


ESP8266

2 AT+CWMODE = <mode> OK hoặc Cài đặt chế độ Access Point


nochange

3 AT+CIPMODE=<mode> OK Cài đặt chế độ dữ liệu

4 AT+CIPMUX=<mode> OK Cài đặt đa kết nối – nhiều


nhất 5 kết nối cùng lúc

5 AT+CWSAP=<ssid>,<pass OK ssid "SSID" , pass


word> , <chan>, <enc> "password" , ,chan "channel",
enc = "Encryption"

(0 = Open, 1= WEP, 2=
WPA_PSK, 3= WPA2_PSK,
4=WPA_WPA2_PSK)

6 AT+CWSAP? Xem cài đặt hiện tại của


Access Point

7 AT+CWLIF Danh sách các station đang


kết nối

48
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

8 AT+CIPSTO=180 OK Thời gian time out = 180s

9 AT+CIPSERVER=<mode>, OK ESP ở chế độ 1 = Server, 2 =


port clients. Port = cổng kết nối.

10 AT+CIPSTATUS Kiểm tra trạng thái kết n

11 AT+CIPSTART=<type>, OK Tạo 1 kết nối IP với


<address>, <port> AT+CIPMUX=0(chế độ kết
Linked
nối đơn kênh)

12 AT+CIPSEND=<len> > Đăng ký thông tin sẽ truyền.

13 AT+CIPSEND= <id>, <len> OK Truyền dữ liệu tới server.

14 AT+CIPCLOSE OK Đóng kết nối

15 AT+CIOBAUD=<baud> OK Thay đổi tốc độ baud

Bảng 5.3-2: Tập lệnh AT cho ESP8266

49
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

5.3.2. Module DRF1605H

5.3.2.1. Tổng quan

Hiǹ h 5.3-3: Module Zigbee DRF1605H.


Module DRF1605H có chức năng tạo hoặc tham gia mạng zigbee, giao tiếp
với vi điều khiển qua kết nối nối tiếp

DRF1605 là module Zigbee dựa trên Chip Zigbee CC2530 của hãng Texas
Instruments nhưng đã được hãng DTK viết firmware riêng để chúng ta có thể giao
tiếp với nó một cách dễ dàng qua giao thức UART quen thuộc. Nhờ vậy, sẽ giảm
được nhiều thời gian để tiếp xúc với mạng zigbee.

Một số thông số và chức năng chính:

 Tạo mạng hoặc tham gia vào mạng zigbee.


 Tần số hoạt động 2.4GHz.
 Giao thức truyền phát: Zigbee 2007/Pro.
 Giao tiếp UART với tốc độ baud lên đến 115200.
 Sử dụng nguồn DC 3.3V.
 Nhiệt độ hoạt động: -40 – 850 C
 Chế độ hoạt động: Coordinator / Router.
 Dòng điện cao nhất khi gửi: 120mA, khi nhận: 45mA và khi chờ là:
40mA.

50
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Hiǹ h 5.3-4: Các chân của DRF1605H.


Để kết nối với DRF1605H kết nối các chân RX và TX (J2) với TX và RX của
vi xử lý. Các chân LED_2 và LED_1 nối với đèn LED thông báo.

Mạch sử dụng nguồn 3.3V.

Module DRF1605H có hai chế độ hoạt động: Coordinator và Router. Mỗi


mạng zigbee đều cần có ít nhất một Coordinator và một hoặc nhiều Router. Để các
module có thể giao tiếp trong cùng một mạng với nhau thì yêu cầu các module có
cùng một PAN ID và chung một kênh sóng (có 22 kênh sóng mà module có thể
hoạt động, khoảng cách các kênh 5Mhz).

Mặc định module được thiết lập ở chế độ Router và PAN ID = 0x119B, chạy
ở kênh 22 (2460 Mhz).

Khi có hai hay nhiều Coordinator hoạt động chung một PAN ID thì thiết bị
khởi động sau sẽ tự động thay đổi PAN ID (+1) để tránh xung đột.

5.3.2.2. Cấu hình thiết bị

B1: Tắt hết các thiết bị, chọn một thiết bị tạo mạng Zigbee, vào chế độ cài đặt
bằng lệnh qua UART, cấu hình chế độ Coordinator với PAN ID và chọn kênh phù
hợp. Rồi reset thiết bị.

51
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

B2: Các thiết bị tham gia mạng cài đặt chế độ Router với PAN ID và kênh
sóng trùng với lúc cài đặt Coordinator. Reset thiết bị.

B3. Sau khi thiết bị Router chạy sẽ tự động quét và gia nhập với mạng cùng
kênh sóng và PAN ID.

Một số lệnh điều khiển cho DRF1605H (bảng sử dụng mã hexa và XY là tổng
của 6 bytes đầu tiên được giữ ở mức thấp 8 bit):

STT Mã lệnh Trả về Ý nghĩa

1 FC 02 91 01 XX XX XX XX Cài đặt PAN ID cho thiết bị


XY với giá trị là XX XX.

PAN ID không thể là “FF


FE”

2 FC 01 91 0C XX 1A Cài đặt kênh sóng:


XY
00 08 00 00 0B XX = 0B: C11, 2405MHz

00 10 00 00 0C XX = 0C: C12, 2410MHz

00 20 00 00 0D
XX = 0D:C13, 2415MHz

00 40 00 00 0E
XX = 0E: C14, 2420MHz
00 80 00 00 0F
XX = 0F: C15, 2425MHz
00 00 01 00 10
XX = 10: C16, 2430MHz
00 00 02 00 11
XX = 11: C17, 2435MHz
00 00 04 00 12

52
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

00 00 08 00 13 XX = 12: C18, 2440MHz

00 00 10 00 14 XX = 13: C19, 2445MHz

00 00 20 00 15
XX = 14: C20, 2450MHz

00 00 40 00 16
XX = 15: C21, 2455MHz
00 00 80 00 17
XX = 16: C22, 2460MHz
00 00 00 01 18
XX = 17: C23, 2465MHz
00 00 00 02 19
XX = 18: C24, 2470MHz
00 00 00 04 1A
XX = 19: C25, 2475MHz

XX = 1A: C6, 2480MHz

3 FC 00 91 09 A9 C9 XY 43 6F 6F 72 64 3B Cài đặt chế độ Coordinator


00 19

4 FC 00 91 0A BA DA 52 6F 75 74 65 3B Cài đặt chế độ Router


XY 00 19

5 FC 01 91 06 XX F6 XY Cài đặt tốc độ Baud giao tiếp

00 00 09 06 00 00 XX = 01: 9600

00 01 09 02 00 00 XX = 02: 19200

00 03 08 04 00 00
XX = 03: 38400

53
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

00 05 07 06 00 00 XX = 04: 57600

01 01 05 02 00 00 XX = 05: 115200

6 FC 00 91 87 6A 35 XY Reset module

Bảng 5.3-3: Một số lệnh điều khiển DRF1605H

54
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

5.4. Thiết kế mạch điều khiẻn

5.4.1. Sơ đồ mạch tổng quát

Hiǹ h 5.4-1: Sơ đồ mạch điều khiển.

55
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

5.4.2. Sơ đồ mạch nguồn

Hình 5.4-2: Sơ đồ mạch nguồn.


Với U2 là ic LM2576T có các ưu điểm nổi bật ổn định điện áp tốt, ít phát sinh
nhiệt, chịu dòng lớn đến 3A.

Bảng thông số kỹ thuật cần quan tâm với LM2576T

Input (V) Output (V) Conditions

Min Typ Max

8 < Vin < 40 4.75 5.0 5.25 0.5A < ILoad < 3A

Bảng 5.4-1: Tính chất điện áp của ic LM2576T.


Với U2 là ic nguồn 3.3V AMS1117:

Input (V) Output (V) Conditions

Min Typ Max

4.75 < Vin < 12 3.235 3.3 3.365 0A < ILoad < 1A

Bảng 5.4-2: Tính chất điện áp ic ASM1117.

56
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

5.4.3. Sơ đồ kết nối vi xử lý

Hình 5.4-3: Sơ đồ két nối dsPic30F4013

57
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Thông tin kết nối vi xử lý với các phần của mạch

Khối Kí hiệu Chân pic Giải thích

Mạch nạp MCLR, PGC, 1;8;9 Các chân này được kéo ra
PGD header kết nối với mạch nạp
chương trình cho vi điều khiển

ESP8266 ESPTX, ESPRX 27 ; 28 Kết nối với mạch wifi


ESP8266 qua cổng nối tiếp

DRF1605H TX, RX 25 ; 26 Kết nối với mạch zigbee


DRF1605H qua cổng nối tiếp

Thạch anh OSC1, OSC2 13 ; 14 Thạch anh cấp xung clock


20MHz cho PIC

Relay C0; C1; C2; C3 16 ; 17 ;18 ; Cổng điều khiển relay


19 đóng/mở

Header2 29 ; 30 Gửi thông tin quá trình chạy


lên máy tính thông qua kết nối
nối tiếp

Bảng 5.4-3: Kết nối của vi xử lý Pic

58
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

5.4.4. Sơ đồ chân nạp, thạch anh và reset cho pic

Hình 5.4-4: Mạch thạch anh, reset và chân nạp cho Pic.
SW1 có chức năng reset cho PIC

XTAL là thạch anh 20 Mhz cung cấp xung clock cho PIC hoạt động.

59
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

5.4.5. Sơ đồ mạch điều khiển relay

Hình 5.4-5: Sơ đồ mạch relay.


C1 được nối với chân ngoại vi của vi xử lý PIC có chức năng điều khiển đóng
mở relay. Mạch được cách ly bởi OPTO quang PC817 đảm bảo việc cấp nguồn
không ảnh hưởng tới vi xử lý.

Vi xử lý ban đầu luôn cấp tín hiệu mức cao vào C1. Khi vi xử lý cấp một tín
hiệu mức thấp tới C1, cuộn dây trong relay sẽ được cấp dòng chạy qua làm tiếp
điểm NO đóng lại và tiếp điểm NC mở ra. Tùy vào ứng dụng chúng ta cần mà nối
tương ứng với NC hay NO của relay.

Diode 1N4148 có tác dụng triệt tiêu dòng điện của cuộn dây chạy ngược về
khi relay chuyển trạng thái từ đang được cấp dòng sang ngắt dòng.

5.4.6. Khối ESP8266

Hình 5.4-6: Sơ đồ mạch ESP8266.

60
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Mạch ESP8266 sử dụng nguồn 3.3V làm nguồn nuôi. Khi vào chế độ sử dụng
cần cấp 1 điện áp cao (3V3) vào chân CHPD (chip power down).

Hai chân ESPTX(1) và ESPRX(5) dùng để giao tiếp thông tin với vi xử lý
chính.

5.4.7. Khối Zigbee DRF1605H

Hiǹ h 5.4-7: Sơ đồ mạch DRF1605H


Mạch DRF1605H sử dụng nguồn 3.3V làm nguồn cung cấp.

Hai chân ESPTX(1) và ESPRX(5) dùng để giao tiếp thông tin với vi xử lý
chính.

Mạch reset cho phép vi xử lý có thể gửi tín hiệu reset xuống mạch
DRF1605H. Tín hiệu được cách ly qua opto PC817 đảm bảo không có xung dột
điện áp giữa 2 mạch (5V Pic và 3v3 DRF1605H).

61
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

5.5. Mạch in

Hiǹ h 5.5-1: Mạch in mạch điều khiển - Router

Hiǹ h 5.5-2: Mạch in mạch điều khiển - Coordinator

62
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Chương 6. THIẾT KẾ VÀ THI CÔNG PHẦN MỀM

6.1. Yêu cầu thiết kế

Để các thiết bị phần cứng có thể hoạt động, chúng ta cần lập trình các phần
mềm tương ứng cũng như tạo các giao diện quản lý cho hệ thống. Để đáp ứng điều
này chúng ta cần thực hiện được các yêu cầu sau:

 Lập trình cho vi xử lý PIC có thể nhận, gửi và xử lý tín hiệu, có thể
giao tiếp tốt với mạch wifi ESP8266 và mạch zigbee DRF1605H.
 Tạo cơ sở dữ liệu lưu trữ thông tin.
 Tạo các hàm để xử lý dữ liệu.
 Tạo website quản lý thiết bị.

6.2. Phương pháp thực hiện

Để có thể đáp ứng các yêu cầu thiết kế ta có thể sử dụng các chương trình biên
dịch, thiết kế khác nhau nhưng em xin chọn các ngôn ngữ lập trình và các ứng dụng
quen thuộc sau:

 Sử dụng chương trình biên dịch PIC C để lập trình cho vi xử lý PIC.
 Sử dụng cơ sở dữ liệu trên web với chương trình hỗ trợ PHPMyAdmin.
 Sử dụng ngôn ngữ lập trình PHP tạo ra các hàm xử lý dữ liệu phục vụ
cho giao tiếp với các thiết bị như PIC, điện thoại thông minh, máy tính
bảng...
 Kết hợp HTML và PHP tạo giao diện quản lý trên website.

63
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

6.3. Sơ đồ giải thuật

6.3.1. Mạch điều khiển Coordinator

Hiǹ h 6.3-1: Sơ đồ giải thuật mạch điều khiển Coordinator.

64
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

6.3.2. Mạch điều khiển Router

Hiǹ h 6.3-2: Sơ đồ giải thuật mạch điều khiển Router

65
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

6.3.3. Các hàm sử dụng PHP lấy dữ liệu cho mạch điều khiển

Hình 6.3-3: Sơ đồ giải thuật cho hàm xử lý dùng Restful.

66
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Chương 7. KẾT QUẢ THỰC TẾ

7.1. Phần cứng

Hình 7.1-1: Mạch điều khiển – Router.

Hình 7.1-2: Mạch điều khiển – Coordinator.

67
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

7.2. Phần mềm

Hin
̀ h 7.2-1: Giao diện bảo mật

Hình 7.2-2: Giao diện quản lý

68
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

7.3. Ứng dụng vào thiết bị thực tế

Hình 7.3-1: Các relay đang ở trạng thái ngắt

Hình 7.3-2: Các relay đang ở trạng thái đóng.

69
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

7.4. Quy trình hoạt động

Nơi lưu dữ liệu trung gian là MySQL Server được quản lý bởi công cụ
phpMyAdmin.

Hiǹ h 7.4-1: SQL Server dữ liệu quản lý người dùng.

Hình 7.4-2: SQL Server lưu dữ liệu.


Khi click vào nút bấm trên giao diện quản lý sẽ gọi hàm ghi dữ liệu lên SQL
khi biết main_id và sub_id.

 Main_id: mã số nhận diện cho mạch điều khiển - Coordinator.


 Sub_id: mã số nhận diện cho các mạch điều khiển - Router

70
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Do khi thiết kế mạch em sử làm mạch điều khiển – Coordinator có luôn việc
điều khiển các relay nên mạch điều khiển – Coordinator có cả main_id và sub_id.
Sử dụng main_id cho biết đó là thiết bị quản lý mạng con zigbee.

Khi các thiết bị điều khiển lấy thông tin trên SQL server về chỉ cần sử dụng
main_id. Các cột stt1, stt2, stt3, stt4 chứa giá trị tương ứng với việc đóng, ngắt các
relay (0 là ngắt, 1 là đóng).

Mạch điều khiển - Coordinator thông qua kết nối wifi của module ESP8266
kết nối vào mạng internet, gửi yêu cầu lấy dữ liệu trên server mỗi 2s 1 lần. Dữ liệu
được trả về dưới dạng JSON.

{"id":"R0001","stt1":"0","stt2":"1","stt3":"1","stt4":"0"}

{"id":"R0002","stt1":"1","stt2":"1","stt3":"1","stt4":"1"}

Hình 7.4-3: Thông tin lấy được từ server


Tiếp theo dựa vào chuỗi json nhận được, dsPic40F4013 sẽ phân tích chuỗi lấy
thông tin theo giá trị của ID.

Mỗi lần lấy được thông tin mới vi xử lý sẽ so sánh dữ liệu mới nhận được với
dữ liệu cũ. Nếu dữ liệu thay đổi thì gửi dữ liệu mới vào mạng Zigbee, nếu không có
sự thay đổi thì lại tiếp tục yêu cầu lấy thông tin từ SQL server.

Trong mạng zigbee hoạt động ở chế độ Transparent Data Transmission: Khi
Coordinator nhận được tín hiệu từ cổng nối tiếp của nó, nó sẽ gửi thông tin đi toàn
bộ các nodes mạng vì thế nên tất cả Router đều nhận được thông tin từ Coordinator.

71
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

Ngược lại, Router khi gửi ra ngoài sẽ tự động gửi tới Coordinator, các Router không
nhận được gói tin từ Router khác.

Hiǹ h 7.4-4: Chế độ truyền transparent data.

7.5. Nội dung đã đạt được

 Đã giao tiếp thành công giữa các thiết bị với nhau. Vi xử lý với ESP8266,
DRF1605H, liên lạc và lấy cũng như gửi dữ liệu tới server thành công.
 Mạng Zigbee hoạt động ổn định, truyền tốt trong mạng.
 Thiết kế được giao diện web, tuy đơn giản nhưng trực quan dễ sử dụng.
 Thiết kế được giao diện bảo mật cho web quản lý điều khiển
 Thiết lập được server web và các hàm xử lý thông tin tốt, không gây ra lỗi.
 Các relay điều khiển bật/tắt được hầu hết các thiết bị gia dụng (yêu cầu sử
dụng 220V và dòng điện nhỏ hơn 7A).
 Mạch điều khiển hoạt động ổn định, không nóng, ít hao điện do chỉ cần cấp
nguồn bằng sạc điện thoại (5V-1A) và có thể hoạt động liên tục.

72
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

7.6. Nội dung chưa đạt được

 Giao diện web còn đơn giản, chưa có hệ thống phân chia thiết bị, hệ thống
quản lý cho nhiều người cùng sử dụng.
 Dữ liệu nhận qua internet đôi khi có mất gói. Trong mạng zigbee thỉnh
thoảng truyền gói tin không đủ.
 Hệ thống có sự chậm trễ 3-5s do phải truyền thông tin qua mạng internet và
chu kỳ lấy dữ liệu của vi xử lý là 2s.

73
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

Sau khi thiết kế, thi công và kiểm nghiệm lại kết quả, mạch chạy khá ổn định.
Chúng ta có thể ở bất kỳ nơi nào miễn là có kết nối internet là có thể điều khiển
được các thiết bị.

Có thể ứng dụng đề tài vào thực tế ngay, tuy nhiên cần thiết kế thu gọn lại
mạch điều khiển, phân loại các loại mạch điều khiển, thu thập thông tin, giám sát,
báo động,… để có thể thành lập một hệ thống quản lý cho nhiều người có thể sử
dụng. Ngoài ra, chúng ta có thể phát triển các ứng dụng di động tương tác với SQL
server để điều khiển thiết bị làm tăng tính tiện dụng cho cuộc sống. Chỉ với một
thiết bị cầm tay có kết nối internet là chúng ta có thể quản lý mọi thiết bị điện xung
quanh mình.

Qua việc thực hiện luận văn này đã giúp em có thêm kiến thức về rất nhiều
lĩnh vực khác nhau như là: lập trình web, lập trình vi xử lý, thiết lập SQL Server,
hiểu thêm về các giao thức TCP, UDP, IP, có hiểu biết về các chuẩn của IEEE như
là Ethernet 802.3, Wifi 802.11, Zigbee 802.15.4,…

Cuối cùng em xin chân thành cảm ơn thầy Hồ Văn Khương đã giúp đỡ em tìm
hiểu và hoàn thành bài luận văn tốt nghiệp.

74
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

TÀI LIỆU THAM KHẢO

1. James F. Kurose and Keith W.Ross. Computer Networking – A Top-Down


Approach. (5th edition).[ONLINE].
2. Shahin Farahani. ZigBee Wireless Networks and Transceiver.[ONLINE].
3. AdamEngst and GlennFleishman. The Wireless Networking Starter Kit.(2nd
edition).[ONLINE].
4. https://viblo.asia/p/tim-hieu-ve-restful-web-service-OEqGj5JNM9bL
5. https://www.ibm.com/developerworks/webservices/library/ws-restful/
6. http://fit.mta.edu.vn/files/DanhSach/LTMANGC6%20TCPIP(201210302340
).pdf
7. https://en.wikipedia.org/wiki/Internet
8. https://vi.wikipedia.org/wiki/TCP/IP
9. Hồ Trung Mỹ, VI XỬ LÝ, Nhà xuất bản Đại học Quốc gia
10. Đặng Thành Tín, HỆ THỐNG MÁY TÍNH VÀ NGÔN NGỮ C. Nhà xuất bản
Đại Học Quốc Gia,2010.
11. Microchip.PIC16F87XA Datasheet. [ONLINE].
http://www.microchip.com/wwwproducts/Devices.aspx?product=PIC16F877
A.
12. Microchip. dsPIC30F3014/4013 Data Sheet. [ONLINE].
http://www.microchip.com/wwwproducts/Devices.aspx?product=dsPIC30F4
013
13. [ONLINE]. https://secure.php.net/manual/en/
14. [ONLINE].http://hocwebchuan.com/
15. [ONLINE].https://primalcortex.wordpress.com/2015/02/19/esp8266-logging-
data-in-a-mysql-database/
16. [ONLINE].http://smart-techvn.com/7225-huong-dan-test-module-wifi-
esp8266-voi-may-tinh-phan-1.html
17. [ONLINE].http://smart-techvn.com/7225-huong-dan-test-module-wifi-
esp8266-voi-may-tinh-phan-2.html

75
Luận văn tốt nghiệp GVHD: PGS.TS Hồ Văn Khương

18. [ONLINE].http://myclass.vn/khoa-hoc/khoa-hoc-php-can-ban/
19. [ONLINE].http://vietjack.com/sql/index.jsp
20. [ONLINE]. http://freetuts.net/json-la-gi-cau-truc-chuoi-json-236.html
21. [ONLINE]. http://blog.huntgang.com/2015/01/20/arduino-esp8266-tutorial-
web-server-monitor-example/
22. [ONLINE]. http://www.ccsinfo.com/downloads.php#manuals
23. Nguyễn Sỹ Hậu. Giáo trình hướng dẫn thiết kế mạch điện tử với Altium
Designer v1.0.[ONLINE]. http://www.slideshare.net/Syhaunguyen/gio-trnh-
hng-dn-thit-k-mch-in-t-vi-altium-designer-v10
24. Sharp.Opto PC817 datasheet.[ONLINE].
25. YLE.Relay5V-7A datasheet.[ONLINE].

76

You might also like