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

(Đồ án hcmute) điều khiển thiết bị điện qua mạng lan dùng kit raspberry pi

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

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP.HCM
KHOA ĐÀO TẠO CHẤT LƯỢNG CAO

ĐỒ ÁN TỐT NGHIỆP
NGÀNH CƠNG NGHỆ KỸ THUẬT MÁY TÍNH

ĐIỀU KHIỂN THIẾT BỊ DIỆN QUA MẠNG LAN DÙNG KIT RASPBLERRY PI

GVHD: LÊ MINH
SVTH: BÙI THỊ PHƯƠNG ANH
MSSV: 121109034

SKL 0 0 4 6 2 9

Tp. Hồ Chí Minh, tháng 07 năm 2016

do an


CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
----***----

Tp.Hồ Chí Minh, ngày

tháng

năm 2016

NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP


Họ và tên sinh viên:Bùi Thị PhươngAnh

MSSV: 12119034

Ngành: CNKT Máy tính

Lớp: 12119CLC

Giảng viên hướng dẫn: Lê Minh

ĐT: 0963231835

Ngày nhận đề tài: 2/2016

Ngày nộp đề tài: 7/2016

1.

Tên đề tài:

Điều khiển thiết bị điện qua mạng LAN dùng kit Raspberry Pi.
2.

Các số liệu, tài liệu ban đầu:

Kit nhúng Raspberry Pi, giao tiếp mạng và lập trình mạng, ngơn ngữ lập trình C#.
3.

Nội dung thực hiện đề tài:


Lập trình kit nhúng chạy hệ điều hành, lập trình thiết kế phần mềm trên máy tính.
Điều khiển thiết bị và đo nhiệt độ cùng giao tiếp mạng.
4.

Sản phẩm:

Hệ thống gồm máy tính và kit Raspberry Pi giao tiếp với nhau qua môi trường
mạng LAN, cùng điều khiển thiết bị và hiển thị kết quả đo nhiệt độ. 4 thiết bị điện
được đại diện bởi 4 bóng đèn.

TRƯỞNG NGÀNH

GIẢNG VIÊN HƯỚNG DẪN

do an


CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM

Độc lập – Tự do – Hạnh Phúc

*******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên Sinh viên: .............................................................MSSV: ..................................................
Ngành:....................................................................................................................................................
Tên đề tài:..............................................................................................................................................
...............................................................................................................................................................
Họ và tên Giáo viên hướng dẫn: ...........................................................................................................
NHẬN XÉT
1. Về nội dung đề tài & khối lượng thực hiện:

...............................................................................................................................................................
...............................................................................................................................................................
...............................................................................................................................................................
2. Ưu điểm:
...............................................................................................................................................................
...............................................................................................................................................................
3. Khuyết điểm:
...............................................................................................................................................................
...............................................................................................................................................................
4. Đề nghị cho bảo vệ hay không?
...............................................................................................................................................................
5. Đánh giá loại:
...............................................................................................................................................................
6. Điểm:……………….(Bằng chữ: ...................................................................................................)
Tp. Hồ Chí Minh, ngày

tháng năm 2016

Giáo viên hướng dẫn
(Ký & ghi rõ họ tên)

do an


CỘNG HOÀ XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh Phúc

*******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên Sinh viên: ……………………………………………….....MSSV: .....................

Ngành:………………………………………………………………………………………..
Tên đề tài:.................................................................................................................................
..................................................................................................................................................
Họ và tên giảng viên phản biện: ……………………………………………………………..
NHẬN XÉT
1. Về nội dung đề tài & khối lượng thực hiện:
..................................................................................................................................................
..................................................................................................................................................
..................................................................................................................................................
2. Ưu điểm:
..................................................................................................................................................
..................................................................................................................................................
3. Khuyết điểm:
..................................................................................................................................................
..................................................................................................................................................
4. Đề nghị cho bảo vệ hay không?
..................................................................................................................................................
5. Đánh giá loại:
………………………………………………………………………………………………..
6.
Điểm:……………….(Bằngchữ:.............................................................................................)
Tp. Hồ Chí Minh, ngày tháng năm 2016
Giáo viên phản biện
(Ký & ghi rõ họ tên)

do an


LỜI CẢM ƠN
Trong thời gian thực hiện đồ án tốt nghiệp đến nay, người nghiên cứu đã

nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy Cô. Với lịng biết ơn sâu
sắc, kính xin gửi đến q Thầy Cô ở Khoa Điện – Điện Tử trường Đại học Sư phạm
Kỹ Thuật thành phố Hồ Chí Minh đã cùng với tri thức, tâm huyết để truyền đạt vốn
kiến thức quý báu cho người nghiên cứu trong suốt thời gian qua.
Người nghiên cứu xin chân thành cảm ơn Thầy Lê Minh đã trực tiếp hướng
dẫn, tận tâm truyền đạt kiến thức, kinh nghiệm qua từng buổi học cũng như những
buổi báo cáo, thảo luận. Hơn hết, Thầy đã hỗ trợ, góp ý, giúp người nghiên cứu
hồn thiện đề tài, đạt được mục tiêu ban đầu đặt ra.
Bước đầu đi vào thực tế, tìm hiểu về lĩnh vực sáng tạo trong nghiên cứu khoa
học, kiến thức của người nghiên cứu còn nhiều hạn chế và bỡ ngỡ. Do vậy, không
thể tránh khỏi những thiếu sót, rất mong nhận được những ý kiến đóng góp q báu
của Thầy Cơ để người nghiên cứu có thể tiếp thu, rút kinh nghiệm cho tương lai.
Sau cùng, người nghiên cứu xin kính chúc quý Thầy Cô thật dồi dào sức
khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình là truyền đạt kiến
thức cho thế hệ mai sau.

i

do an


LỜI NÓI ĐẦU
Trong vài thập niên gần đây nền kinh tế thế giới đã có những dấu hiệu
chuyển mình rõ rệt, các ngành kỹ thuật của các nước có những đột phá vô cùng
mạnh mẽ, chuyển dần từ lao động máy móc sang trí tuệ nhân tạo. Để bắt kịp xu
hướng chung của thế giới, cùng với sự đi lên của nên kinh tế mở, năng động mang
tính thị trường của thế giới, nền khoa học kỹ thuật của nước ta cũng có những bước
phát triển nhất định. Một trong những xu hướng phát triển của khoa học kỹ thuật mà
nước ta đang hướng tới là tự động hóa, hiện đại hóa. Bên cạnh đó, nhân loại có
những bước phát triển vượt bậc về khoa học kỹ thuật, một trong số đó là sự ra đời

của các thiết bị bán dẫn. Các IC đó đã giải quyết được nhiều khó khăn trong lĩnh
vực công nghệ và đã mở ra một kỷ nguyên mới của công nghệ . Kỷ nguyên "kĩ
thuật số”.
Ứng dụng to lớn của kỹ thuật số đó là chế tạo ra các vi mạch tích hợp trong
các IC có mật độ tích hợp cực lớn như vi xử lý, vi điều khiển. Từ đó phát triển lên
các kit nhúng có khả năng lập trình theo chức năng người dùng lập trình cho chúng.
Đồng thời, gần đây xuất hiện thuật ngữ “IoTs” (internet of things) đó là xu hướng
của tương lai, tất cả kết nối qua internet. Từ ý tưởng trên người nghiên cứu đã thực
hiện đề tài điều khiển thiết bị qua mạng Lan sử dụng kit nhúng Raspberry Pi.
Trong q trình thực hiện đề tài khơng tránh khỏi những sai sót do kiến thức
có giới hạn, cũng như tham khảo từ nhiều nguồn tài liệu từ internet, sách, báo…Rất
mong nhận được sự đóng góp của quý thầy cô cũng như các bạn để đề tài thực hiện
thành công và phát triển hơn nữa.
Người nghiên cứu xin chân thành cảm ơn!!!
Người nghiên cứu đề tài
Bùi Thị Phương Anh

ii

do an


TÓM TẮT
Trong tất cả các lĩnh vực đời sống con người hiện nay đều có sự trợ giúp của
máy tính, máy tính ngày càng làm cho cơng việc của con người trở nên nhẹ nhàng
hơn không chỉ nhờ vào tốc độ xử lý mà còn ở khả năng linh động trong các ứng
dụng. Không những làm giảm nhẹ gánh nặng cho con người, nâng cao hiệu quả lao
động mà máy tính cịn giúp con người có những phát minh, sáng chế mới trong
nhiều lĩnh vực. Máy tính ngày càng được sử dụng rộng rãi trong các cơ quan, xí
nghiệp, trường học, trong các ngành kinh tế và ngay cả trong gia đình.

