XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN CÁC THIẾT BỊ ĐIỆN GIA DỤNG QUA MẠNG (Full Code) - Pdf 29

ĐẠI HỌC ĐÀ NẴNG
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
Tel. (84-511) 736 949, Fax. (84-511) 842 771
Website: itf.dut.edu.vn, E-mail:

LUẬN VĂN TỐT NGHIỆP KỸ SƯ
NGÀNH CÔNG NGHỆ THÔNG TIN
MÃ NGÀNH : 0511
ĐỀ TÀI :
XÂY DỰNG HỆ THỐNG ĐIỀU KHIỂN CÁC THIẾT BỊ
ĐIỆN GIA DỤNG QUA MẠNG
Mã số : 06T3-23
07T2-08
07T2-44
Ngày bảo vệ : 13/06/2012 – 14/06/2012
SINH VIÊN :
LỚP : 06T3
LỚP : 07T2
CBHD : TS. HUỲNH CÔNG PHÁP
ĐÀ NẴNG, 06/2012
LỜI CẢM ƠN
Lời đầu tiên chúng tôi xin bày tỏ lòng biết ơn sâu sắc đến tất cả quý thầy cô,
những người đã tận tụy dạy dỗ, truyền đạt kiến thức và kinh nghiệm quý báu cho
chúng tôi trong suốt năm năm học qua.
Chúng tôi xin chân thành cảm ơn TS. Huỳnh Công Pháp - thuộc bộ môn Công
nghệ phần mềm, khoa Công nghệ thông tin, trường Đại học Bách khoa Đà Nẵng,
người đã hướng dẫn, tạo điều kiện thuận lợi và giúp đỡ chúng tôi trong suốt thời gian
làm đề tài.
Và để có được kết quả như ngày hôm nay, chúng tôi rất biết ơn gia đình đã
động viên, khích lệ và tạo mọi điều kiện thuận lợi nhất trong suốt quá trình học tập

…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
………………………………… ………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
…………………………………………………………………………………………
Đà nẵng, ngày tháng năm 2012.
MỤC LỤC
CHƯƠNG I :

MỞ

ĐẦU 12
I.

B

ối
cảnh

đề

ài

12
II.1. M

ục

đích 12
II.2. Yêu

c ầu

thiết

kế

12
II.3. Lý

do

ch ọn

đề
t ài 13
II.4. Đối



th ức

TCP/IP 15
I.1.1. Gi ới

thiệu

tổng

quan 15
I.1.2. Ki ến

trúc

TCP/IP 16
I.1.2.1. L ớp

truy xuất mạng

(Network

Access

layer) 18
I.1.2.2. L ớp

li ên

m ạng




trợ

kết nối
Ethernet

-ENC28J60 31
II.1.1 Sơ

đồ

chân

Chip

ENC28J60 31
II.1.2 Các

kh ối phần
cứng

cơ bản

II.2. Chip

ATmega32 35
II.2.1 Gi ới

thiệu 35
II.2.2. T

ại

sao

sử dụng

AVR 36
II.3.

Chip

DS1307 37
CHƯƠNG

III

:

CẤU

TRÚC


Ethenet

với

vi điều

khiển 44
I.4 Giao

ti ếp

giữa

các

thiết bị
với

vi

điều

khiển 45
II.





cổng

Serial

port 47
II.5 M

ạch

cổng

RJ45 48
II.6 M ạc

h I S P 4 8
CHƯƠNG

IV:

CẤU

TRÚC

CHƯƠNG
TR ÌNH



th ức

Ether net 50
I.2.1. C ấu

trúc 1

frame Ethernet 50
I.2.2.

Hàm

x





giao

thức

ethernet 51
I.3. Module

giao

th ức


giao

th ức

UDP 55
I.6. Module

giao

th ức

T CP 56
I.7. Module

giao

th ức

DHCP 59
I.7.1. Giao th ức DHCP 59
I.7.2. Cơ

chế

l àm vi ệc

của

DHCP 59
I.8. Module


giao

thức HTTP 62
I.9.2. C ấu trúc các bản tin

HTTP 63
II.

Ch ức năng

của hệ

thống 67
II.1 LAMPS

CONTROL 67
II.2 FAN

CONTROL 68
II.3 AUTO TIMES 68
II.4 ANTI-THEFT 68
III.

DEMO 68
III.1. Thi ết

