Đề tài
Điều khiển thiết bị điện qua
Internet và GSM_EvaVer
1
MỤC LỤC
LỜI NÓI ĐẦU 6
CHƯƠNG 1: DẪN NHẬP 7
1.1 Đặt vấn đề: 7
1.2 Ý nghĩa của đề tài: 8
1.3 Giới hạn nghiên cứu của đề tài 9
1.4 Mục tiêu nghiên cứu của đề tài 10
1.5 Kết quả nghiên cứu của đề tài 11
1.6 Sơ đồ tổng quan của hệ thống 12
CHƯƠNG 2: ETHERNET VÀ HỌ GIAO THỨC TCP/IP 15
2.1 Tổng quan về Ethernet 15
2.1.1 Cấu trúc khung tin Ethernet 15
2.1.2 Cấu trúc địa chỉ Ethernet 16
2.1.3 Các loại khung Ethernet 16
2.1.3.1 Khung unicast 16
2.1.3.2 Khung broadcast 16
2.1.3.3 Khung multicast 17
2.1.4 Truy nhập bus sử dụng phương pháp CSMA/CD 17
2.2 Họ giao thức TCP/IP 18
2.2.1 Tầng ứng dụng (Application Layer) 19
2.2.2 Tầng giao vận (Transport Layer) 20
2.2.3 Tầng Internet (Internet Layer) 25
PHỤ LỤC 1: VI ĐIỀU KHIỂN PIC18F8722 40
PHỤ LỤC 2: GIỚI THIỆU VỀ TRÌNH BIÊN DỊCH MPLAB C18 59
PHỤ LỤC 3 : GIAO TIẾP GIỮA PIC VÀ ETHERNET 61
PHỤ LỤC 4: THÔNG SỐ KỸ THUẬT CỦA SIM900 66
4
Liệt kê bảng
Bảng 2.1: Cấu trúc khung MAC theo IEEE 802.3/ Ethernet. 15
Liệt kê hình
Hình 1.1: Sơ đồ tổng quan hệ thống 12
Hình 1.2: Sơ đồ khối của bộ điều khiển 13
Hình 2.1: Minh họa phương pháp CSMA/CD. 17
Hình 2.2: Cấu trúc họ giao thức TCP/IP. 18
Hình 2.3: Cấu trúc gói TCP. 21
Hình 2.4: Lưu đồ trạng thái kết nối TCP. 23
Hình 2.5: Cấu trúc gói tin IP. 26
Hình 2.6: Cấu trúc gói tin ARP. 28
Hình 2.7: Cấu trúc của Stack. 31
Hình 2.8: So sánh cấu trúc TCP/IP tham khảo và cấu trúc Stack của
Microchip……………………………………………………………….32
Hình 3.1: Module Sim900 33
Hình 3.2: Sơ đồ chân của Module Sim900 34
Hình 4.1: Sơ đồ nguyên lý mạch chính Error! Bookmark not defined.
Hình 4.2: Sơ đồ nguyên lý khối rơle Error! Bookmark not defined.
Hình 4.3: Tổng quan chương trình chính Error! Bookmark not defined.
Hình 4.4: Giao điện Webserver Error! Bookmark not defined.
Hình 4.5: Từ cảm biến nhệt độ lên trình duyệt Error! Bookmark not
defined.
em đã tìm hiều về vi điều khiển, các chế độ truyền thông, cảm biến đo, cơ cấu
chấp hành, cách kết nối mạng Ethernet, điều khiển qua tin nhắn SMS, đồng thời
tìm hiểu về các tiêu chí của một ngôi nhà thông minh.
Dưới sự hướng dẫn, chỉ bảo nhiệt tình của thầy Vũ Vân Hà cùng với sự
cố gắng nỗ lực của các thành viên trong nhóm, chúng em đã hoàn thành đồ án
đúng thời hạn cho phép. Tuy nhiên do thời gian hạn chế, cũng như lượng kiến
thức rất lớn nên chúng em không thể tránh khỏi nhiều thiếu xót. Vì vậy chúng
em rất mong sẽ nhận được nhiều ý kiến đánh giá, góp ý của thầy cô giáo và các
bạn sinh viên để chúng em có thể phát triển và hoàn thiện thêm đề tài này.
Chúng em xin chân thành cảm ơn!
Nhóm sinh viên thực hiện
1. Nguyễn Tất Nam
2. Đào Cửu Long
3. Mai Trung Chính
7
CHƯƠNG 1: DẪN NHẬP
1.1 Đặt vấn đề:
Ngày nay 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 Do đó là một sinh viên chuyên ngành Điều khiển
tự động chúng ta phải biết nắm bắt và vận dụng nó một cách có hiệu quả nhằm
góp phần vào sự phát triển nền khoa học kỹ thuật thế giới nói chung và trong sự
phát triển kỹ thuật điện tử nói riêng. Bên cạnh đó còn là sự thúc đẩy sự phát
triển của nền kinh tế nước nhà.
Như chúng ta cũng đã biết, gần như các thiết bị 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
nhập vào Website và thực hiện điều khiển thiết bị qua giao diện Web.
Điều khiển thiết bị qua tin nhắn SMS từ những số điện thoại được cho
phép. Thiết bị sẽ nhận tin nhắn SMS theo cấu trúc cho trước. Phân tích
yêu cầu điều khiển và thực hiện điều khiển thiết bị.
Đo và thông báo nhiệt độ trong phòng, phát tín hiệu cảnh báo nếu nhiệt độ
trong phòng tăng cao vượt quá giới hạn cho phép.
1.2 Ý nghĩa của đề 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
9
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ẽ.
Từ những nhu cầu thực tế đó, nhóm em muốn đưa một phần những kỹ
thuật hiện đại của thế giới áp dụng vào điều kiện thực tế trong nước để có thể tạo
ra một hệ thống điều khiển thiết bị trong nhà từ xa thông qua mạng Ethernet và
tin nhắn SMS nhằm đáp ứng nhu cầu ngày càng cao của con người. Đề tài lấy cơ
sở là mạng Ethernet và tin nhắn SMS để điều khiển thiết bị. Việc sử dụng mạng
Ethernet và tin nhắn SMS để điều khiển thiết bị có thuận lợi là tiết kiệm chi phí,
mang tính cạnh tranh và cơ động cao. Ngoài ra, sản phẩm của đề tài này có tính
mở, có thể áp dụng cho nhiều đối tượng khác nhau trong dân dụng cũng như
trong công nghiệp.
1.3 Giới hạn nghiên cứu của đề tài
Để thực thi một hệ thống điều khiển thiết bị từ xa thông qua mạng
Ethernet và tin nhắn SMS áp dụng cho một ngôi nhà hoàn chỉnh như nói trên là
rất phức tạp và rất tốn kém. Để đáp ứng việc điều khiển toàn bộ các thiết bị này
đòi hỏi phải có một lượng thời gian, kiến thức nhất định. Bên cạnh đó còn là vấn
11
1.5 Kết quả nghiên cứu của đề tài
Với những mục tiêu và kế hoạch đã đề ra, cùng với sự nỗ lực nghiên cứu,
tìm tòi của các thành viên trong nhóm thực hiện đề tài, nhóm thực hiện đã đạt
được những kết quả nhất định sau:
Thiết kế thành công mạch điều khiển giao tiếp qua mạng Ethernet và tin
nhắn SMS với các tính năng:
- Giao tiếp thành công với mạng Ethernet qua chuẩn truyền thông TCP/IP,
thực hiện quan sát trạng thái và ra lệnh điều khiển thiết bị qua giao diện
Webserver.
- Giao tiếp thành công với module SIM900, nhận và gửi tin nhắn thành
công, thực hiện điều khiển thiết bị qua tin nhắn SMS.
- Cảnh báo tới người dùng và phát tín hiệu ra chuông khi nhiệt độ phòng
tăng cao vượt quá giới hạn cho phép.
- Ngoài ra, mạch điều khiển được thiết kế sẵn sàng cho việc tích hợp thêm
các ngoại vi trong tương lai.
12
1.6 Sơ đồ tổng quan của hệ thống
Sơ đồ tổng quan của hệ thống:
Ethernet
Bộ điều khiển
Hình 1.1: Sơ đồ tổng quan hệ thống
Dù đang ở rất xa ngôi nhà, người sử dụng có thể dùng máy tính được kết
nối với mạng Internet hoặc các thiết bị như điện thoại, máy tính bảng có hỗ trợ
tin nhắn SMS để gửi tín hiệu tới bộ điều khiển tác động lên các thiết bị điện
trong gia đình. Điều này rất thuật tiện khi bạn thường xuyên phải ra khỏi nhà và
muốn cập nhật trạng thái và điều khiển hoạt động của các thiết bị điện trong ngôi
NGUỒN
KHỐI
HIỂN THỊ
LCD
Hình 1.2: Sơ đồ khối của bộ điều khiển
Chức năng từng khối:
Khối giao tiếp SMS:
Gồm Module SIM900, có chức năng gửi nhận tin nhắn SMS cho việc điều
khiển các thiết bị. Module SIM900 được kết nối với vi điều khiển PIC18F8722,
có nhiệm vụ nhận SMS gửi tới vi điều khiển và gửi SMS tới người sử dụng khi
có yêu cầu.
Khối giao tiếp ETHERNET:
Gồm ENC26JC0 được kết nối với vi điều khiển PIC18F8722 truyền nhận
tín hiệu qua giao thức SPI. Khối này có nhiệm vụ nhận lệnh điều khiển qua
Webserver với giao thức TCP/IP. Vi điều khiển nhận lệnh, thực thi xong và gửi
trả lại kết quả.
Khối vi điều khiển PIC18F8722
14
Khối trung tâm trong việc xử lý và điều khiển. Vi điều khiển nhận tín hiệu
từ khối giao tiếp SMS, khối giao tiếp Ethernet và cảm biến, sau đó đưa ra tín
hiệu điều khiển đồng thời hiển thị lên LCD.
Khối cảm biến nhiệt độ
Cảm biến được sử dụng là DS18B20 có nhiệm vụ đo nhiệt độ và gửi tín
hiệu tới vi điều khiển. Khi nhiệt độ đo được lớn hơn giá trị cho phép thì vi điều
khiển phát tín hiệu cảnh báo.
Khối hiển thị LCD
Gồm TEXT LCD 16x2, có nhiệm vụ hiện thị các thông tin có liên quan tới
việc điều khiển, giúp cho giao diện giữa người dùng và thiết bị trực quan hơn.
gói
Dữ liệu
PAD
FCS
7 byte 1 byte 2/6 byte 2/6 byte 2 byte 46-1500 byte 4 byte
Preamble (mở đầu): trường này đánh dấu sự xuất hiện của khung bit, nó
luôn mang giá trị 10101010. Từ nhóm bit này, phía nhận có thể tạo ra
xung đồng hồ 10 Mhz.
SFD (start frame delimiter): trường này mới thực sự xác định sự bắt đầu
của 1 khung. Nó luôn mang giá trị 10101011.
Các trường Destination và Source: mang địa chỉ vật lý của các trạm nhận
và gửi khung, xác định khung được gửi từ đâu và sẽ được gửi tới đâu.
LEN: giá trị của trường nói lên độ lớn của phần dữ liệu mà khung mang
theo.
FCS mang CRC (cyclic redundancy checksum): phía gửi sẽ tính toán
trường này trước khi truyền khung. Phía nhận tính toán lại CRC này theo
cách tương tự. Nếu hai kết quả trùng nhau, khung được xem là nhận đúng,
ngược lại khung coi như là lỗi và bị loại bỏ.
16
2.1.2 Cấu trúc địa chỉ Ethernet
Mỗi giao tiếp mạng Ethernet được định danh duy nhất bởi 48 bit địa chỉ (6
octet). Đây là địa chỉ được ấn định khi sản xuất thiết bị, gọi là địa chỉ MAC
(Media Access Control Address ). Địa chỉ MAC được biểu diễn bởi các chữ số
hexa ( hệ cơ số 16 ). Ví dụ:00:60:97:8F:4F:86 hoặc 00-60-97-8F-4F-86.Khuôn
dạng địa chỉ MAC được chia làm 2 phần:
3 octet đầu xác định hãng sản xuất, chịu sự quản lý của tổ chức IEEE.
3 octet sau do nhà sản xuất ấn định.
Kết hợp ta lẽ có một địa chỉ MAC duy nhất cho một giao tiếp mạng
Ethernet. Địa chỉ MAC được sử dụng làm địa chỉ nguồn và địa chỉ đích trong
18
mỗi trạm vẫn phải nghe đường dẫn để so sánh tín hiệu phát đi với tín hiệu
nhận được xem có xảy ra xung đột hay không (collision detection).
Trong trường hợp xảy ra xung đột, mỗi trạm đều phải hủy bỏ bức điện của
mình, chờ một thời gian ngẫu nhiên và thử gửi lại.
2.2 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).
Hình 2.2: Cấu trúc họ giao thức TCP/IP.
19
2.2.1 Tầng ứ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 đồ
á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.
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 là 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
dung này lên và ta sẽ thấy được tác động của thao tác điều khiển đó.
2.2.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 nên trong phạm vi đồ án chúng ta sử dụng thức TCP. 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 1 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:
21 Hình 2.3: Cấu trúc gói TCP.
Chú thích:
- 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
22
kết nối đến (và phải có khả năng thiết lập đồng thời nhiều kết nối, vì có thể có
nhiều client kết nối tới cùng lúc).
24
Trong lưu đồ trên, áp dụng cho cả client và server. Cả client và server đều
bắt đầu bằng trạng thái “Close”. Client sẽ thiết lập kết nối theo con đường Active
Open (nó chủ động thiết lập kết nối). Server sẽ thiết lập kết nối theo con đường
Passive Open (thụ động, vì nó đợi client bắt đầu mà)
Quá trình chuyển trạng thái:
- Cả hai bắt đầu bằng trạng thái close, không có kết nối nào tồn tại.
- Khi Server mở một port TCP để đợi client thiết lập kết nối, nó chuyển
sang trạng thái “Listen”.
- Khi client gửi đi bản tin SYN, nó chuyển sang trạng thái “SYN sent”.
- Lúc này khi server nhận được bản tin SYN từ client và gửi đáp lại 1 bản
tin SYN, nó chuyển sang trạng thái “SYN Received”.
- Lúc này client gửi lại bản tin xác nhận ACK (bước 3 trong ví dụ), nó
chuyển sang trạng thái thiết lập kết nối “Established”.
- Server nhận được bản tin ACK trên của client, nó cũng chuyển sang trạng
thái “Established”.
- Sau đó hai bên tiến hành truyền dữ liệu, trạng thái cả hai đều là
“Established”. Một trong hai phía truyền xong dữ liệu, đến đây thì vai trò
hai bên là như nhau, ta giả sử client truyền xong dữ liệu trước, nó sẽ gửi
bản tin FIN, và chuyển sang trạng thái “FIN wait 1”.
- Phía server nhận được bản tin này, gửi xác nhận ACK, và chuyển sang
trạng thái “Close wait”.
- Khi client nhận được xác nhận từ server (nhận được bản tin ACK trên) thì
nó chuyển sang trạng thái “FIN wait 2”.