Việc ứng dụng máy vi tính vào kỹ thuật điều khiển đã đem lại những kết quả
đầy tính ưu việt. Các thiết bị, hệ thống đo lường và điều khiển ghép nối với máy
tính có độ chính xác cao, thời gian thu thập dữ liệu ngắn. Ngoài ra, máy tính cịn có
giao diện trên màn hình, rất thuận tiện cho người sử dụng.
Trong các lĩnh vực công nghiệp và điều khiển, việc kết nối máy tính với các
thiết bị ngoại vi ngày càng trở nên phổ biến. Máy tính được ứng dụng ở hầu hết
trong các lĩnh vực trong đó có điều khiển và đo lường, kết hợp với sự phát triển
không ngừng của các hệ thống mạng càng làm tăng tính năng linh động của các ứng
dụng địi hỏi trao đổi thơng tin từ xa.
Vì mục tiêu hiện đại hóa ngày càng phát triển, người nghiên cứu đã chọn đề
tài đồ án về điều khiển thiết bị điện qua mạng Lan dùng kit Raspberry Pi. Hệ
thống tổng quan của đề tài gồm hai thành phần chính là máy tính (client) và kit
Raspberry Pi(server) trong q trình giao tiếp, điều khiển qua mạng Lan. Khi hồn
thành có thể điều khiển các thiết bị điện trong nhà thông qua mạng Lan, tương tác
bằng tay qua nút nhấn, kiểm soát nhiệt độ phòng; hiển thị trạng thái hoạt động của
các thiết bị trên giao diện máy tính.
Khi hệ thống thành cơng và được áp dụng rộng rãi thì sẽ rất hữu ích cho đời
sống hằng ngày. Giúp cho đất nước ngày càng phát triển.

iii

do an


MỤC LỤC
LỜI CẢM ƠN......................................................................................................... i
LỜI NÓI ĐẦU ....................................................................................................... ii
TÓM TẮT ............................................................................................................ iii
MỤC LỤC ............................................................................................................ vi
DANH MỤC HÌNH ẢNH .................................................................................... ix

DANH MỤC BẢNG ............................................................................................. xi
CÁC TỪ VIẾT TẮT ........................................................................................... xii
Chương 1 TỔNG QUAN ....................................................................................... 1
1.1.Giới thiệu tình hình nghiên cứu hiện nay .................................................... 1
1.2.Tính cấp thiết của đề tài ............................................................................... 2
1.3.Mục tiêu nghiên cứu ..................................................................................... 2
1.4.Nhiệm vụ nghiên cứu.................................................................................... 3
1.5.Đối tượng và phạm vi nghiên cứu ................................................................ 3
1.6.Phương pháp nghiên cứu ............................................................................. 3
1.7.Bố cục của đồ án ........................................................................................... 4
Chương 2 CƠ SỞ LÝ THUYẾT ........................................................................... 5
2.1.

Lập trình giao tiếp mạng.......................................................................... 5

2.1.1. Giới thiệu về socket ............................................................................... 5
2.1.2. Phân loại Socket .................................................................................... 7
2.1.3. Lập trình TCP Socket dùng lớp Socket................................................ 8
2.1.4. Họ giao thức TCP/IP ........................................................................... 10
2.1.4.1. Tầng ứng dụng (Application Layer)............................................. 11
2.1.4.2. Tầng Giao Vận (Transport Layer) ............................................... 11
2.1.4.3. Tầng Internet (Internet Layer)..................................................... 16
2.1.4.4. Tầng giao tiếp mạng ...................................................................... 18

vi

do an


2.1.5. Phương thức hoạt động của bộ giao thức TCP/IP ............................. 18

2.2. Kit Raspberry Pi........................................................................................ 20
2.2.1. Sơ lược về kit Rasperry Pi .................................................................. 20
2.2.2. Lý do chọn kit Rasperry Pi ................................................................. 22
2.2.3. Các thành phần chính của kit Raspberry Pi ...................................... 22
2.2.4. Yêu cầu bộ nguồn dành cho kit Raspberry Pi ................................... 25
2.2.5. Hệ điều hành được cài đặt cho kit Raspberry Pi trong đề tài ........... 26
2.3.

IC 18B20 ................................................................................................. 26

Chương 3 THIẾT KẾ VÀ THI CƠNG............................................................... 31
3.1. Mơ hình hệ thống....................................................................................... 31
3.2. Board điều khiển trung tâm ...................................................................... 31
3.3.

Sơ đồ khối ............................................................................................... 32

3.3.1.

Thiết kế các khối .............................................................................. 33

3.3.2. Chương trình xử lý ở board trung tâm .............................................. 36
3.4. Phần mềm trên máy tính ........................................................................... 41
3.4.1. Nhiệm vụ của phần mềm trên máy tính ............................................. 41
3.4.2. Lưu đồ giải thuật chương trình trên máy tính................................... 41
Chương 4 KẾT QUẢ ........................................................................................... 47
4.1. Mơ hình tồn hệ thống .............................................................................. 47
4.2. Hoạt động của hệ thống............................................................................. 48
CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ..................................... 54
5.1. Kết luận...................................................................................................... 54

5.2. Hướng phát triển ....................................................................................... 54
TÀI LIỆU THAM KHẢO ................................................................................... 56
PHỤ LỤC ............................................................................................................ 57

vii

do an