lập

địa


lập

use

–pass trong

l ớ p

ntAVRnet.h 69
III.4 Đăng nhập

trang

web

điều

khiển

của mạch 69
III.5.

Trang

ch ủ

Web Server 69
CHƯƠNG


thuy ết 71
I.2. Ph ần mạch 71
I.3. Ph ần

chương tr ình 71
II.

Hướng

phát tri ển

trong

tương

lai 72
II.1 S ử dụng

m àn

hình

c ảm ứng

72
II.2 S ử dụng
IC

Hình II. 4. Trường của khung ARP 24
Hình II. 5. Đóng gói UDP vào khung Ethernet 26
Hình II. 6. Sự phân kênh và hợp kênh của ARP 26
Hình II. 8. Định dạng Gói TCP 29
Hình II. 9. Khung TCP 30
Hình II. 10. Sơ đồ chân chip ENC28J60 31
Hình II. 11. Cấu trúc phần cứng trong ENC28J60 33
Hình II. 12. ENC kết nối Internet 34
Hình II. 13. IC ATmega32 36
Hình II. 14. Hai gói cấu tạo chip DS1307 37
Hình II. 15. Mạch ứng dụng đơn giản của DS1307 38
Hình II. 16. Tổ chức bộ nhớ của DS1307 39
Hình II. 17. Tổ chức các thanh ghi thời gian 40
Hình II. 18. Số BCD 40
Hình II. 19. Cấu trúc DS1307 43
Hình III. 1: Mô hình tổng quan hệ thống 44
Hình III. 2: Sơ đồ mạch nguyên lý 45
Hình III. 3. Nguồn 5V 46
Hình III. 4. Nguồn 3V 46
Hình III. 5. Mạch IC ENC28J60 47
Hình III. 6. Mạch cổng Serial port 47
Hình III. 7. Mạch cổng RJ45 48
Hình III. 8. Mạch ISP 48
Hình IV. 1. Lưu đồ dữ liệu vào ra 50
HÌnh IV. 2. Cấu trúc Frame Enthernet 50
Hình IV. 3. các hàm xử lý trong giao thức ethenet 51
Hình IV. 4. Cấu trúc gói IP 52
Hình IV. 5 : Cấu trúc bản tin ICMP 55
Hình IV. 6. Cấu trúc giao thức UDP 55
Hình IV. 7. Cấu trúc header giao thức TCP 56

LAN
Local Area Network
OSI
Open Systems Interconnection
ICMP Internet Control Message Protocol
IGMP
Internet Group Message Protocol
FTP File Transfer Protocol
SMTP
Simple Mail Transfer Protocol
TELNET
TErminaL NETwork
SNMP Simple Network Management Protocol
IC Integrated Circuit
PC
Personal Computer
AVR
Automatic Voltage Regulator
Đồ án tốt nghiệp GVHD : TS. Huỳnh Công Pháp
CHƯƠNG I : MỞ ĐẦU
I. Bối cảnh đề tài
Ngày nay các thiết bị điện được sử dụng rộng rãi và là nhu cầu không thể thiếu
trong đời sống của con người. Việc sử dụng các thiết bị năng luợng điện này sao cho
hiệu quả, dễ dàng, tập trung là rất khó khăn. Hơn nữa việc sử dụng các thiết bị điện
này trong không gian rộng lớn sao cho tiết kiệm,an toàn luôn là vấn đề quan tâm hàng
đầu của nước ta.Với vấn đề đó nhóm em đã “Xây dựng hệ thống điều khiển các thiết
bị điện qua mạng Internet”. Hệ thống giúp cho chúng ta có thể quản lý các thiết bị
tập trung, dễ dàng và hiệu quả và nhanh chóng hơn. Ngoài ra hệ thống còn tích hợp
các cảm biến, cài đặt thời gian hoạt động tự động cho các thiết bị giúp chúng ta sử
dụng nguồn năng lượng điện tiết kiệm và an toàn hơn.

- Tìm hiểu các lớp kiến trúc và các module của trong giao thức TCP/IP.
- Tìm hiểu kiến trúc AVR qua IC ATmega32.
- Tìm hiểu lập trình Asembly và lập trình C cho AVR.
- Tìm hiểu các linh kiện điện tử liên quan : IC ENC28J60, IC 7805, ISP,

