BỘ GIÁO DỤC VÀ ĐÀO TẠO
VIỆN ĐẠI HỌC MỞ HÀ NỘI
LUẬN VĂN THẠC SỸ
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
ỨNG DỤNG
ẠNGINTE NET ĐỂ ĐIỀU
THIẾT BỊ ĐIỆN T ONG GI Đ NH
NGUYỄN ĐỨC HIỂU
HÀ NỘI -2015
HIỂN
BỘ GIÁO DỤC VÀ ĐÀO TẠO
VIỆN ĐẠI HỌC MỞ HÀ NỘI
LUẬN VĂN THẠC SỸ
ỨNG DỤNG
ẠNGINTE NET ĐỂ ĐIỀU
HIỂN
THIẾT BỊ ĐIỆN T ONG GI Đ NH
Hoan, người đã tận tình giúp đỡ em rất nhiều về kiến thức chuyên môn cũng như
những tài liệu kỹ thuật phục vụ cho công tác nghiên cứu.
Em xin chân thành cảm ơn các thầy, cô giáo đã và đang giảng dạy tại Viện Đại
học Mở - Hà Nội và các thầy cô trong Khoa Sau Đại học đã tạo điều kiện giúp đỡ
em hoàn thành đề tài tốt nghiệp. Em cảm ơn tất cả bạn bè, đồng nghiệp đã nhiệt tình
giúp đỡ, động viên và góp ý cho bản luận văn này.
Mặc dù em đã rất nỗ lực và cố gắng để hoàn thành luận văn tốt nghiệp này song
chắc chắn không thể tránh khỏi những sai sót nhất định. Vì vậy, em rất mong được
sự hướng dẫn chỉ bảo, góp ý của thầy, cô và đồng nghiệpđể luận văn của em ngày
càng được hoàn thiện hơn.
ii
MỤC LỤC
LỜI C
ĐO N ............................................................................................. i
LỜI CẢ ƠN .................................................................................................. ii
MỤC LỤC ....................................................................................................... iii
BẢNG DANH MỤC CHỮ VIẾT TẮT.......................................................... v
DANH MỤC HÌNH ....................................................................................... vii
LỜI MỞ ĐẦU .................................................................................................. 1
Chƣơng 1: TỔNG QUAN VỀ ĐIỀU KHIỂN MỘT SỐ THIẾT BỊ TỪ XA
TRONG GI Đ NH ........................................................................................ 2
1.1 Vấn đề đo và điều khiển các thiết bị trong gia đình từ xa ....................2
1.2 Mạng Internet ứng dụng trong điều khiển thiết bị gia đình từ xa .........5
1.2.1 Mạng cục bộ và giao thức ......................................................................5
1.2.2 Một số giao thức của mạng Internet ......................................................7
1.2.3
3.
ng ứng dụng điều khiển cho PIC 16F887A ................................43
3.1.1 Một số ứng dụng cụ thể .......................................................................43
3.1.2 Thiết kế giao diện điều khiển...............................................................45
3.1.3 Thiết kế mạch điện...............................................................................46
3.2 Mô tả hoạt động trao đổi dữ liệu .............................................................48
3.2.1 Trao đổi dữ liệu Client, Server, PIC ....................................................48
3.2.2 Cài đặt ..................................................................................................52
KẾT LUẬN .................................................................................................... 61
TÀI LIỆU THAM KHẢO ............................................................................ 63
iv
BẢNG DANH MỤC CHỮ VIẾT TẮT
AC
Dòng điện xoay chiều
Alternating Current
ADC
ALU
ARP
AT
CGI
Dòng điện một chiều
Hệ thống tên miền
Bộ nhớ chỉ đọc có thể lập trình
và xóa
Internet Group Management
Protocol
Internet Protocol
Kết thúc
Giao thức truyền tập tin
Tinh thể tốc độ cao
Giao thức vận chuyển siêu văn
bản
Giao thức thông báo điều hiển
mạng
Giao thức quản trị
nhóm
Internet
Giao thức Internet
IRC
Infrared Remote Control
Điều khiển hồng ngoại
ISP
LED
LP
Resistor Capacitor
Radio Frequency
Giao thức kết nối điểm điểm
Đẩy
Điều biến độ rộng xung
Dao động do mạch RC tạo ra
Tần số vô tuyến
HTTP
HyperText Transfer Protocol
ICMP
Internet Control Message Protocol
IGMP
IP
MIME
NIS
v
RIP
RST
SCI
SMTP
Thông tin định tuyến mạng
Khởi động lai
Giao diện truyền thông nối tiếp
Giao thức chuyển thư đơn giản
Ký tự đồng bộ hoá
Giao thức Điều khiển - giao thức
Internet
Thiết bị đầu cuối
Loại dịch vụ
Giao thức gói dữ liệu người
dùng
Chuyển đổi hông đồng bộ, bất
đồng bộ
Wireless Application Protocol
Watchdog Timer Reset
vi
Vi điều hiển
Vi xử lý
Giao thức ứng dụng hông dây
Thiết bị tính giờ thiết lập lại
DANH MỤC HÌNH
Hình 1.1: Sơ đồ kết nối ngôi nhà thông minh SmartHome ..................................3
Hình 1.2: Bộ điều khiển trung tâm LUMI ............................................................5
Hình 1.3: Cấu trúc họ giao thức TCP/IP ..............................................................8
Hình 3.16: Cấu hình máy chủ .............................................................................55
Hình 3.17: Nhập mật hẩu ..................................................................................56
Hình 3.18: Cấu hình máy chủ .............................................................................56
Hình 3.19: Cấu hình IP máy chủ ........................................................................56
Hình 3.20:Thiết lập IP tĩnh cho máy chủ ...........................................................57
Hình 3.21: Thiết lập IP tĩnh cho máy chủ ..........................................................57
Hình 3.22: Thiết lập IP tĩnh cho máy chủ ..........................................................58
Hình 3.23: Cấu hình trên Modem .......................................................................59
Hình 3.24: Cấu hình tạo một Host ......................................................................59
viii
LỜI MỞ ĐẦU
Với sự phát triển mạnh mẽ của công nghệ đã làm thay đổi đến nhiều lĩnh vực
khoa học kỹ thuật. Một trong những ứng dụng rất được quan tâm hiện nay đang
được đề cập nhiều là “ngôi nhà thông minh”. Với khả năng lập trình, nhiều yêu cầu
mà trước kia rất hó hăn và tốn ém thì ngày nay đã trở nên đơn giản hơn.
Ngày nay nói đến điều thiển thông minh không thể hông nói đến công nghệ
thông tin qua đó nhờ công nghệ thông tin mà những thiết bị điều khiển hiện nay
được điều khiển một cách dễ dàng hơn.Nhiều phương pháp đo và điều khiểm mới
được hình thành và áp dụng nhằm nâng cao độ chính xác và độ tin cậy của công
nghệ. Cũng chính nhờ công nghệ thông tin và sự đa dạng trong các giải pháp điều
khiển được kết hợp một cách hợp lý mang lại sự tiện lợi và hiệu suất cao.Công nghệ
điều khiển hoặc điều khiển tự động được ghép với máy tính thông qua các giao tiếp
được áp dụng khá rộng dãi và do vậycon người có thể ngồi một chỗ để điều khiển
các thiết bịthông qua mạng nội bộ hoặc Intenet.
Nhận thức được tầm quan trọng trong điều khiển thiết bị qua mạng ứng dụng
vào thực tế, em đã chọn luận văn tốt nghiệp Ứng ụng mạngInt rn t để điều
khiển thiết bị điện trong gia đình”. Trong thời gian hoàn thành luận văn, em đã
Như chúng ta đều biết, sự phát triển như vũ bão của công nghệ thông tin đã,
đang và sẽ là một nhân tố quan trọng góp phần làm thay đổi bộ mặt của các lĩnh vực
tự inh tế - xã hội, trong đó có môi trường sống của con người. Con người, giờ đây
có thể có một ngôi nhà trong đó đồ dùng trong nhà từ phòng ngủ, phòng hách đến
toilet đều gắn các bộ điều hiển điện tử có thể ết nối với Internet và điện thoại di
động, cho phép chủ nhân điều hiển vật dụng từ xa hoặc lập trình cho thiết bị ở nhà
hoạt động theo lịch. Việc lắp đặt các sản phẩm thông minh đem lại cho ngôi nhà và
chủ nhân của nó rất nhiều lợi ích – tương tự như những lợi ích mà công nghệ, đặc
biệt là công nghệ thông tin đã đem lại cho chúng ta 30 năm qua - bao gồm: sự tiện
nghi, tiết iệm thời gian, tiền bạc và năng lượng.
Các chức năng chính thường sử dụng trong ngôi nhà là:
-
Điều hiển nhiệt độ, độ ẩm thông qua điều hiển điều hòa, quạt
-
Điều hiển chiếu sáng (on/off, dimmer, scence, timer, logic,...)
-
Điều hiển mành, rèm, cửa cổng
-
Hệ thống an ninh, báo động, báo cháy
-
Hệ thống âm thanh đa vùng
Hiện tại trên thế giới có rất nhiều hãng cung cấp cho các thiết bị đo và điều
hiển các thiết bị trongngôi nhà, trong đó nổi bật nhất là các hãng Home
Automation Inc (HAI- Nay là Leviton security & Automation), ELK, Vantage,
Control4. Ở thị những thị trường Việt Nam cũng đã có những hang đưa ra những
sản phẩm của mình như Lumi, B av SmartHome …
- Ngôi nhà thông minh SmartHome
Ngôi nhà thông minh SmartHome là sự ết nối tất cả các thiết bị trong nhà thành
một mạng để có thể điểu hiển chúng một cách linh hoạt hoặc theo ịch bản như bật
đèn, bật điều hòa , bật nước nóng , giám sát an ninh .vv..
Thông thường để điều hiển tất cả các thiết bị trong nhà, bạn cần tới hàng chục
công tắc, thậm chí với căn nhà lớn hàng trăm công tắc. Với nhà thông minh
SmartHome, bạn có thể điều khiển tất cả bằng một vài nút bấm trên màn hình cảm
ứng của smartphone hay máy tính bảng. Bạn cũng có thể điều khiển và kiểm soát
ngôi nhà thông qua giao diện trực quan 3D, ở đó các thiết bị được mô phỏng giống
như đang sử dụng thực tế, chỉ cần chạm vào thiết bị tương ứng trong màn hình để
điều khiển.
Hình 1.1: Sơ đồ kết nối ngôi nhà thông minhSmartHome
3
Một kịch bản thường gặp, trước khi trở về nhà từ cơ quan, bạn chỉ cần bấm “Về
nhà”, bình nóng lạnh sẽ bật, hệ thống quạt thông gió, điều hòa nhiệt độ sẽ khởi
động… để khi bạn về đến nhà, tất cả đã sẵn sàng phục vụ.
Không chỉ điều khiển trực tiếp trên Smartphone, máy tính bảng, bạn có thể điều
khiển nhà mình bằng giọng nói của chính bạn. Nhà thông minh SmartHome được
trang bị công nghệ trợ lý ảo, giúp giao tiếp với hệ thống trở nên thân thiện, không
cứng nhắc như một hệ thống điều khiển thông thường. Sẽ là một trải nghiệm tuyệt
vời khi bạn ra lệnh bằng giọng nói và hệ thống đáp ứng bạn.
liệu của hai thiết bị này sẽ bị phủ lấp lẫn nhau, không sử dụng được. Vì thế cần có
một cơ chế để giải quyết sự cạnh tranh đường truyền giữa các thiết bị. Người ta gọi
phương pháp giải quyết cạnh tranh đường truyền giữa các thiết bị trong một mạng
cục bộ là Giao thức điều khiển truy cập đường truyền (Media Access Control
Protocol hay MAC Protocol). Có hai giao thức chính thường được dùng trong các
mạng cục bộ là: Giao thức CSMA/CD (Carrier Sense Multiple Access with
Collision Detection) và Token Passing.
Trong các mạng sử dụng giao thức CSMA/CD như Ethernet chẳng hạn, các thiết
bị mạng tranh nhau sử dụng đường truyền. Khi một thiết bị muốn truyền tin, nó phải
lắng nghe xem có thiết bị nào đang sử dụng đường truyền hay không. Nếu đường
truyền đangrảnh, nó sẽ truyền dữ liệu lên đường truyền. Trong quá trình truyền tải, nó
đồng thời lắng nghe, nhận lại các dữ liệu mà nó đã gửi đi để xem có sự đụng độ với dữ
liệu của các thiết bị khác hay không. Một cuộc đụng độ xảy ra nếu cả hai thiết bị cùng
truyền dữ liệu một cách đồng thời. Khi đụng độ xảy ra, mỗi thiết bị sẽ tạm dừng một
khoản thời gian ngẫu nhiên nào đó trước khi thực hiện truyền lại dữ liệu bị đụng độ.
5
Khi mạng càng bận rộn thì tần suất đụng độ càng cao. Hiệu suất của mạng giảm đi
một cách nhanh chóng khi số lượng các thiết bị nối kết vào mạng tăng lên.
Trong các mạng sử dụng giao thức Token-passing như To en Ring hay FDDI,
một gói tin đặc biệt có tên là thẻ bài (To en) được chuyển vòng quanh mạng từ thiết
bị này đến thiết bị kia. Khi một thiết bị muốn truyền tải thông tin, nó phải đợi cho
đến hi có được token. Khi việc truyền tải dữ liệu hoàn thành, to en được chuyển
sang cho thiết bị kế tiếp. Nhờ đó đường truyền có thể được sử dụng bởi các thiết bị
khác. Tiện lợi lớn nhất của mạng Token-passing là ta có thể xác định được khoản
thời gian tối đa một thiết bị phải chờ để có được đường truyền và gởi dữ liệu. Chính
vì thế mạng Token-passing thường được sử dụng trong các môi trường thời gian
thực, như điều khiển thiết bị công nghiệp, nơi mà thời gian từ lúc phát ra một tín
truyền dữ
liệu thành
công.IP (Internet Protocol): định tuyến (Route) các gói dữ liệu hi chúng được
truyền qua Internet, đảm bảo dữ liệu sẽ đến đúng nơi cần nhận.
-
HTTP :cho phép trao đổi thông tin (chủ yếu ở dạng siêu văn bản) qua
Internet.
:cho phép trao đổi tập tin qua Internet.
-
FTP
-
SMTP :cho phép gởi các thông điệp thư điện tử (e-mail) qua Internet.
-
POP3 :cho phép nhận các thông điệp thư điện tử qua Internet.
-
MIME : một mở rộng của giao thức SMTP, cho phép gởi èm các tập
tin nhị phân, phim, nhạc,... theo thư điện tử.
ng Dụng (Application Layer)
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,…Trong phạm vi luận văn,chúng ta sử
dụng giao thức HTTP mà cụ thể là xây dựng một Webserver nhúng vào hệ thống.
7
HTTP là giao thức truyền tải siêu văn bản (HyperText Transfer Protocol). HTTP
xác định cách các thông điệp được định dạng và truyền tải ra sao và hoạt động của
Webserver và các trình duyệt Web.
Trong mô hình của HTTP, Webserver đồng thời cũng là TCPServer, mở sẵn Port
mặc định dành cho dịch vụ HTTP.
Hình 1.3: Cấu trúc họ giao thức TCP/IP
TCP80 (ở chế độ listen), 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 Webserver chấp nhận kết nối,
client sẽ gửi một bản tin HTTP (HTTP message) gọi là HTTP request 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 HTTP khác là
HTTP Response. Bản tin này sẽ chứa nội dung trang Web yêu cầu (được viết bằng
ngôn ngữ HTML).Như vậy giao thức HTTP sẽ dựa cơ bản trên các bản tin HTTP,
gồm 2 loại là HTTP Request và HTTP Response.
Giả sử ta truy nhập vào địa chỉ IP của Webserver là 192.168.1.10 qua trình
duyệt. Lúc đó, máy tính của chúng ta sẽ gửi đi một bản tin Request của giao thức
HTTP là HTTP Get thông qua giao thức TCP (với cổng TCP được qui định cho
giao thức HTTP là 80) đến địa chỉ Webserver trên.
1.4.
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) như sau:
9
- 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
Hình 1.4: Cấu trúc gói TCP
- PSH: được thiết lập trong trường hợp dữ liệu nên được giao tức thời
- RST: chỉ thị một lỗi sai và hủy bỏ phiên làm việc
- SYN: 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
-FIN (Finish): dùng đóng 1 phiên làm việc
- Vùng Window: chỉ ra số lượng không gian bộ đệm khả dụng để nhận dữ liệu
- Vùng Checksum: vùng kiểm tra sai cho cả Segment
- Vùng Urgent Pointer: chỉ ra chiều dài của dữ liệu Urgent
- Vùng Options: xác định ích thước cực đại của 1 Segment.
Cụ thể hơn, vai trò của TCP trong chồng giao thức TCP gồm 3 chức năng
chính: điều khiển luồng, kiểm soát lỗi và báo nhận.Điều khiển luồng: điều phối tốc
độ và ích thước luồng dữ liệu để đảm bảo phía nhận đủ khả năng nhận và xử lý
luồng dữ liệu.Kiểm soát lỗi: đảm bảo các gói tin đến đúng và đủ.Báo nhận: khi nhận
được dữ liệu và không có lỗi, phía nhận phải báo lại với phía gửi biết. Để thực hiện
10
(nhận được bản tin ACK trên) thì nó chuyển sang trạng thái “FIN wait 2”.Đến lúc
11
này Server vẫn có thể tiếp tục gửi dữ liệu và Client vẫn tiếp tục nhận (vì chỉ có
Client báo là gửi xong dữ liệu).
Hình 1.5: Lƣu đồ trạng thái kết nối TCP
Đến khi nào Server cũng gửi hết dữ liệu, nó sẽ gửi đi bản tin FIN, cho biết nó
cũng đã gửi xong dữ liệu và chuyển sang trạng thái “LAST ACK”.Khi Client nhận
được bản tin FIN trên từ Server, nó gửi xác nhận (ACK) và chuyển sang trạng thái
“Time wait”, sau đó chờ 1 khoảng thời gian Timeout và đóng ết nối, quay lại trạng
thái “Close”.Khi Server nhận được nó cũng chuyển từ “Last ACK” sang “Close”
(không cần đợi Timeout)
12
- Tầng Internet: Nằm bên trên tầng truy nhập mạng. Tầng này có chức năng
gán địa chỉ, đóng gói và định tuyến (Route) dữ liệu.Các giao thức quan trọng nhất
trong tầng này gồm:
+ IP (Internet Protocol): Có chức năng gán địa chỉ cho dữ liệu trước hi truyền
và định tuyến chúng tới đích.
+ARP (Address Resolution Protocol): Có chức năng biên dịch địa chỉ IP của
máy đích thành địa chỉ MAC.
+ ICMP (Internet Control Message Protocol): Có chức năng thông báo lỗi
trong trường hợp truyền dữ liệu bị hỏng.
+ IGMP (Internet Group Management Protocol): Có chức năng điều hiển
truyền đa hướng (Multicast) .
Header Ethernet vào và gửi đi.Nhưng giao thức Ethernet lại gửi các khung dữ liệu
đi dựa vào một loại địa chỉ hác là địa chỉ MAC (hay còn gọi là địa chỉ vật lý). Tại
sao lại cần đến 2 địa chỉ như vậy? Lý do là địa chỉ vật lý chỉ có giá trị trong phạm vi
mạng LAN, nó sẽ hông thể giúp xác định vị trí Host ở bên ngoài phạm vi mạng
LAN. Khi gửi dữ liệu ra ngoài mạng LAN, các Router sẽ chuyển dữ liệu đi dựa và
địa chỉ IP.Như vậy trong phần địa chỉ MAC nguồn và địa chỉ MAC đích trong
14
Header của hung Ethernet, ta sẽ điền các địa chỉ nào? Đối với địa chỉ MAC nguồn,
đương nhiên ta sẽ điền địa chỉ MAC của chính ENC28J60 đã được xác lập. Nhưng
còn địa chỉ MAC đích, sẽ có 2 trường hợp xảy ra.Nếu host đích nằm trong cùng 1
mạng LAN với chúng ta, ta sẽ điền địa chỉ MAC đích là địa chỉ tương ứng của Host
đích. Frame dữ liệu sẽ được gửi thẳng đến đích.Nếu host đích nằm bên ngoài mạng
LAN, rõ ràng ta không thể gửi dữ liệu trực tiếp đến host đích mà phải thông qua
gateway, hi đó địa chỉ MAC đích phải là địa chỉ Gateway.Vẫn còn một vấn đề nữa
mà ta phải giải quyết. Đó là trong cả hai trường hợp trên, dù là cần gửi cho Gateway
hay thẳng đến Host đích, thì đến đây, ta mới chỉ biết địa chỉ IP của Host đích (hay
của Gateway) mà hông biết địa chỉ MAC tương ứng. Vậy nảy sinh một vấn đề là
làm sao biết được địa chỉ MAC của một Host hi biết địa chỉ IP.Đến đây, chính là
phát sinh vai trò của giao thức phân giải địa chỉ (ARP – Address Resolution
Protocol). Vai trò của giao thức này là tìm ra địa chỉ MAC hi biết địa chỉ IP của 1
Host.Cấu trúc gói ARPđược thể hiện ở hình 1.7.
- Ý nghĩa:
- Hardware type (2 bytes): cho biết loại địa chỉ phần cứng, đối với địa chỉ MAC
của giao thức Ethernet thì giá trị này được qui định là "0x0001". Protocol type (2
bytes): cho biết loại địa chỉ giao thức lớp trên, đối với địa chỉ IP, giá trị này được
qui định là “0x0800”. PLEN (1 byte): cho biết chiều dài của địa chỉ giao thức (địa
chỉ IP). Operation (2 bytes): cho biết hoạt động đang thực hiện trong gói tin này