DANH MỤC HÌNH ẢNH
Hình 2. 1 Hình minh họa socket............................................................................ 5
Hình 2. 2 Các giao thức TCP/IP phổ biến ............................................................ 6
Hình 2. 3 Phân loại socket ..................................................................................... 7
Hình 2. 4 Các bước bắt tay của giao thức TCP .................................................... 9
Hình 2. 5 Gửi, nhận dữ liệu với giao thức TCP.................................................... 9
Hình 2. 6 Cấu trúc họ giao thức TCP/IP ............................................................ 11
Hình 2. 7 Cấu trúc gói TCP................................................................................. 12
Hình 2. 8 Lưu đồ trạng thái kết nối TCP ........................................................... 14
Hình 2. 9 Cấu trúc gói tin IP ............................................................................... 16
Hình 2. 10 Q trình đóng mở dữ liệu trong gói TCP/IP .................................. 18
Hình 2. 11 Cấu trúc dữ liệu trong TCP/IP ......................................................... 19
Hình 2. 12 Chi tiết kit nhúng Raspberry Pi trên thực tế ................................... 20
Hình 2. 13 Kit nhúng Raspberry Pi Model B ................................................... 20
Hình 2. 14 Kit Raspberry Pi................................................................................ 23
Hình 2. 15 GPIO Model B+ ................................................................................. 25
Hình 2. 16 Cấu trúc của IC DS18B20 ................................................................. 27
Hình 2. 17 Nguồn cung cấp theo kiểu Parasite cho DS18B20 ............................ 29
Hình 2. 18 Nguồn cung cấp cho DS18B20 với nguồn cung cấp ngoài ............... 29
Hình 2. 19 Kết nối IC 18B20 với kit Raspberry Pi............................................. 30


Hình 3. 1 Mơ hình hệ thống................................................................................. 31
Hình 3. 2 Sơ đồ khối board trung tâm ................................................................ 32
Hình 3. 3 Kết nối kit Raspberry Pi với ngoại vi ................................................. 33
Hình 3. 4 Sơ đồ nguyên lý hệ thống .................................................................... 34
Hình 3. 5 Khối module 4 relay ............................................................................ 35
Hình 3. 6 Sơ đồ chân của khối module 4 relay ................................................... 35
Hình 3. 7 Lưu đồ chương trình trên kit Raspberry Pi ....................................... 36
Hình 3. 8 Lưu đồ thread gửi dữ liệu ................................................................... 37

ix

do an


Hình 3. 9 Lưu đồ thread nhận dữ liệu ................................................................ 38
Hình 3. 10 Thread điều khiển bằng tay .............................................................. 39
Hình 3. 11 Lưu đồ thread nhiệt độ ..................................................................... 40
Hình 3. 12 Lưu đồ chương trình giải thuật trên máy tính ................................. 42
Hình 3. 13 Lưu đồ thread nhận dữ liệu trên máy tính....................................... 43
Hình 3. 14 Lưu đồ thread gửi dữ liệu trên máy tính .......................................... 44
Hình 3. 15 Lưu đồ điều khiển bằng tay .............................................................. 45

Hình 4. 1 Mơ hình tồn hệ thống ........................................................................ 47
Hình 4. 2 Board trung tâm cùng 2 khối input, output ....................................... 47
Hình 4. 3 Chương trình đang chạy trên kit Raspberry Pi và máy tính ............ 48
Hình 4. 4 Bắt đầu chạy chương trình trên kit RPi ............................................. 49
Hình 4. 5 Khi nhấn nút kết nối ........................................................................... 49
Hình 4. 6 Trạng thái ban đầu của các thiết bị .................................................... 50
Hình 4. 7 Click bật thiết bị 1 ............................................................................... 50
Hình 4. 8 Trạng thái sau khi click BẬT thiết bị 1 .............................................. 51

Hình 4. 9 Bốn thiết bị điện đang bật ................................................................... 51
Hình 4. 10 Bốn thiết bị đang trong trạng thái tắt............................................... 52
Hình 4. 11 Điều khiển bật thiết bị 3 từ khối input ............................................. 53
Hình 4. 12 Điều khiển tắt thiết bị 3 từ khối input .............................................. 53

x

do an


DANH MỤC BẢNG
Bảng 2. 1 Một số port đã được đăng ký trong giao thức TCP ............................. 6
Bảng 2. 2 Bảng biểu diễn mối quan hệ giữa nhiệt độ và dữ liệu........................ 28

Bảng 3. 1 So sánh kit Raspberry Pi và Arduino................................................. 34

xi

do an


CÁC TỪ VIẾT TẮT
ACK

Acknowledgment

Báo nhận tín hiệu

DNS


Domain Name System

Hệ thống tên miền

FTP

File Transfer Protocol

Giao thức truyền tập tin

HDMI

High-DefinitionMulthimedia Interface

Giao diện đa phương tiện
độ phân giải cao

HTTP

HyperText Transfer Protocol

Giao thức truyền tải siêu
văn bản

I2C

Inter-Integrated Circuit

Mạch tích hợp liên


IMAP

Internet Message Access Protocol

Giao thức truy cập thông
báo Internet