MAX 232, IC AMS 1117, RELAY, SENSOR….
- Tìm hiểu các công nghệ liên quan đến hệ thống tự động báo cháy,
chống trộm, an toàn và tiết kiệm nguồn năng lượng điện.
- Đưa ra một số định hướng để phát triển đề tài.
II.5.2. Công cụ hỗ trợ
- Orcad 16.5 để thiết kế mạch nguyên lý và mạch in.
- Proteus 7.8 mô phỏng vài chức năng cơ bản của thiết bị.
- AVR Studio và WinAVR để hổ trợ lập trình C cho AVR.
- Free Commander và notepad ++ để quản lý và lập trình AVR.
- Hyper Terminal và Comman Prompt để kiểm tra kết nối mạng giữa
mạch và PC.
- Burn-E Programmer để nạp chương trình vào IC.
CHƯƠNG II: CƠ SỞ LÝ THUYẾT
I. Cơ sở lý thuyết Ethernet
I.1. Giao thức TCP/IP
I.1.1. Giới thiệu tổng quan
Mô hình TCP/IP chỉ có 4 lớp. Mô hình tham chiếu của TCP/IP không trực tiếp
giống mô hình của OSI. Mặc dù mỗi mô hình mạng đều có chung một mục đích là để
truyền thông dễ dàng giữa các mạng, giữa các loại máy tính chạy trên nền hệ điểu
hành khác nhau. Nhưng mỗi mô hình mạng đều có đặc điểm riêng và cách thực thi
cũng chút ít khác nhau. Mô hình OSI do ISO tạo ra trong một thời gian dài, nó được
dùng làm mô hình chuẩn cho các mô hình khác. Còn TCP/IP ra đời do yêu cầu cấp
thiết của chính phủ Mỹ trước tình hình lúc bấy giờ, do đó sự phát triển của TCP/IP
không bị đè nặng bởi những yêu cầu chặt chẻ như OSI.
Do đặc tính của OSI là một mô hình tham khảo nên việc áp dụng OSI vào thực

Việc phân lớp này đảm bảo một số nguyên tắc sau:
 Một lớp được tạo ra khi cần đến mức trừu tượng hóa tương ứng.
 Mỗi lớp cần thực hiện các chức năng được định nghĩa rõ ràng.
 Việc chọn chức năng cho mỗi lớp cần chú ý tới việc định nghĩa các quy
tắc chuẩn hóa quốc tế.
 Ranh giới các mức cần chọn sao cho thông tin đi qua là ít nhất ( tham số

cho chương
trình con là ít).
 Số mức phải đủ lớn để các chức năng tách biệt không nằm trong cùng một

lớp và đủ
nhỏ để mô hình không quá phức tạp.
 Một mức có thể được phân thành các lớp nhỏ cần thiết.
 Các mức con có thể lại bị loại bỏ.
 Hai hệ thống khác nhau có thể truyền thông với nhau nếu chúng bảo đảm
những nguyên tắc chung (cài đặt cùng một giao thức truyền thông).
 Các chức năng được tổ chức thành một tập các lớp đồng mức cung cấp
chức năng như nhau. Các lớp đồng mức phải sử dụng giao thức chung.
Một lớp không định nghĩa một giao thức đơn, nó định nghĩa một chức năng
truyền thông có thể thi hành bởi một số giao thức. Do vậy, mỗi lớp có thể chứa nhiều
giao thức, mỗi giao thức cung cấp một dịch vụ phù hợp cho chức năng của lớp. Mỗi
lớp phải được chuẩn hóa để giao tiếp với lớp tương đương với nó. Trên lý thuyết, giao
thức chỉ liên quan tới lớp của nó mà không quan tâm tới lớp trên hoặc dưới của nó.
Tuy nhiên phải có sự đồng ý để làm sao chuyển dữ liệu giữa các lớp trên một máy
tính, bởi mỗi lớp lại liên quan tới việc gửi dữ liệu từ ứng dụng này tới một ứng dụng
tương đương trên một máy khác. Lớp cao hơn dựa vào lớp thấp hơn để chuyển dữ liệu
qua mạng phía dưới. Dữ liệu chuyển xuống ngăn xếp từ lớp này xuống lớp thấp hơn
cho tới khi được truyền qua mạng nhờ giao thức của lớp vật lý. Tại nơi nhận, dữ liệu
đi lên ngăn xếp tới ứng dụng nhận. Những lớp riêng lẻ không cần biết các lớp trên và

