Upload
others
View
4
Download
0
Embed Size (px)
Citation preview
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
MỤC LỤCLỜI NÓI ĐẦU.......................................................................................................3
CHƯƠNG 1: DẪN NHẬP.....................................................................................4
1.1 Đặt vấn đề....................................................................................................4
1.2 Ý nghĩa của đề tài.........................................................................................5
1.3 Giới hạn đề tài nghiên cứu...........................................................................6
1.4 Mục tiêu nghiên cứu....................................................................................7
1.5 Kết quả nghiên cứu của đề tài......................................................................8
1.6 SƠ ĐỒ TỔNG QUAN CỦA HỆ THỐNG..................................................9
CHƯƠNG 2: ETHERNET VÀ HỌ GIAO THỨC TCP/IP.................................12
2.1 Tổng quan về Ethernet...............................................................................12
2.1.1 Cấu trúc khung tin Ethernet................................................................12
2.1.2 Cấu trúc địa chỉ Ethernet.....................................................................12
2.1.3 Các loại khung Ethernet......................................................................13
2.1.3.1 Khung unicast..............................................................................13
2.1.3.2 Khung broadcast..........................................................................13
2.1.3.3 Khung multicast...........................................................................14
2.1.4 Truy nhập bus sử dụng phương pháp CSMA/CD...............................14
Nguyên tắc làm việc phương pháp CSMA/CD:......................................14
2.2 Họ giao thức TCP/IP..................................................................................15
2.2.1 Tầng Ứng Dụng (Application Layer)..................................................15
2.2.2 Tầng Giao Vận (Transport Layer)......................................................17
2.2.3 Tầng Internet (Internet Layer).............................................................22
2.2.4 Lớp giao tiếp mạng.............................................................................27
2.3 Microchip TCP/IP Stack...........................................................................28
2.3.1 Cấu trúc của Microchip TCP/IP Stack................................................28
1
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
2.3.2 Hoạt động của TCP/IP Stack..............................................................29
CHƯƠNG 3: TỔNG QUAN VỀ TIN SMS, MODULE SIM900 VÀ ATCOMAND.......................................................................................................31
3.1 Tổng quan về tin nhắn SMS.......................................................................31
3.2 Giới thiệu Module SIM900........................................................................31
3.2.1 Tổng quan về Module SIM900...........................................................31
3.2.2 Khảo sát sơ đồ chân............................................................................32
3.2.3 Kết nối giữa Module SIM900 và vi điều khiển..................................32
3.3 Khảo sát tập lệnh AT.................................................................................33
CHƯƠNG 4: THIẾT KẾ VÀ THI CÔNG...........................................................35
4.1 Phân tích yêu cầu điều khiển......................................................................35
4.2 Tổng quan chương trình chính...................................................................37
4.3 Thiết kế và thi công Webserver.................................................................38
4.3.1 Thiết kế giao diện web........................................................................38
4.3.2 Giám sát trên Web...............................................................................38
4.3.3 Điều khiển trên Web...........................................................................41
4.3.4 Phương pháp truyền dữ liệu................................................................43
Sau khi hoàn tất thiết lập các biến trong web,ta tiến hành tạo file ảnh của web để lưu trữ vào ROM bằng phần mềm MPFS2 đi cùng bộ TCP/IP Stack của Microchip.................................................................................45
4.4 Thiết kế và thi công Module SIM900........................................................47
4.4.1 Giải thuật nhận tin nhắn và thực thi điều khiển:.................................47
4.4.2 Sơ đồ nguyên lý kết nối Module SIM900...........................................50
4.5 Thiết kế phần cứng mạch chính.................................................................51
Chương 5: KẾT LUẬN........................................................................................55
5.1 Kết luận......................................................................................................55
5.2 Hướng phát triển đề tài..............................................................................56
2
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
TÀI LIỆU THAM KHẢO....................................................................................58
3
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
LỜI NÓI ĐẦU
Ngày nay, với những ứng dụng của khoa học kỹ thuật tiên tiến, thế giới của chúng ta đã và đang ngày một thay đổi, văn minh và hiện đại hơn. Và khái niệm về ngôi nhà thông minh đã ra đời. Một ngôi nhà thông là một giải pháp điều khiển tích hợp cho các căn hộ cao cấp, tích hợp các thiết bị điện tử, nghe nhìn, truyền thông thành một hệ thống hoàn chỉnh và thống nhất.
Nhận thức được tầm thực tiễn của ngôi nhà thông minh là cơ sở để chúng
em chọn đề tài đồ án tốt nghiệp “Thiết kế hệ thống điều khiển thiết bị điện trong
gia đình qua Ethernet và SMS”. Trong suốt thời gian hoàn thành đồ án, chúng
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 chỉ tiêu 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
4
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
3. Mai Trung Chính
CHƯƠNG 1: DẪN NHẬP1.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ị 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ị từ xa thông qua mạng Ethernet và tin
nhắn SMS thì lại khác. Ở đây, các thiết bị điều khiển tự động đượ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 thiết bị trong nhà từ xa thông qua
mạng Ethernet và tin nhắn SMS gồm có 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 ngôi nhà 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 đầu não trung tâm.
5
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Đầu não trung tâm ở đây có thể là một máy vi tính hoà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ị trong ngôi nhà này có thể được điều khiển từ xa thông qua mạng
Ethernet hoặc tin nhắn SMS của chủ nhà. Chẳng hạn như việc tắt quạt, đèn điện
… khi người chủ nhà quên chưa tắt trước khi ra khỏi nhà. Hay chỉ với một tin
nhắn SMS, người chủ nhà có thể bật máy điều hòa để làm mát phòng trước khi
về nhà trong một khoảng thời gian nhất định. Bên cạnh đó nó 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, đồng thời
phát tín hiệu cảnh báo khi nhiệt độ phòng vượt quá giới hạn cho phép. Ngoài ra,
hệ thống còn mang tính bảo mật. Nghĩa là chỉ có những số điện thoại được cài
đặt trước và biết đúng mật khẩu thì mới có thể điều khiển được hệ thống.
Từ những yêu cầu thực tế, những đòi hỏi ngày càng cao của cuộc sống,
cộng với sự hợp tác, phát triển mạnh mẽ của mạng di động nên chúng em đã
chọn đề tài " Điều khiển thiết bị điện trong nhà thông qua mạng Ethernet và tin
nhắn SMS " để đáp ứng được nhu cầu ngày càng cao của con người và góp phần
vào sự tiến bộ, văn minh, hiện đại của nước nhà.
Với đề tài trên nhóm đề tài đã thực hiện việc điều khiển từ xa theo ba
hướng hướng chính:
Điều khiển thiết bị qua Ethernet với giao thức TCP/IP. Người dùng đă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ị.
6
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Đ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àiNgà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ẽ.
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 đề tài nghiên cứuĐể 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
đề tài chính. Với lượng thời gian và kiến thức có hạn, trong đề tài này nhóm em 7
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
thực hiện chỉ thực thi một phần của hệ thống hoàn chỉnh đó. Đó là điều khiển
đóng mở đèn, ngoài ra còn có chức năng báo động khi nhiệt độ trong phòng tăng
cao quá nhiệt độ cho phép.
Với những gì đã trình bày trên, nhóm em đã tiến hành nghiên cứu, khảo
sát và thực hiện và dự kiến đạt được các mục tiêu đặt ra như sau:
- Thiết lập một Website và thực hiện điều khiển các thiết bị qua giao diện
Web, sau khi thực hiện lệnh điều khiển trạng thái của thiết bị on/off được
thể hiện ngay trên giao diện Web.
- Điều khiển các thiết bị trong nhà bằng tin nhắn SMS. Sau khi thực hiện
lệnh điều khiển xong, tự động gửi tin nhắn lại cho người dùng biết đã thực
hiện thành công.
- Gửi tin nhắn thông báo trạng thái của các thiết bị và nhiệt độ trong phòng
hiện tại là bao nhiêu.
- Ngoài ra, hệ thống còn có chức năng tự động phát tín hiệu cảnh bảo qua
chuông và tin nhắn khi nhiệt độ trong phòng tăng cao vượt quá giới hạn
cho phép.
1.4 Mục tiêu nghiên cứu- Đồ án được nghiên cứu và thực hiện với mục đích áp dụng những kiến
thức đã được học trong nhà trường để thiết kế, tạo ra một hệ thống điều
khiển tự động từ xa qua mạng Ethernet và tin nhắn SMS.
- Nghiên cứu và tạo một giao diện Websever để thực hiện điều khiển qua
mạng Ethernet với chuẩn giao tiếp TCP/IP.
8
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
- Tìm hiều về hệ thống điện thoại di động GSM hiện nay. Nghiên cứu và sử
dụng các module GSM/GPRS phổ biến hiện nay. Module nhóm thực hiện
nghiên cứu và sử dụng là module SIM900 của hãng SIMCom.
- Nghiên cứu và sử dụng chip vi điều khiển PIC của Mircochip. Chip mà
nhóm đã tiến hành nghiên cứu và sử dụng là chip PIC18F8722.
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.
9
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
1.6 SƠ ĐỒ TỔNG QUAN CỦA HỆ THỐNG Sơ đồ tổng quan của hệ thống:
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
nhà.
10
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Sơ đồ khối của bộ điều khiển:
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
11
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
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
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.
Khối công suất
Khối này bao gồm 4 BJT C1815 có nhiệm vụ khuếch đại điện áp để kích
cho relay. Khối công suất với dòng thấp, đáp ứng tải tiêu tụ công suất dân dụng
như bóng đèn.
Khối nguồn
Tạo nguồn với hai mức điện áp 5V cấp cho vi điều khiển và 3V3 cấp cho
ENC26JC0. Ngoài ra module SIM900 được cấp nguồn với điện áp 4V.
12
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
CHƯƠNG 2: ETHERNET
VÀ HỌ GIAO THỨC TCP/IP
2.1 Tổng quan về Ethernet
2.1.1 Cấu trúc khung tin Ethernet
Các chuẩn Ethernet đều hoạt động ở tầng Data Link trong mô hình 7 lớp
OSI vì thế đơn vị dữ liệu mà các trạm trao đổi với nhau là các khung (frame).
Cấu trúc khung Ethernet như sau:
Bảng 2.1: Cấu trúc khung MAC theo IEEE 802.3/ Ethernet
Mở đầu
555…5H
SFD
(D5H)
Địa chỉ
đích
Địa chỉ
nguồn
Độ dài
kiểu
gói
Dữ liệu PAD FCS
7byte 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 13
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
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ỏ.
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
khung Ethernet.
2.1.3 Các loại khung Ethernet
2.1.3.1 Khung unicast
Khung này được truyền tới một trạm xác định. Tất cả các trạm trong phân
đoạn mạng trên sẽ đều nhận được khung này nhưng:
- Chỉ có trạm 2 thấy địa chỉ MAC đích của khung trùng với địa chỉ MAC
của giao tiếp mạng của mình nên tiếp tục xử lý các thông tin khác trong khung.
- Các trạm khác sau khi so sánh địa chỉ sẽ bỏ qua không tiếp tục xử lý
khung nữa.
14
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
2.1.3.2 Khung broadcast
Các khung broadcast có địa chỉ MAC đích là FF-FF-FF-FF-FF-FF. Khi
nhận được các khung này, mặc dù không trùng với địa chỉ MAC của giao tiếp
mạng của mình nhưng các trạm đều phải nhận khung và tiếp tục xử lý.
2.1.3.3 Khung multicast
Trạm nguồn gửi khung tới một số trạm nhất định chứ không phải là tất cả.
Địa chỉ MAC đích của khung là địa chỉ đặc biệt mà chỉ các trạm trong cùng
nhóm mới chấp nhận các khung gửi tới địa chỉ này.
2.1.4 Truy nhập bus sử dụng phương pháp CSMA/CD
15
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Hình 2.1: Minh họa phương pháp CSMA/CD
Nguyên tắc làm việc phương pháp CSMA/CD:
Theo phương pháp CSMA/CD, mỗi trạm đều có quyền truy nhập bus mà không
cần một sự kiểm soát nào. Phương pháp được tiến hành như sau:
- Mỗi trạm đều phải tự nghe đường dẫn (carrier sense), nếu đường dẫn rỗi
(không có tín hiệu ) thì mới được phát.
- Do việc lan truyền tín hiệu cần một thời gian nào đó, nên vẫn có khả năng
hai trạm cùng phát tín hiệu lên đường dẫn. Chính vì vậy, trong khi phát thì 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).
16
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Hình 2.2: Cấu trúc họ giao thức TCP/IP
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.
17
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
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
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.
Webserver, ở đây chính là vi điều khiển của chúng ta nhận được bản tin
này (khi đã đi qua hết các lớp giao thức ethernet, IP, TCP rồi mới đến
HTTP). Tại đây vi điều khiển sẽ đọc và phân tích bản tin HTTP request
này để biết máy tính đang yêu cầu tải nội dung trang web nào.
Sau đó vi điều khiển sẽ lấy nội dung trang web này (được soạn thảo theo
ngôn ngữ HTML) chứa trên trên ROM, nó cũng có thể thêm vào trang
web đó một số thông tin (ví dụ đọc giá trị từ các sensor cảm biến nhiệt độ
và đưa vào trong trang web), và gửi toàn bộ nội dung trang web thông qua
giao thức TCP trở lại cho máy tính. Nếu nội dung trang web lớn nó có thể
18
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
được gửi đi trên rất nhiều gói tin, vì mỗi gói tin chỉ chứa tối đa 1460 byte
dữ liệu.
Máy tính nhận nội dung trang web và trình duyệt sẽ hiển thị lên cho chúng
ta thấy. Để điều khiển thiết bị kết tới hệ thống từ xa qua web, trên trang
web ta có thể thiết kế một nút nhấn chẳng hạn. Khi ta nhấn nút này trên
trình duyệt, máy tính sẽ gửi đi một bản tin HTTP nữa là HTTP Get. Vi
điều khiển sẽ nhận bản tin HTTP post này, phân tích dữ liệu chứa trong đó
để có đáp ứng tương ứng (bật tắt bóng đèn) sau đó nó sẽ gửi trả lại lần nữa
nội dung trang web đã cập nhật những thay đổi vừa rồi.Trình duyệt sẽ cập
nhật nội 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:
19
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
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
20
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
. 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
. 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 kí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à kí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 được các chức năng đó, một quá trình truyền dữ liệu qua giao
thức TCP (mà ta gọi là phiên truyền thông – session) gồm có 3 giai đoạn: Thiết
lập kết nối, truyền dữ liệu và giải phóng kết nối.
Để có thể giám sát chặt chẽ trạng thái và mọi sự kiện xảy ra trong một kết
nối TCP, trạng thái của một kết nối TCP được chuyển đổi tuân theo một lưu đồ
trạng thái như sau:
21
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
22
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Hình 2.4: Lưu đồ trạng thái kết nối TCP
Giải thích:
- TCP là giao thức hướng kết nối, dạng client – server. Tức là trong một phiên
truyền thông thì sẽ có một phía đóng vai trò client, phía còn lại, lúc nào cũng ở
trạng thái chờ đợi các client thiết lập kết nối tới chính là server.
- Ví dụ khi ta truy cập web, thì máy tính của ta là client, máy chủ chứa trang web
chính là server – vi điều khiển, lúc nào cũng ở trạng thái đợi các máy tính client
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).
- 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, 23
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
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”.
- Đến lúc 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).
- Đế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 kế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)
2.2.3 Tầng Internet (Internet Layer)
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. 4 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 khi
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.
24
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
- IGMP (Internet Group Management Protocol): Có chức năng điều khiển
truyền đa hướng (Multicast) .
25
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
- Cấu trúc của gói IP:
Hình 2.5: Cấu trúc gói tin IP
Ý nghĩa:
- Version (có chiều dài 4 bit): cho biết phiên bản của giao thức, đối với
trường hợp của chúng ta, giao thức là IP version 4, trường này sẽ luôn có
giá trị là 4 (0100).
- Header Length (4 bit): cho biết chiều dài của header IP, tính theo đơn vị 4
byte (32 bit).
- TOS (8 bit): Type of Service.
- Total Length (16 bit): 16 bit tổng chiều dài của gói IP gồm cả phần header.
- Identification (16 bit): dùng nhận diện các phân đoạn của gói IP.
- Flags:
. Bit đầu tiênkhông sử dụng.
26
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
. Bit 2: DF (Don’t Fragment) = 1 có nghĩa là không phân đoạn gói này.
. Bit 3: MF (More Fragment) = 0 => đây là phân đoạn cuối cùng.
- Fragmented offset (13 bit): độ dời (đơn vị 8 byte) tính từ điểm bắt đầu của
Header tới điểm bắt đầu của phân đoạn
- TTL (Time to Live) (8 bit): thời gian tồn tại trên mạng hoặc số chặng trên
mạng mà gói đi qua trước khi bị hủy bỏ.
- Protocol (8 bit): nhận diện Protocol trên lớp IP.
- Header checksum (16 bit): sửa sai cho phần Header.
- Các vùng địa chỉ nguồn, địa chỉ đích: địa chỉ IP 32 bit.
- Option: các tùy chọn dùng cho việc kiểm tra: Loose source routing, Strict
source routing, Record route và Timestamp.
- Padding: Gồm các số zero được thêm vào sao cho chiều dài của vùng
Header là bội số của 32 bit.
Cách thức mà dữ liệu được gửi qua giao thức IP được tiến hành như sau:
- Khi nhận được một segment dữ liệu (từ giao thức lớp trên là TCP) cần gửi
đến đích nào đó, địa chỉ đích này phải được xác định bằng địa chỉ IP (tức
là địa chỉ mạng hay địa chỉ luận lý). Lớp giao thức IP sẽ gắn thêm vào đầu
segment dữ liệu một header IP để tạo thành gói IP hoàn chỉnh. Trong
header IP này có chứa 2 thông tin quan trọng, đó là địa chỉ host gửi
(source IP address) và địa chỉ host nhận (destination IP address). Địa chỉ
source đương nhiên là địa chỉ của bản thân nó, còn địa chỉ đích phải được
cung cấp cho lớp IP khi muốn gửi dữ liệu qua giao thức này.
- Gói tin IP này sau đó được chuyển đến lớp giao thức ethernet để thêm
phần header ethernet vào và gửi đi.
27
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
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ỉ khá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ẽ khô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 header của
khung 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, khi đó đị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à khô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 khi 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ỉ (APR –
Address Resolution Protocol). Vai trò của giao thức này là tìm ra địa chỉ MAC
khi biết địa chỉ IP của 1 host.
28
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Cấu trúc gói ARP:
Hình 2.6: Cấu trúc gói tin ARP
Ý 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”.
HLEN (1 byte): cho biết chiều dài của địa chỉ vật lý (địa chỉ MAC).
PLEN (1 byte): cho biết chiều dài của địa chỉ giao thức (địa chỉ IP).
29
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Operation (2 bytes): cho biết hoạt động đang thực hiện trong gói tin này
(request hay reply).
Sender H/W (hardware address, 6 bytes): địa chỉ vật lý của phía gửi.
Sender IP (4 bytes): địa chỉ IP của phía gửi.
Target H/W (6 bytes): địa chỉ vật lý của phía nhận, nếu chưa biết thì sẽ là
chứa toàn 0.
Target IP (4 bytes): địa chỉ IP của phía nhận.
Cách thức mà dữ liệu được gửi qua giao thức ARP được tiến hành như sau:
- Khi giao thức IP đưa xuống yêu cầu tìm chỉ MAC của host có IP là a.b.c.d
thì nó phải trả lời ngay địa chỉ MAC của địa chỉ trên dạng
XX:XX:XX:XX:XX:XX.
- Cách thức ARP lấy thông tin giải quyết vấn đề trên là: giao thức ARP duy
trì một bảng gọi là ARP cache gồm hai cột, một cột ghi địa chỉ IP, một cột
ghi địa chỉ MAC tương ứng với địa chỉ IP đó. Mỗi khi được hỏi bởi giao
thức IP, nó sẽ tra bảng này để tìm câu trả lời. Khi được hỏi về một địa chỉ
IP a.b.c.d nào đó mà không có sẵn trong bảng ARP cache, nó sẽ lập tức
tìm trong mạng LAN phần tử có địa chỉ IP là a.b.c.d bằng cách gửi yêu
cầu tới các phần tử trong mạng LAN. Các phần tử này đều nhận được yêu
cầu và phần tử nào có IP a.b.c.d sẽ trả lời lại địa chỉ MAC của nó là
XX:XX:XX:XX:XX:XX. Vậy giao thức ARP sẽ lập tức thêm cặp địa chỉ
IP a.b.c.d và địa chỉ MAC XX:XX:XX:XX:XX:XX vào trong bảng ARP
cache và trả lời lại cho giao thức IP.
2.2.4 Lớp giao tiếp mạng
30
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Tầng giao tiếp mạng liên quan tới việc trao đổi dữ liệu giữa hai trạm thiết
bị trong cùng một mạng. Giao thức được sử dụng trong phạm vi đồ án là giao
thức Ethernet. Phần cứng được sử dụng chip giao tiếp Ethernet ENC28J60 giao
tiếp qua chuẩn SPI ( Serial Pheripheral Interface ).
Trong chồng giao thức TCP/IP, giao thức Ethernet đóng vai trò lớp truy
nhập và truyền dẫn. Việc gửi và nhận dữ liệu ở lớp Ethernet được thực hiện dựa
vào địa chỉ vật lý hay còn gọi là địa chỉ MAC. Trong mỗi khung Ethernet đều
chứa 2 địa chỉ MAC: một địa chỉ của host gửi và một địa chỉ của host nhận. Khi
lớp Ethernet nhận được một khung dữ liệu, trước hết nó sẽ kiểm tra địa chỉ host
nhận xem có phải là địa chỉ của nó không (tức là gửi cho nó), nếu đúng nó sẽ
nhận khung này và chuyển đến lớp IP. Ngoài ra còn có 1 trường hợp nữa lớp
Ethernet sẽ nhận khung là nếu địa chỉ host nhận là địa chỉ broadcast (tức là gửi
cho tất cả mọi máy trong mạng LAN), trong trường hợp này frame sẽ được nhận
và xử lý.Ngoài việc kiểm tra địa chỉ, trong khng Ethernet còn có 1 trường chứa
mã kiểm tra lỗi giúp phát hiện những lỗi xảy ra trong quá trình truyền, các khung
bị xác định là có lỗi sẽ bị bỏ qua.
Trong mạch của chúng ta, việc kiểm tra lỗi và kiểm tra địa được thực hiện
tự động bởi IC ENC28J60, do đó ta không cần lập trình cho các chức năng này.
Mỗi khi nhận được một khung trên đường truyền, ENC28J60 sẽ kiểm tra lỗi xem
có sai sót không, tiếp đó nó sẽ đối chiếu địa chỉ host nhận với địa chỉ đã được
cấu hình cho nó (trong các thanh ghi địa chỉ MAC: MAADR0-5).
2.3 Microchip TCP/IP Stack
2.3.1 Cấu trúc của Microchip TCP/IP Stack
TCP/IP Stack là bộ thư việnvà một số công cụ phần mềm của Microchip
để hỗ trợ viết phần mềm cho hệ thống nhúng sử dụng vi điều khiển của 31
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
hãng.Thư viện đã xây dựng hầu hết các hàm giao tiếp giữa các lớp cũng như hỗ
trợ xây dựng một Webserver nhúng.
TCP/IP cũng có các Module sử dụng cho lớp ứng dụng như: HTTP cho
Web, SMTP cho gửi và nhận Email, SNMP cho giao thức trạng thái và điều
khiển. Telnet cho điều khiển từ xa, TFTP.
Hình 2.7: Cấu trúc của Stack
32
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
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
Ngoài những module chính giống như cấu trúc TCP/IP tham khảo thì
Microchip đưa thêm vào Stack 2 module mới đó là StackTask và ARPTask.
StackTask quản lý sự vận hành và tất cả các module của Stack. Trong khi đó,
ARPTask quản lý các dịch vụ của lớp ARP ( Address Resolution Protocol).
2.3.2 Hoạt động của TCP/IP Stack
Hoạt đông của TCP/IP Stack là các nhiệm vụ sẽ được chia thành các tác
vụ ( ở đây là TCP, UDP, Ping,…). Tất cả hoạt động của TCP/IP sẽ được một
đồng hồ chung quản lí theo Time Split. Tức là có một Timer hệ thống (Timer1),
cứ mỗi khoảng thời gian ngắn sẽ ngắt (gọi là một TICK), khi bị ngắt, hệ thống sẽ
treo lại, ngữ cảnh của tất cả các tác vụ được bộ lập lịch lôi ra, xem xét tác vụ nào 33
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
được chạy theo kiểu chia sẻ thời gian (vì không có mức ưu tiên cho tác vụ). Sau
đó cho phép tác vụ đó chiếm quyền thực thi của CPU. Đến TICK tiếp theo, hệ
thống lại treo lại, và lại lôi ngữ cảnh ra, cứ tiếp tục như vậy mãi.
Với cơ chế hoạt động này, vi điều khiển được coi như một lúc có thể vừa
thực hiện TCP, vừa thực hiện UDP, Ping,…vừa có thể là Server và Client cùng
một lúc.
Vì vậy, PIC nếu được thiết lập ở chế độ TCP Server/Client sẽ hoạt động
đồng thời cả hai hoạt động này. Server lắng nghe kết nối từ Client nào đó trên
mạng. Còn Client thì gửi lệnh mở cổng kết nối tới một Server nào đó cũng ở trên
mạng, mà ta có thể xác lập được.
Vì vậy, hoạt động của các tác vụ là độc lập với nhau, không chịu ảnh
hưởng lẫn nhau.
34
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
CHƯƠNG 3: TỔNG QUAN VỀ TIN SMS, MODULE SIM900 VÀ ATCOMAND
3.1 Tổng quan về tin nhắn SMSSMS là từ viết tắt của Short Message Service. Đó là một công nghệ cho
phép gửi và nhận các tín nhắn giữa các điện thoại với nhau. Dữ liệu có thể được
lưu giữ bởi một tin nhắn SMS là rất giới hạn. Một tin nhắn SMS có thể chứa tối
đa là 140 byte (1120 bit) dữ liệu. Vì vậy, một tin nhắn SMS chỉ có thể chứa :
+ 160 kí tự nếu như mã hóa kí tự 7 bit được sử dụng.
+ 70 kí tự nếu như mã hóa kí tự 16 bit Unicode UCS2 được sử dụng.
Tin nhắn SMS dạng text hỗ trợ nhiều ngôn ngữ khác nhau. Nó có thể hoạt
động tốt với nhiều ngôn ngữ mà có hỗ trợ mã Unicode, bao gồm cả Arabic,
Trung Quốc, Nhật bản và Hàn Quốc.
3.2 Giới thiệu Module SIM9003.2.1 Tổng quan về Module SIM900
Hình 3.2 Module Sim900
35
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Sim900 là một module GSM/GPRS cực kỳ nhỏ gọn, được thiết kế cho thị
trường toàn cầu. Sim900 hoạt động được ở 4 băng tần GSM 850MHz, EGSM
900MHz, DCS 1800MHz và PCS 1900MHz như là một loại thiết bị đầu cuối với
một Chip xử lý đơn nhân đầy sức mạnh, tăng cường các tính năng quan trọng
dựa trên nền vi xử lý ARM926EJ-S, kích thước nhỏ gọn (24x24 mm), đáp ứng
những yêu cầu về không gian trong các ứng dụng M2M.
3.2.2 Khảo sát sơ đồ chân
36
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Hình 3.3 Sơ đồ chân của Module Sim900
3.2.3 Kết nối giữa Module SIM900 và vi điều khiển
37
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Hình 3.4 Kết nối giữa Breakout SIM900 và Vi điều khiển
Chân TXD của SIM900 được kết nối với chân RXD của vi điều khiển, và
ngược lại chân RXD của SIM900 kết nối tới chân TXD của vi điều khiển, đồng
thời chân GND của SIM900 và vi điều khiển được nối chung với nhau. Chân
PWU là chân kích hoạt cho Module SIM900 được nối với chân RB0 của vi điều
khiển.
3.3 Khảo sát tập lệnh AT Có rất nhiều lệnh AT cho Moulde SIM900, xong trong phần này ta chỉ tập trung
mô tả các lệnh AT về SMS.
1. Lệnh xóa tin nhắn
AT+CMGD=<index> <cr>
<index>: vị trí ngăn nhớ lưu tin nhắn
Nếu lệnh thực hiện được thì trả về:
Ok
Nếu lệnh không thực hiện được thì trả về dạng:
+CMS ERROR <err>
2. Lệnh chọn định dạng tin nhắn
AT+CMGF=[<mode>]
38
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
<mode> 0 PDU mode
1 TEXT mode
3. Lệnh liệt kê tin nhắn từ vùng nhớ ưu tiên
AT+CMGL=<stat>[,<mode>]
<mode> 0 Bình thường
1 Không chuyển trạng thái của tin nhắn
4. Lệnh đọc tin nhắn:
AT+CMGR=<index>[,mode] <cr>
<index> : số nguyên, đó là vị trí ngăn nhớ chứa tin nhắn cần đọc
<mode> : 0 dạng dữ liệu PDU
1 dạng dữ liệu kiểu text
Nếu lệnh thực hiện được thì trả về
OK
Nếu lệnh bị lỗi thì trả về dưới dạng:
+CMS ERROR: <err>
5. Lệnh gửi tin nhắn SMS:
AT+CMGS
Khi gửi tin nhắn dưới dạng text:
(+CMGF=1):
+CMGS=<da>[,<toda>]<CR> text is entered <ctrl-Z/ESC>
Lệnh được thực hiện thành công thi dữ liệu trả về:
Dạng text : +CMGS: <mr>
OK
Lệnh bị lỗi : +CMS ERROR: <err>
39
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
CHƯƠNG 4: THIẾT KẾ VÀ THI CÔNG4.1 Phân tích yêu cầu điều khiển
Trong một gia đình thông thường ngày nay, TV, hệ thống nghe nhìn, máy
tính, đèn chiếu sáng, rèm cửa và điện thoại di động, ngày càng trở nên dễ sử
dụng và đa năng hơn, nhưng mỗi thiết bị hoạt động độc lập với các bộ điều khiển
dùng riêng. Điều này có nghĩa là có rất nhiều bộ điều khiển, nút chỉnh làm cho
cuộc sống thêm phức tạp.
Với ý nghĩa một ngôi nhà “thông minh”, các thiết bị nói trên sẽ được tích
hợp trong một hệ thống đồng nhất, cung cấp các chức năng của từng loại thiết bị
nhưng được điều khiển tập trung từ bộ điều khiển trung tâm. Như vây, các thiết
bị “thông minh” rời rạc trước đây giờ đây là các thành phần cấu thành nên một
hệ thống “thông minh”.
Phân tích các thiết bị điện cần điều khiển trong một gia đình thông thường,
ta nhận thấy các thiết bị điện trong gia đình chủ yếu là các biến logic, chỉ có 2
trạng thái tắt hoặc mở ví dụ như quạt, điều hòa, tivi, bóng đèn… Song bên cạnh
đó cũng có một số biến có dạng số nguyên, số thực như nhiệt độ phòng, mức
nước trong bể, độ mở của rèm cửa… Với những biến kiểu logic, ta chỉ cần xác
định trạng thái của thiết bị và yêu cầu điều khiển để bật hoặc mở thiết bị khi có
yêu cầu. Còn với những biển kiểu số nguyên, số thực như nhiệt độ, mức nước
trong bể… thì ta cần có cảm biến đo để xác định được giá trị của biến ở thời
điểm hiện tại. Ví dụ, muốn hệ thống tự động bật điều hòa khi nhiệt độ phòng
cao thì ta cần ta cần có một cảm biến nhiệt độ để xác định nhiệt độ phòng tại thời
điểm hiện tại. Nếu nhiệt độ phòng cao hơn một giá trị ta định trước thì hệ thống
sẽ tự động điều khiển để bật điều hòa lên, và khi nhiệt độ hạ thấp giá trị ta định
trước thì hệ thống sẽ điều khiển để tắt điều hòa đi.
40
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Yêu cầu điều khiển được đặt ra đối với hệ thống là người dùng có thể sử
dụng máy tính có nối mạng, hoặc điện thoại, máy tính bảng có tính năng nhắn tin
SMS để đưa ra yêu cầu điều khiển từ xa. Bộ điều khiển nhận lệnh, xử lý rồi sau
đó đưa ra tín hiệu điều khiển thích hợp, sau khi điều khiển xong thì thông báo
ngược lại cho người sử dụng biết đã thực hiện thành công cũng như thông báo
trạng thái của thiết bị hiện thời.
Nhà thông minh là một đề tài mở với rất nhiều các ứng dụng, các tiện ích
có thể áp dụng nhằm phục vụ nhu cầu ngày càng nâng cao của con người. Chính
vì vậy mà giới hạn trong đồ án tốt nghiệp chúng em không thể giải quyết được
hết các bài toán trên thực tế. Trước mắt, chúng em sẽ thi công một bộ điều khiển
có khả năng giao tiếp truyền thông qua mạng Ethernet và tin nhắn SMS, từ đó
người sử dụng có thể đưa ra yêu cầu điều khiển để đóng hoặc mở một số thiết bị
điện từ xa, ngoài ra bộ điều khiển còn có khả năng nhận tín hiệu từ cảm biến
nhiệt độ và thông báo cho người sử dụng biết thông tin về nhiệt độ trong phòng.
Về hướng đi trong tương lai, chúng em sẽ mở rộng và phát triển thêm
nhiều module, nâng cao khả năng giao tiếp của thiết bị hơn nữa, tăng tính tương
tác với người sử dụng cũng như tăng độ an toàn cho ngôi nhà thông minh.
41
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
4.2 Tổng quan chương trình chính Giải thuật tổng quan chương trình chính
42
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Hình 4.1 Tổng quan chương trình chính
43
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Mô tả giải thuật:
Bước đầu tiên khai báo các biến sử dụng trong chương trình và khởi tạo
giá trị của biến, khai báo các ngắt được sử dụng trong chương trình, sau đó khởi
tạo các giá trị thanh ghi để cấu hình cho vi điều khiển. Tiếp theo, khởi tạo và cấu
hình cho Module. Khởi tạo cho khối Ethernet. Cuối cùng là đi vào chương trình
chính, đợi tin nhắn, đọc tín hiệu về từ cảm biến, cũng như tín hiệu điều khiển từ
Websever và đưa ra tín hiệu điều khiển thích hợp
4.3 Thiết kế và thi công Webserver4.3.1 Thiết kế giao diện web
Ta có dùng một số công cụ như MicrosoftOffice Publisher trong bộ
Microsoft Office hay Adobe Dreamweaver,… để tạo một webserver với giao
diện đơn giản như sau:
44
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Hình 4.2 Giao diện Webserver
4.3.2 Giám sát trên Web
Nhiệm vụ đặt ra là làm thế nào để biết được trạng thái các biến hệ thống
và kiểm tra các trạng thái này thường xuyên trên webserver?
Để làm điều này chúng ta đưa ra khái niệm biến động (dynamic variable) .
Biến động cho phép webserver lấy dữ liệu từ hệ thống như là giá trị lấy từ một
cảm biến hay dữ liệu trên một vùng nhớ và dữ liệu này sẽ được hiển thị trên giao
45
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
diện người dùng (trình duyệt web). Sau đây, chúng ta sẽ đi vào một ví dụ cụ thể
là đưa giá trị nhiệt độ đo được từ cảm biến nhiệt độ lên trình duyệt.
Hình 4.3 Từ cảm biến nhệt độ lên trình duyệt
Biến động được tạo ra bằng cách chèn biến cần giám sát vào giữa cặp dấu
“~” (ngã) trong code HTML của trang web. Khi module HTTP2 webserver bắt
gặp biến này nó sẽ xử lý “hàm triệu tập” (callback function). Hàm này được xử
lý trong code C của ứng dụng.
Chẳng hạn,chúng ta muốn biết nhiệt độ phòng – giá trị này được thể hiện
qua biến nhietdo trong code cua webserver. Để đưa biến nhietdothành biến
động,ta cần thực hiện hai bước.
Thứ nhất,đưa biến này vào giữa cặp dấu ngã “~”
46
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Thứ hai, là thực hiện hàm HTTPPrint_nhietdo() trong file code
CustomHTTPApp.c của chương trình. Khi xử lý,hàm này sẽ đặt dữ liệu lên gói
tin (socket) để truyền đi. HTTP server hoạt động trên một vùng đệm có kích
thước nhất định. Khi hàm HTTPPrint_nhietdo() được gọi,server sẽ đảm bảo ít
nhất 16 byte trống trong vùng đệm. Nếu giá trị biến động nhietdonhỏ hơn vùng
dữ liệu mà server dành ra này thì nó sẽ được xử lý ngay lập tức. Ngược lại,khi
kích thước biến lớn hơn vùng trên thì hàm trên sẽ kiểm tra vùng đó hiện giờ
trống bao nhiêu và đưa ra kết quả hàm đã được xử lý hay chưa thông qua biến
curHTTP.callbackPosition.
47
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Và kết quả thu được trên trình duyệt:
Hình 4.4 Kết quả nhiệt độ phòng trên trình duyệt
4.3.3 Điều khiển trên Web
Công việc tiếp theo là làm cách nào để điều khiển thiết bị thông qua trình
duyệt?
48
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Trước hết chúng ta tìm hiểu về thẻ <form> , cách đọc nó trong HTML
code và so sánh sự khác nhau giữa hai phương pháp truyền tin là phương pháp
GET và POST. Cuối cùng là đi vào một phương pháp cụ thể mà được dùng trong
đồ án này là phương pháp GET.
Web forms cho phép webserver nhận dữ liệu từ người dùng thông qua
mạng. Dữ liệu này có thể dùng để điều khiển một đầu ra hoặc một vùng nhớ của
hệ thống. Chúng ta sẽ lấy một ví dụ là vi điều khiển nhận lệnh “On/Off” từ trang
web và điều khiển trạng thái của một bóng đèn tương ứng.
Hình 4.5 Vi điều khiển nhận lệnh từ Web và điều khiển
Giống như bất kỳ phần nào trong HTML,web forms có thể nhận ra thông
qua cặp thẻ <form></form>. Trong cặp thẻ này sẽ có các thẻ <input> với các
kiểu tương tác người dùng (nút bấm,dạng check,…)
49
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Khi các biến này đưa tới server thì chúng được mã hóa thành một chuỗi
các cặp tên/giá trị, mỗi trường được phân cách nhau bằng ký tự “&” và giữa tên
và giá trị phân cách nhau bằng ký tự “=”.
4.3.4 Phương pháp truyền dữ liệu
Có hai phương pháp được dùng để truyền dữ liệu là phương pháp GET và
phươngpháp POST.Phương pháp GET đặt dữ liệu ngay sau URL (VD:
/form.htm?lights=on&brightness=50). Trong nền tảng PIC thì đây là phương
pháp xử lý dữ liệu dễ nhất bởi nó được lưu vào vùng nhớ đồng thời. Tuy
nhiên,độ dài của tên biến,giá trị,ký tự bị giới hạn bởi kích thước của vùng đệm là
100 byte. Trong khi đó phương pháp POST không giới hạn kích thước của dữ
liệu,tuy nhiên phương thức truyên của nó phức tạp hơn. Do phạm vi của đồ án
với ít ngoại vi nên việc sử dụng phương pháp GET được cho là tối ưu.
Mọi dữ liệu được truyền qua phương pháp GET sẽ tự động được giải mã
và đặt vào một mảng nhớ curHTTP.data một cách đồng thời. Do đó,việc tìm
kiếm các tham số rất đơn giản và hiệu quả.
50
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Khi thực hiện truyền dữ liệu, hàm HTTPExecuteGet() được gọi. Cũng
giống như việc gọi hàm các biến động,hàm này được người dùng thực hiện và
định nghĩa trong CustomHTTPApp.c.
51
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Kết quả thu được với ví dụ trên:
Hình 4.5 Kết quả truyền dữ liệu
Sau khi hoàn tất thiết lập các biến trong web,ta tiến hành tạo file ảnh của web để
lưu trữ vào ROM bằng phần mềm MPFS2 đi cùng bộ TCP/IP Stack của
Microchip.
- Phần mềm này được cung cấp bởi Microchip, các trang web được gói lại
thành một định dạng và lưu trữ trong bộ nhớ chương trình flash nội hoặc bộ nhớ
ngoài. Chương trình này sẽ tìm các biến động trong các trang web và tự động
cập nhật các biến này trong file HTTPPrint.h.
- Nếu bộ nhớ ngoài được sử dụng, phần mềm MPFS2 sẽ tạo ra một file BIN
và có thể tải trực tiếp lên mạch. Còn nếu dữ liệu được lưu trong bộ nhớ chương
trình flash thì phần mềm MPFS2 sẽ tạo ra một file đuôi .c và được chèn vào
project.
- Khi các biến động được thêm vào hoặc bỏ đi, phần mềm MPFS2 sẽ cập
nhật cho file HTTPPrint.h. Sau đó ta phải dịch lại project để đảm bảo các biến
mới đã được thêm vào project.
52
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Hình 4.6 Phần mềm MPFS2
53
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
4.4 Thiết kế và thi công Module SIM900Module SIM900 hoạt động như một chiếc điện thoại thông thường, có khả
năng gửi và nhận tin nhắn SMS. Module SIM900 và vi điều khiển giao tiếp qua
truyền thông EUART. Vi điều khiển sẽ gửi lệnh AT cho Module SIM900 thông
qua truyền thông EUART với các thông số được thiết lập như sau:
Baudrate: 9600pbs
Data bits: 8
Parity: None
Stop bits: 1
Flow control: None
//**************Code tham khao****Focs=10Mhz**********
TXSTA1=0X20;
RCSTA1=0X90;
SPBRG=15;
//******************************************************
Người sử dụng gửi tin nhắn với cú pháp được định trước, Module SIM900
nhận tin nhắn rồi truyền cho vi điều khiển. Vi điều khiển sẽ phân tích nội dung
tin nhắn, sau đó đưa ra tín hiệu điều khiển để đóng hoặc mở thiết bị.
54
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
4.4.1 Giải thuật nhận tin nhắn và thực thi điều khiển:
55
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Hình 4.7 Giải thuật nhận tin nhắn và thực thi điều khiển
Mô tả giả thuật:
Bắt đầu, vi điều khiển ở trạng thái chờ tin nhắn mới. Khi có tin nhắn mới
tới Module SIM900, vi điều khiển lưu nội dung tin nhắn này vào bộ đệm. Tiếp
56
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
theo vi điều khiển kiểm tra số điện thoại gửi tin nhắn, nếu số điện thoại sai thì ra
lệnh xóa tin nhắn, khởi tạo lại bộ đệm và quay lại trạng thái chờ. Nếu số điện
thoại đúng vi điều khiển tiếp tục kiểm tra mật khẩu và cú pháp lệnh.
Nếu mật khẩu hoặc cú pháp lệnh sai thì vi điều khiển gửi tín hiệu tới
Module SIM900 gửi SMS cho người dùng báo lỗi, đồng thời xóa tin nhắn, khởi
tạo lại bộ đệm và quay lại trạng thái chờ.
Nếu mật khẩu và cú pháp đúng, thì vi điều khiển thực hiện lệnh theo yêu
cầu trong tin nhắn SMS. Khi thực hiện lệnh xong thì vi điều khiển gửi tín hiệu
tới Module SIM900 gửi SMS tới người dùng báo hiệu lệnh đã được thực hiện,
sau đó xóa tin nhắn, khởi tạo lại bộ đệm và quay lại trạng thái chờ.
4.4.2 Sơ đồ nguyên lý kết nối Module SIM900
57
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Hình 4.8 Sơ đồ nguyên lý kết nối Module SIM900
Module SIM900 được cấp nguồn với điện áp 4V, có đáp ứng dòng tối đa
lên tới 2A. Chân PWR được kích lên mức cao trong khảng 1s để tắt hoặc bật
module. Các chân TXD, RXD, GND được nối tương ứng với các chân RXD,
TXD, GND của vi điều khiển.
58
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
4.5 Thiết kế phần cứng mạch chính Nguồn cung cấp:
MCLRVEXTVSSRB7RB6
+5V
VPIC
VCC+5V
VEXTVEXTVCC
VI1 VO 3
GN
D2
78057805
C1200u
12
J1
SIL-156-02 C247u
C3470u
D1
DIODE
D13
DIODE
R1330
VPIC
AK
POWERLED-RED
11
22
33
6 65 54 4
BUT1
BUTTON6
59
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
VENVI3 VO 2
GN
D1
LM1117LM1117
C1610u
C1710u
Hình 4.9 Sơ đồ nguyên lý nguồn cung cấp cho toàn mạch
- Dùng IC ổn áp:
+ LM7805: Ổn định điện áp làm việc cho PIC18F8722.
+ LM1117: Ổn định điện áp 3.3V cho IC ENC28J60 và RJ45.
- Dùng các tụ hóa có giá trị khác nhau để lọc điện áp ra.
- Dùng đèn led để hiển trị trạng thái của nguồn.
- Dùng nút bấm để đóng hoặc mở nguồn cung cấp.
60
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Khối vi điều khiển PIC18F8722
61
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
RD0RD1RD2RD3RD4RD5RD6RD7
RA5
RB0
RB3
RB5
RC3RC4RC5RC6RC7
RA3
MCLRRG5
RE0RE1RE2RE3RE4RE5RE6RE7
RF0RF1RF2
RA0RA1RA2
RA4
RB1RB2
RB4
RB6RB7
RC0RC1RC2
RJ0RJ1RJ2RJ3RJ4RJ5RJ6RJ7
RH0RH1RH2RH3RH4RH5RH6RH7
RG4RG3RG2RG1RG0
RF7RF6RF5RF4RF3
C13
22p
X2CRYSTAL
C14
22p
RH2/A181 RH3/A192
RE1/WR/AD9/P2C3
RE0/RD/AD8/P2D4
RG0/CCP3/P3A5RG1/TX2/CK26 RG2/RX2/DT27 RG3/CCP4/P3D8
RG5/MCLR/VPP9
RG4/CCP5/P1D10
RF7/SS13
RF2/AN7/C1OUT18
RH7/AN15/P1B19
RH6/AN14/P1C20
RH5/AN13/P3B21
RH4/AN12/P3C22
RF1/AN6/C2OUT23
RF0/AN524
AVDD 25AVSS 26
RA3/AN3/VREF+ 27
RA2/AN2/VREF- 28
RA1/AN1 29
RA0/AN0 30
RA5/AN4/LVDIN 33
RH1/A1780
RH0/A1679
RE2/CS/AD10/P2B78RE3/AD11/P3C'77 RE4/AD12/P3B'76 RE5/AD13/P1C'75 RE6/AD14/P1B'74RE7/ECCP2C/AD15/P2A'73
RD0/PSP0/AD0 72RD1/PSP1/AD1 69RD2/PSP2/AD2 68RD3/PSP3/AD3 67RD4/PSP4/AD4/SDO2 66RD5/PSP5/AD5/SDI2/SDA2 65RD6/PSP6/AD6/SCK2/SCL2 64RD7/PSP7/AD7/SS2 63RJ0/ALE62
RJ1/OE61 RJ2/WRL60 RJ3/WRH59
RB0/INT0 58RB1/INT1 57RB2/INT2 56RB3/INT3/ECCP2B/P2A' 55RB4/KBI0 54RB5/KBI1/PGM 53RB6/KBI2/PGC 52
RA6/OSC2/CLKO 50RA7/OSC1/CLKI 49
RA4/T0CKI 34
RC1/T1OSI/ECCP2A/P2A 35
RC0/T1OSO/T13CKI 36
RC6/TX1/CK1 37RC7/RX1/DT1 38
RJ4/BA039RJ5/CE40 RJ6/LB41
RB7/KBI3/PGD 47
RC5/SDO 46
RC4/SDI/SDA 45
RC3/SCK/SCL 44
RC2/ECCP1/P1A 43
RJ7/UB42
RF3/AN8/C2IN+17RF4/AN9/C2IN-16 RF5/AN10/CVREF/C1IN+15 RF6/AN11/C1IN-14
PIC18F8722
PIC18F8722
R6
1k
62
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
RA5 AK
CONNECT
R35470R
RD0
BU2
R33
10k
R34
470
1 2
BU1
RESET
R8
470MCLR
R5
10K
C4100n
63
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
VCC GND
RD0RD2RD4RD6
RD1RD3RD5RD7
VCC GND
RB0RB2RB4RB6
RB1RB3RB5RB7
VEN GND
RC0RC2RC4RC6
RC1RC3RC5RC7
1357
2468
9 10
PORTD
10056845-110LF
1357
2468
9 10
PORTB
10056845-110LF
1357
2468
9 10
PORTC
10056845-110LF
Hình 4.10 Khối vi điều khiển
Khối giao tiếp mạng:
64
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
RC4
VE
N
VE
N
ENC_17
ENC_16ENC_16ENC_17
ENC_13
ENC_13
ENC_12
ENC_12
A1A
2
A1
A2
RC5
RC3
RB5
RB3
SCK8
SI7
SO6
CS9
RESET10
INT4
LEDB26 LEDA27
VCAP 1
CLKOUT3
VSSRX 11TPIN- 12TPIN+ 13
RBIAS 14
VDDOSC 25
OSC2 24
OSC1 23
VSSOSC 22
VSSPLL 21VDDPLL 20
VDDRX 19
VSSTX 18
TPOUT+ 17
TPOUT- 16
VDDTX 15
ENC28J60
ENC28J60VDD=VEN
231
74HC12574HC125
C60.1u
C70.1u
C80.1u
C90.1u
C1010u
X1
CRYSTALC1118p
C1218p
L1100mH
R1651
C1810n
R1751
C1910n
R1851
R1951
11
33
22
44
55
77
66
88
1111
1212
99
1010
911102HR911102
R4
1kR6
1k
R91k
R101k
R2
100
R7
100
R11
100
1
JUMP_74125JUMP_74125
65
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Hình 4.11 Khối giao tiếp mạng
- Dùng ENC28J60 để kết nối mạng Ethernet, tần số thạc anh 25Mhz.
- Dùng 74HC125 để kết nối giữa ENC28J60 và vi điều khiển
PIC18F822.
- Dùng đầu mạng RJ45 HR911102
Khối ROM:
SCK6
SI5
SO2
CS1 HOLD 7WP 3
25LC256
25LC256
RC5RC3
RC4RA3
C50.1u
R3
10k
66
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Hình 4.12 Khối ROM
- Dùng Room 25LC256, với dung lượng 256KB để lưu trữ Webserver
Khối cảm biến nhiệt độ, chuông, hiển thị LCD, mạch nạp
67
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
RE
7R
E6
RE
5R
E4
RE
3R
E2
RE
1R
E0
RG
0R
G1
RG
2
MCLRVEXTVSSRB7RB6
RF2RF3
27.0DQ2VCC3
GND1
DS18B20
DS18B20
R1210k
C15
0.1u
BUZ1
BUZZER
1
23
Q1NPN
R13
10k
R1410k
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
LCD66226-016
12345
J2
CHAN NAP
12
J4
CONN-H212
J5
CONN-H2
31
2
RV1
10k
68
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Hình 4.13 Khối cảm biến, chuông, hiển thị, mạch nạp
- Dùng cảm biến đo nhiệt độ DS18B20.
- Dùng chuông để cánh báo
- Dùng Text LCD16x2 để hiển thị
Chương 5: KẾT LUẬN5.1 Kết luận
Qua thời gian nghiên cứu, thi công đồ án đã cơ bản được hoàn thành.
Bằng sự nỗ lực cố gắng của bản thân mỗi cá nhân và sự phân chia, phối hợp
công việc hợp lí, chặt chẽ, nhịp nhàng giữa mỗi thành viên của nhóm, bên cạnh
đó còn là sự hướng dẫn nhiệt tình, tận tâm của thầy Vũ Vân Hà, đồ án này đã
được hoàn thành đúng thời gian như đã định và đã đạt được yêu cầu đặt ra là
thiết kế và thi công hệ thống điều khiển thiết bị điện từ xa qua mạng Ethernet và
tin nhắn SMS. Trong quá trình thực hiện đề tài, chúng em đã thu được những kết
quả nhất định như sau:
- Mạch điện với các module trên mạch được thiết kế, thi công hoàn chỉnh
và đã được thử nghiệm nhiều lần và đã hoạt động ổn định trong thực tế.
- Xây dựng được mô hình để ứng dụng điều khiển các thiết bị và hệ thống
báo động khi nhiệt độ tăng cao.
69
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Hệ thống điều khiển thiết bị điện trong nhà từ xa thông qua mạng Ethernet
và tin nhắn SMS được thực hiện như trong đề tài là một hệ thống với các chức
năng đạt được như sau:
1. Hệ thống có thể điều khiển được thiết bị điện từ xa thông qua tin nhắn SMS:
- Sau khi gửi tin nhắn thì với nội dụng tin nhắn đó, bộ xử lí sẽ thực thi
quá trình xử lí, sau đó là điều khiển thiết bị một cách tự động.
- Tin nhắn được gửi đi từ người điều khiển để điều khiển thiết bị điện và
người điều khiển cũng nhận được tin nhắn trả ngược lại với nội dụng tin
nhắn là đã thực thi lệnh điều khiển thành công hay chưa.
- Hệ thống có khả năng được bảo vệ tốt, nghĩa là người sử dụng phải biết
lệnh điều khiển và mật khẩu (password) thì mới đăng nhập được vào hệ
thống đối với sử dụng tin nhắn SMS.
2. Hệ thống của thể điều khiển được thiết bị điện từ xa thông qua mạng Ethernet
- Người dùng có thể dùng máy tính đăng nhập vào Webserver và thực thi
điều khiển thiết bị ngay trên giao điện Web.
- Trạng thái của thiết bị được cập nhật ngay trên giao diện Web.
3. Hệ thống có tính năng cảnh báo khi nhiệt độ cao
- Khối cảm biến đo nhiệt độ DS18B20 được kết nối tới vi điều khiển cho
biết nhiệt độ phòng.
- Có chức năng báo động và gửi tín nhăn tới người dùng khi nhiệt độ tăng
cao quá giới hạn cho phép.
Để thực hiện được các chức năng nêu trên, nhóm em đã tìm hiểu, nghiên
cứu các vấn đề có liên quan tới đề tài như : truyền thông UART, truyền thông
SPI, giao thức TCP/IP, vi điều khiển PIC18F8722, ENC28J60, mạng Ethernet,
70
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
Module Sim900, bộ lệnh AT Command dành cho Module, và các vấn đề khác
liên quan tới đề tài.
Cuối cùng, theo nhận định chủ quan của nhóm em thì đồ án đã được hoàn
thành đúng thời gian cho phép và đã trình bày khá đầy đủ các mảng kiến thức
liên quan, các vấn đề liên qua tới đề tài. Song do những điều kiện khách quan, đề
tài này chỉ thực hiện một phần nhỏ đối với việc điều khiển. Đó là điều khiển 4
thiết bị công suất và cảnh báo khi nhiệt độ cao.
5.2 Hướng phát triển đề tàiDo thời gian thực hiện đề tài có hạn và lượng kiến thức cá nhân mỗi thành
viên của nhóm là nhất định nên đề tài thực hiện xong chỉ đáp ứng được một phần
nhỏ của một hệ thống hoàn chỉnh. Vì vậy, để đề tài này thêm phong phú hơn,
mang nhiều tính thực tế hơn nữa, có khả năng ứng dụng cao hơn thì chúng em đề
xuất đưa thêm vào những yêu cầu như sau:
Sử dụng thêm nhiều loại cảm biến khác, chẳng hạn như cảm biến độ ẩm
không khí để đo độ ẩm không khí, hệ thống báo cháy tự động,… để ứng
dụng vào đề tài. Như thế người dùng có thể hình dung ra được toàn bộ
không gian trong ngồi nhà.
Thêm khối bàn phím, thời gian thực để người dùng có thể trực tiếp chỉnh
định lại các thông số của hệ thống sao cho phù hợp và có thể hẹn giờ để
tắt/bật thiết bị theo ý muốn.
Mở rộng điều khiển được nhiều hơn nữa các thiết bị.
Phần cứng cho mỗi module cần được tách rời nhằm dễ dàng cho việc
chỉnh sửa, thay đổi.
Hy vọng với những hướng phát triển nêu trên cùng với những ý tưởng, góp
ý khác của các thầy cô giáo, các bạn đọc sẽ phát triển hơn nữa đề tài này, khắc
71
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
phục những hạn chế, tồn tại của đề tài, làm cho đề tài trở nên phong phú hơn,
mang tính ứng dụng cao hơn vào trong thực tế cuộc sống, phục vụ cho những lợi
ích của con người trong tương lai.
TÀI LIỆU THAM KHẢO[1] Hoàng Minh Sơn, Mạng Truyền Thông Công Nghiệp, NXB Khoa Học Và
Kỹ Thuật, 2006
[2] Muhammad Ali Mazidi, Rolin D.McKinlay, Danny Causey, PIC
Microcontroller and Embedded Systems, Courier Kendallville, Inc, 2008
[3] Một Số Trang Web Tham Khảo:
www.picvietnam.com
www.4tech.com.vn
www.dientuvietnam.net
www.microchip.com
www.eprojects.ljcv.net
72
VnDoc - Tải tài liệu, văn bản pháp luật, biểu mẫu miễn phí
Thiết kế hệ thống điều khiển thiết bị điện trong gia đình qua Ethernet và SMS GVHD: TS. Vũ Vân Hà
73