I-O

Input-Output

Cổng vào - cổng ra

IoT

Internet of Things

Mạng lưới thiết bị internet

IP

Internet Protocol

Giao thức Liên mạng

LAN

Local Area Network

Mạng máy tính cục bộ


POP3

Post Office Protocol

Giao thức bưu điện tử

RPi

Raspberry Pi

Kit nhúng raspberry pi

SMTP

Simple Mail Transfer Protocol

Giao thức truyền tải thư tín
đơn giản

TCP

Transmission Control Protocol

Giao

thức

điều


khiển

truyền vận
UDP

User Datagram Protocol

Giao thức gói dữ liệu người
dùng

xii

do an


Chương 1 TỔNG QUAN
1.1.Giới thiệu tình hình nghiên cứu hiện nay
Tình hình nghiên cứu của đề tài được thể hiện qua việc theo dõi những ảnh
hưởng đến từ lĩnh vực khoa học công nghệ tiên tiến trên thế giới và tính ưu việt của
mơ hình hệ thống được nghiên cứu trong đề tài:
 Ngày nay cùng với sự tiến bộ của khoa học kỹ thuật, các thiết bị điện tử ra
đời ngày càng nhiều về chủng loại cũng như tính năng sử dụng. Bên cạnh đó
nhu cầu sử dụng các thiết bị một cách tự động ngày càng cao, con người
ngày càng muốn có nhiều thiết bị giải trí cũng như các thiết bị sinh hoạt với
kỹ thuật và công nghệ ngày càng cao. Có thể ở Việt nam chưa phát triển
mạnh mẽ trong lĩnh này nhưng hiện nay ở trên thế giới, nhất là các quốc gia
thuộc Châu Âu hay Mỹ thì mơ hình ngơi nhà tự động được điều khiển từ xa
đã phát triển rất mạnh mẽ.
 Cùng với sự phát triển mạnh mẽ của các ngành khoa học kỹ thuật, công nghệ
kỹ thuật điện tử mà trong đó là kỹ thuật tự động điều khiển đóng vai trò quan

trọng trong mọi lĩnh vực khoa học kỹ thuật, quản lí, cơng nghiệp, cung cấp
thơng tin ... Như chúng ta cũng đã biết, gần như các thiết bị tự động trong
nhà máy, trong đời sống của các gia đình ngày nay đều hoạt động độc lập với
nhau, mỗi thiết bị có một quy trình sử dụng khác nhau tuỳ thuộc vào sự thiết
lập, cài đặt của người sử dụng. Chúng chưa có một sự liên kết nào với nhau
về mặt dữ liệu. Nhưng đối với hệ thống điều khiển thiết bị qua mạng LAN
thì lại khác. Ở đây, các thiết bị điều khiển được kết nối với nhau thành một
hệ thống hoàn chỉnh qua một một thiết bị trung tâm và có thể giao tiếp với
nhau về mặt dữ liệu.
 Điển hình của một hệ thống điều khiển gồm các thiết bị đơn giản như bóng
đèn, quạt máy, lị sưởi đến các thiết bị tinh vi, phức tạp như tivi, máy giặt, hệ
thống báo động … Nó hoạt động như một hệ thống thông minh. Nghĩa là tất
cả các thiết bị này có thể giao tiếp với nhau về mặt dữ liệu thông qua một

1

do an


đầu não trung tâm. Đầu não trung tâm ở đây có thể là một máy vi tính hồn
chỉnh hoặc có thể là một bộ xử lí đã được lập trình sẵn tất cả các chương
trình điều khiển. Bình thường, các thiết bị có thể được điều khiển từ xa thơng
qua mạng LAN. Bên cạnh đó hệ thống cũng gửi thơng báo cho người điều
khiển biết nhiệt độ trong phòng hiện tại là bao nhiêu.
1.2.Tính cấp thiết của đề tài
Sự cấp thiết của đề tài được thể hiện qua lý do chọn đề tài và điểm nổi bật có
trong đề tài được chọn theo ý kiến của người nghiên cứu:
 Công nghệ ngày càng phát triển nhằm phục vụ nhu cầu cuộc sống của con
người. Việc phát triển Internet cũng như xu hướng IoT (Internet of Things)
nên việc giao tiếp qua mạng Internet đó là xu hướng phổ biến hiện tại cũng

như tương lai. Chính vì thế việc phát triển các thiết bị có khả năng giao tiếp
qua internet là rất cần thiết.
 Đề tài có tính ứng dụng thực tế khá tốt, mặc dù cịn đơn giản nhưng nó là cơ
sở để phát triển lên các ứng dụng khác tốt hơn trong đời sống.
 Board Raspberry Pi là một máy tính nhỏ gọn với tính ưu việc, cộng đồng hỗ