truyền tuân theo những ràng buộc của mạng. Lớp mạng của TCP/IP chứa chức năng
của tất cả 2 lớp thấp nhất của mô hình tham chiếu OSI (lớp liên kết dữ liệu và lớp vật
lý). Lớp mạng thường không được người dùng để ý tới vì thiết kế của TCP/IP che dấu
những chức năng của lớp thấp nhất này và những điều cần biết cho người sử dụng
cũng như người lập trình chỉ là những giao thức của các lớp cao hơn (IP, TCP,
UDP ). Mỗi khi có công nghệ phần cứng mới xuất hiện, những giao thức của lớp
mạng phải được phát triển để TCP/IP có thể sử dụng phần cứng mới (thông thường đó
chính là các trình điều khiển của chính nhà cung cấp phần cứng đó). Các chức năng
trình diễn trong lớp này bao gồm đóng gói gói thông tin IP thành các “Frame” được
truyền dẫn trên mạng và chuyển địa chỉ IP thành địa chỉ vật lý sử dụng bởi mạng máy
tính. Một số các điểm mạnh của TCP/IP là địa chỉ của nó được phối hợp sao cho trên
mạng Internet không có một thiết bị mạng nào cùng địa chỉ. Địa chỉ này phải được
chuyển đổi thích hợp với địa chỉ mạng vật lý nơi mà dữ liệu được truyền đi.
Hai ví dụ RFCs mô tả giao thức sử dụng cho lớp mạng là :
- RFC 826, giao thức chuyển đổi địa chỉ chuyển đổi địa chỉ IP thành địa chỉ
Ethernet.
- RFC 894, một chuẩn cho việc truyền gói tin IP qua mạng Ethernet mô tả cách
thức đóng gói để chuyển thông tin qua mạng Ethernet.
Khi cài đặt trong UNIX, giao thức của lớp này được xem như sự phối hợp của chương
trình để điều khiển thiết bị và các chương trình liên quan. Những đơn vị tương ứng với
những thiết bị mạng làm nhiệm vụ đóng gói dữ liệu và chuyển giao cho mạng.
I.1.2.2. Lớp liên mạng (Internet Layer)
Lớp này định nghĩa đơn vị dữ liệu để truyền và định tuyến cho các đơn vị dữ
liệu đó. IP là một protocol quan trọng nhất của bộ TCP/IP vì tất cả các protocol trong
bộ TCP/IP đều phải dùng đến nó và tất cả dữ liệu phải lưu chuyển qua nó.
Gói tin IP (Internet Protocol) :
IP là một nghi thức không kết nối (connectionless protocol), tức là không thiết
lập một giao tiếp trực tiếp (end-to-end) trước khi truyền dữ liệu. IP không đảm bảo
phân phát chính xác dữ liệu đến đích, các gói dữ liệu có thể đến đích không đúng thứ
tự, có thể bị sao chép hay thất lạc (do đó IP phải kết hợp với TCP). Đơn vị dữ liệu của


gồm
các bits định nghĩa thứ tự ưu tiên của datagram. Nó cũng chứa các bit làm rõ loại

dịch
vụ phía gởi mong muốn độ tin cậy, trễ…
- Total length (2 bytes): định nghĩa chiều dài tổng thể của một datagram. Tối

đa là
65535 bytes.
- Identification: được dung với các phân đoạn. Một datagram khi đi qua các

mạng
khác nhau có thể được chia thành các đoạn để phù hợp với kích thước khung của
mạng. khi xảy ra hiện tượng này thì mỗi đoạn được định danh với một số thứ tự trong
trường này.
- Flags: các bits trong cờ có quan hệ với phân đoạn. Ví dụ datagram có thể
hoặc không có phân đoạn, có thể đoạn đầu, đoạn giữa hoặc đoạn cuối…
- Fragmentation offset: đây là một con trỏ chỉ ra độ lệch của dữ liệu trong
datagram gốc (nếu đã được phân đoạn).
- Time to live: định nghĩa số bước nhảy tối đa một datagram có thể đi qua trước