trợ rất lớn nên việc thực hiện đề tài là hoàn tồn khả thi và có tính ứng dụng
cao.
1.3.Mục tiêu nghiên cứu
Đề tài được thực hiện nhằm mục tiêu thiết kế, thi công hệ thống “điều khiển
thiết bị điện qua mạng LAN dùng kit Raspberry Pi”:
 Điều khiển đóng ngắt 4 thiết bị điện thơng qua board điều khiển hoặc chương
trình điều khiển trên máy tính.
 Đo và hiển thị được thơng tin nhiệt độ hiện tại ở chương trình trên máy tính
và kit Raspberry Pi.
 Board điều khiển kết nối, giao tiếp với máy tính qua mơi trường mạng LAN.

2

do an


 Phần mềm trên máy tính có thể thu thập và giám sát trạng thái, điều khiển
các thiết bị điện; hiển thị thông số nhiệt độ và thông tin trạng thái(tắt/mở)
của các thiết bị.
1.4.Nhiệm vụ nghiên cứu
Để thực hiện mục tiêu đặt ra, các nhiệm vụ cụ thể cần được giải quyết trong
quá trình thực hiện đề tài như sau:
 Giao tiếp mạng và lập trình giao tiếp mạng giữa thiết bị phần cứng và máy
tính.
 Lập trình thiết bị phần cứng: kit nhúng Raspberry Pi có chạy hệ điều hành.

 Lập trình phần mềm trên máy tính bằng ngơn ngữ C#.
1.5.Đối tượng và phạm vi nghiên cứu
Từ các nhiệm vụ đã đặt ra, các đối tượng phù hợp cụ thể cần được nghiên
cứu trong đề tài này là:
 Kit nhúng Raspberry Pi:
+ Cài đặt hệ điều hành cho kit.
+ Viết code và biên dịch ứng dụng bằng ngôn ngữ Python.
+ Lập trình giao tiếp mạng.
+ Lập trình giao tiếp I-O.
 Các thiết bị ngoại vi: relay, cảm biến nhiệt độ DS18B20,các nút nhấn,...
 Ngơn ngữ C#: lập trình giao tiếp mạng_lập trình TCP socket.
1.6.Phương pháp nghiên cứu
Trong quá trình thực hiện đề tài, người nghiên cứu đã thực hiện các phương
pháp sau để đạt yêu cầu đề ra:
 Tham khảo các tài liệu lý thuyết liên quan tới việc thực hiện đề tài.
 Khảo sát và tìm hiểu các ý tưởng, ứng dụng tương tự .
 Thử nghiệm thực tế.
 Tham khảo ý kiến thầy hướng dẫn.
3

do an


 Tìm hiểu thêm thơng tin cần thiết trên Internet.
1.7.Bố cục của đồ án
Đồ án được chia làm 5 chương với nội dung chính của từng chương như sau:
 Chương 1: Tổng quan.
Chương này trình bày sơ lược về tình hình nghiên cứu hiện nay, tính cấp
thiết cùng lý do chọn đề tài, phương pháp, mục tiêu , đối thượng và phạm vi
nghiên cứu.

 Chương 2: Cơ sở lý thuyết.
Nội dung chủ yếu của chương này là trình bày lý thuyết về lập trình mạng,
kit Raspberry Pi và ngơn ngữ lập trình liên quan (Python).
 Chương 3: Thiết kế và thi cơng.
Trong chương này, người nghiên cứu sẽ trình bày về mơ hình của hệ thống;
chức năng, sơ đồ khối và các chương trình xử lý trên board trung tâm; nhiệm
vụ của phần mềm và lưu giải thuật cùng các phần mềm trên máy tính.
 Chương 4: Kết quả.
Kết quả thực hiện đồ án sẽ được thể hiện trong chương này, bao gồm mơ
hình và hoạt động của tồn hệ thống.
 Chương 5: Kết luận và hướng phát triển.
Chương này mang tính tổng kết cho tồn bộ q trình thực hiện đồ án; nhận
xét ưu, nhược điểm của hệ thống và đưa ra định hướng mở cho đề tài thực
hiện.

4

do an


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

Lập trình giao tiếp mạng

2.1.1. Giới thiệu về socket
Góc độ mạng: Socket là 1 trong 2 điểm cuối của đường kết nối 2 chiều giữa
2 chương trình thực thi trên mạng.

Hình 2. 1 Hình minh họa socket

Góc độ người lập trình: Socket là một giao diện lập trình ứng dụng (API)
mạng. Thơng qua giao diện này chúng ta có thể lập trình điều khiển việc truyền
thông giữa 2 máy sử dụng các giao thức mức thấp là TCP, UDP,...
Socket là sự trừu tượng hóa ở mức cao, có thể tưởng tượng nó như là thiết bị
truyền thông hai chiều gửi-nhận dữ liệu giữa hai máy tính với nhau.
Các socket phân biệt với nhau bằng địa chỉ được gọi là địa chỉ cổng (Port
Number). Địa chỉ cổng là một con số 16 bit (trong phạm vi 1-65535), trong đó các
địa chỉ :
 Từ 1-1023 là các port đã đăng ký (well-known port).
 Các địa chỉ còn lại là các port tự do (từ 1024-49151: cổng phải đăng kí
(registered port); từ 49152-65535:cổng dùng riêng (private port) ).
 Một số port đã đăng ký và được liệt kê ở bảng dưới:

5

do an


Port Number

Protocol

21

FTP

23

Telnet


25

SMTP (email, outgoing)

53

DNS

80

HTTP(Web)

110

POP3(email, incoming)

143

IMAP (email, incoming)

Bảng 2. 1 Một số port đã được đăng ký trong giao thức TCP
TCP và UDP là hai giao thức hoạt động ở tầng giao vận trong mơ hình
TCP/IP, có nhiệm vụ truyền nhận dữ liệu đầu cuối cho ứng dụng.

Hình 2. 2 Các giao thức TCP/IP phổ biến
 TCP cung cấp dịch vụ tin cậy và theo hướng kết nối:
+ Có thiết lập kết nối giữa bên truyền và bên nhận.
+ Có kiểm sốt tắc nghẽn và điều khiển lưu lượng: có bộ đệm truyền/nhận
dữ liệu.
+ Đảm bảo truyền/nhận đúng dữ liệu.

6

do an


 UDP cung cấp dịch vụ không dây tin cậy và không hướng kết nối:
+ Không thiết lập kết nối.
+ Khơng kiểm sốt tắc nghẽn.
+ Khơng đảm bảo truyền nhận đúng.
2.1.2. Phân loại Socket
Socket được phân ra thành các loại như sau:
+ Socket hướng kết nối (TCP Socket)
+ Socket không hướng kết nối (UDP Socket)
+ Raw Socket

Hình 2. 3 Phân loại socket
 Đặc điểm Socket hướng kết nối:
+ Có một đường kết nối ảo giữa hai tiến trình.
+ Một trong hai tiến trình phải đợi tiến trình kia yêu cầu kết nối.
+ Có thể sử dụng để liên lạc theo mơ hình Client/server
+ Trong mơ hình Client/Server lắng nghe và chấp nhận một yêu cầu kết nối
+ Mỗi thông điệp gửi đều có xác nhận trở về.
+ Các gói tin chuyển đi tuần tự.

7

do an


 Đặc điểm của Socket không hướng kết nối:

+ Hai tiến trình liên lạc với nhau khơng kết nối trực tiếp.
+ Thông điệp gửi đi phải kèm theo địa chỉ của người nhận.
+ Thơng điệp có thể gửi nhiều lần.
+ Người gửi không chắc chắn thông điệp tới tay người nhận.
+ Thơng điệp gửi sau có thể đến đích trước thơng điệp gửi trước đó.
 Số hiệu của Socket:
+ Để có thể thực hiện các cuộc giao tiếp, một trong hai q trình phải cơng
bố số hiệu cổng của socket mà mình sử dụng.
+ Mỗi cổng giao tiếp thể hiện một địa chỉ xác định trong hệ thống. Khi quá
trình được gán một số hiệu cổng, nó có thể nhận dữ liệu gửi đến cổng này
từ các quá trình khác.
+ Q trình cịn lại cũng u cầu tạo ra một socket.
2.1.3. Lập trình TCP Socket dùng lớp Socket
Khi hai ứng dụng khởi tạo một phiên làm việc sử dụng dịch vụ TCP, quá
trình làm việc bao gồm ba giai đoạn:
 Giai đoạn 1: bắt tay kết nối.
 Giai đoạn 2: truyền, nhận dữ liệu.
 Giai đoạn 3: đóng kết nối.
Mỗi giai đoạn yêu cầu các bit cờ được thiết lập trong một thứ tự nào đó. Q
trình bắt tay kết nối (3 cái bắt tay) yêu cầu 3 bước để thành lập kết nối:
 Thiết bị gửi gửi cờ SYN cho biết bắt đầu phiên làm việc.
 Thiết bị nhận gửi cả cờ SYN và ACK trong cùng một gói tin cho biết nó
chấp nhận bắt đầu phiên làm việc.
 Thiết bị gửi gửi cờ ACK cho biết phiên làm việc đã mở và sẵn sàng cho việc
gửi và nhận các gói tin.

8

do an



Sau khi phiên làm việc được thành lập, cờ ACK sẽ được thiết lập trong các
gói tin. Để đóng phiên làm việc, một quá trình bắt tay khác được thực hiện dùng cờ
FIN:
 Thiết bị khởi đầu đóng kết nối gửi cờ FIN.
 Thiết bị bên kia gửi cờ FIN và ACK trong cùng một gói tin cho biết nó chấp