khi bị
drop (loại bỏ). Máy chủ nguồn khi tạo ra datagram sẽ khởi động giá trị trong
trường này. Kế tiếp khi datagram qua Internet, mỗi router mà datagram đi qua sẽ giảm
giá trị đi 1. nếu giá trị này bằng 0 trước khi đến đích cuối cùng thì datagram sẽ bị drop.
- Protocol: định nghĩa loại dữ liệu nghi thức nào của lớp trên đóng gói trong
datagram (TCP, UDP, ICMP…).
- Header checksum (16 bits): dung kiểm tra header chứ không kiểm tra phần
còn lại của gói.

gởi
một thông điệp đến nhiều người nhận đồng thời. Trường hợp này là multicasting,

tức
là thông tin một – nhiều. multicasting có rất nhiều ứng dụng.
Gói tin ARP (Adrees Resolution Protocol)
Một cơ chế sử dụng để chuyển địa chỉ IP thành địa chỉ vật lý là ARP (Address
Resolution Protocol). Khi hai máy tính cùng nối vào một mạng vật lý, chúng biết được
địa chỉ IP của nhau nhưng để truyền thông giữa hai máy, chúng phải biết được địa chỉ
vật lý của nhau. ARP giải quyết vấn đề chuyển từ địa chỉ IP 32 bits sang địa chỉ
Ethernet 48 bits. Người ta sử dụng hai cơ chế đó là: ARP request và ARP reply.
A R P R e q u e s t
A R P R e p l y
Hình II. 2. Mô tả họat động của khung ARP
Chuyển giao trực tiếp: địa chỉ vật lý là một hàm của địa chỉ IP ví dụ sử dụng
trên mạng token ring proNET-10 là mạng cho phép đặt địa chỉ IP và địa chỉ vật lý
thỏai mái. Người ta có thể đặt địa chỉ IP là 192.5.48.3 và địa chỉ vật lý là 3, khi đó ta
có Pa= f(Ia).
Chuyển giao địa chỉ động được thực hiện bằng cách máy tính muốn gửi thông
tin gửi một thông báo tới tòan bộ các máy tính trên mạng, trong thông báo đó có chứa
địa chỉ IP của máy tính nó cần liên lạc, mọi máy sẽ nhận được thông báo và máy nào
thấy địa chỉ IP của mình thì trả lại một thông báo chứa địa chỉ vật lý. Khi đó hai máy
tính có thể “ nói chuyện” với nhau.
Ngoài ra, người ta còn sử dụng bảng chỉ đường để lưu trữ tạm thời các địa chỉ
sử dụng mới nhất ( Address Reslution Cache) để tăng tốc độ của việc chuyển giao địa
chỉ.
Một gói thông tin ARP là một Ethernet Frame được truyền trực tiếp từ máy này
tới máy khác. Vì không phải sử dụng IP, gói tin này không có địa chỉ IP cũng như
không cần được dẫn đường, nó phải được gửi broadcast tới tất cả các máy trên mạng
Ethernet (với địa chỉ FFFF_FFFF_FFFF).

- Địa chỉ đích (ethernet destination address):
- FF:FF:FF:FF:FF:FF là địa chỉ broadcast cho ARP request.
- Địa chỉ nguồn (ethernet source address) là địa chỉ của ARP yêu cầu.
- Frame type:
+ ARP yêu cầu hoặc đáp lại (ARP request/rely) : 0x0806
+ RARP yêu cầu hoặc đáp lại (RARP request/rely): 0x08035
+ IP: 0x0800
I.1.2.3. Lớp giao vận (Transport layer)
- Lớp vận chuyển có 2 nhiệm vụ như sau :
+ Cung cấp dịch vụ cho lớp quá trình bên trên nó và các ứng dụng cùng
với giao diện thích hợp cho mạng.
+ Phân phát message của các lớp trên giữa các host.
- Lớp giao thức ngay trên lớp Internet là Host to Host Transport Layer hay

thường
gọi là Transport Layer. Hai giao thức quan trọng này là Transmission Control
Protocol (TCP) và User Datagram Protocol (UDP). TCP cung cấp dịch vụ chuyển giao
thông tin kết nối (connection oriented), nó bao gồm cả kiểm tra và sửa lổi. UDP cung
cấp dịch vụ kém tin cậy hơn (unreliable) và không thể thiết lập liên kết trước
(connectionless). Cả hai giao thức đều chuyển giao thông tin giữa lớp ứng dụng và lớp

Trích đoạn Lớp giao vận (Transport layer) Cơ sở lý thuyết mạch Sơ đồ tổng quan
Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status