nhận đóng kết nối.
 Thiết bị khởi đầu đóng kết nối gửi cờ ACK để đóng kết nối.

Hình 2. 4 Các bước bắt tay của giao thức TCP
Khi lập trình cho các ứng dụng sử dụng TCP socket, phải thực hiện đầy đủ 3
giai đoạn như trên.
Thứ tự gọi các phương thức trong lập trình như sau:

Hình 2. 5 Gửi, nhận dữ liệu với giao thức TCP
+ Phía máy server sẽ tiến hành lần lượt các thao tác:
9

do an


 Tạo một socket mới.
 Liên kết với một IPEndPoint cục bộ: tác dụng của bind là giúp cho
socket của server biết rằng nó sẽ chờ đợi kết nối và nhận dữ liệu trên
IP nào và port là bao nhiêu.
 Lắng nghe kết nối: kể từ khi gọi hàm listen thì server sẽ bắt đầu lắng
nghe kết nối của mình.
 Chấp nhận kết nối: khi client kết nối tới server, client phải chờ server
chấp nhận kết nối bằng hàm accept.
 Truyền nhận dữ liệu.

 Đóng kết nối và trở về trạng thái lắng nghe kết nối.
+ Phía máy client sẽ tiến hành lần lượt:
 Xác định địa chỉ của server.
 Tạo socket.
 Kết nối đến server: hàm connect được gọi từ client nếu muốn kết nối
tới server.
 Truyền nhận dữ liệu.
 Đóng kết nối.
2.1.4. Họ giao thức TCP/IP
TCP/IP là viết tắt của Transmission Control Protocol / Internet Protocol
(Giao thức Điều Khiển Truyền Thông /Giao thức Internet). Các tầng trong mô hình
này là:
 Tầng Ứng Dụng (Application Layer).
 Tầng Giao Vận (Transport Layer).
 Tầng Liên Mạng (Internet Layer).
 Tầng Giao Tiếp Mạng (Network Interface Layer).

10

do an


Hình 2. 6 Cấu trúc họ giao thức TCP/IP
2.1.4.1. Tầng ứng dụng (Application Layer)
Tầng ứng dụng gồm nhiều giao thức cung cấp cho các ứng dụng người dùng.
Được sử dụng để định dạng và trao đổi thông tin người dùng và hệ thống.
Một số giao thức thông dụng trong tầng này là: HTTP, FTP, SMTP,…
TCPServer, mở sẵn port mặc định sẵn sàng đợi yêu cầu kết nối từ các client. Các
client sẽ khởi tạo kết nối TCP thông qua port này, sau khi TCPserver chấp nhận kết
nối, client sẽ gửi một bản tin tới server trên kết nối TCP vừa thiết lập. Server sẽ trả

lời lại bằng một bản tin khác. Bản tin này sẽ chứa nội dung yêu cầu.
2.1.4.2. Tầng Giao Vận (Transport Layer)
Nhiệm vụ của tầng là thiết lập phiên truyền thơng giữa các máy tính và quy
định cách truyền dữ liệu. Hai giao thức chính trong tầng này gồm UDP (User
Datagram Protocol) và TCP (Transmission Control Protocol).
Do UDP cung cấp các kênh truyền thông phi kết nối nên nó khơng đảm bảo
truyền dữ liệu một cách tin cậy. Vì vậy trong phạm vi đồ án, người nghiên cứu sử
dụng thức TCP.

11

do an


Ngược lại với UDP, TCP cung cấp các kênh truyền thông hướng kết nối và
đảm bảo truyền dữ liệu một cách tin cậy. TCP thường truyền các gói tin có kích
thước lớn và yêu cầu phía nhận xác nhận về các gói tin đã nhận.
Cấu trúc gói TCP:

Hình 2. 7 Cấu trúc gói TCP
 Số port đích và số port nguồn: để phân biệt các tiến trình ứng dụng đang xảy
ra trong máy tính.
 Các số sequence và Acknowledgement: số sequence để phân biệt các
segment khác nhau trong một dòng dữ liệu, các số Acknowledgement dùng
trong cơ chế xác nhận.
 Vùng Data offset: chiều dài của Header tính theo đơn vị 32 bit.
 Một số cờ (flags):
+ .URG (Urgent): thiết lập 1 khi có dữ liệu quan trọng cần truyền ngay.
+ .ACK: cho biết có số xác nhận nằm trong vùng Acknowledgement.
+ . PSH (Push): được thiết lập trong trường hợp dữ liệu nên được giao tức

thời
+ .RST (Reset): chỉ thị một lỗi sai và hủy bỏ phiên làm việc
+ . SYN (Synchronize): trong các bản tin khởi tạo khi thiết lập một kết nối
truyền dữ liệu
12

do an


×