1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo Cáo Bài Tập Lớn Môn Truyền Số Liệu Và Mạng Máy Tính.pdf

25 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Báo Cáo Bài Tập Lớn Môn Truyền Số Liệu Và Mạng Máy Tính
Tác giả Huỳnh Quang Huy, Trần Thanh Huy, Lưu Lê Anh Khôi, Nguyễn Nhật Minh, Lê Tấn Dũng
Người hướng dẫn Thầy Nguyễn Khánh Lợi
Trường học Trường Đại học Bách Khoa, Đại học Quốc gia TPHCM
Chuyên ngành Truyền số liệu và mạng máy tính
Thể loại Báo cáo bài tập lớn
Năm xuất bản 2023
Thành phố TPHCM
Định dạng
Số trang 25
Dung lượng 1,19 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nhờ vào sự hướng dẫn tận tình của thầy, nhóm em đã không chỉ hiểu rõ hơn về các nguyên lý và ứng dụng của truyền số liệu mà còn học được cách tư duy logic, hệ thống hóa vấn đề và áp dụng

Trang 1

ĐẠI HỌC QUỐC GIA TPHCM TRƯỜNG ĐẠI HỌC BÁCH KHOA

Trang 2

Lời cảm ơn

Trước tiên, nhóm em xin gửi lời chào trân trọng đến thầy Nguyễn Khánh Lợi Nhóm xin bày tỏ lòng biết ơn sâu sắc vì sự tận tâm, nhiệt huyết và những kiến thức quý báu mà thầy đã truyền đạt trong suốt quá trình học môn Truyền số liệu và mạng máy tính

Nhờ vào sự hướng dẫn tận tình của thầy, nhóm em đã không chỉ hiểu rõ hơn về các nguyên lý và ứng dụng của truyền số liệu mà còn học được cách tư duy logic, hệ thống hóa vấn đề và áp dụng kiến thức lý thuyết vào thực tế thông qua các bài tập lớp

Dù đôi lúc các bài tập có độ khó cao, nhưng chính sự chỉ dẫn cụ thể và thái độ hỗ trợ không ngại khó của thầy đã giúp em cùng các bạn có thêm động lực để vượt qua thử thách, tích lũy được nhiều kinh nghiệm học tập hữu ích Thầy không chỉ dạy chúng em cách tiếp cận khoa học mà còn truyền cảm hứng để chúng em yêu thích môn học, kiên trì hơn trên con đường chinh phục tri thức Đặc biệt, những buổi thảo luận trên lớp cùng với các ví dụ minh họa thực tế mà thầy chia sẻ đã giúp chúng em mở rộng tầm nhìn về lĩnh vực mạng máy tính và truyền thông số liệu – một lĩnh vực quan trọng trong thời đại số hóa ngày nay

Một lần nữa, Nhóm xin chân thành cảm ơn thầy vì những đóng góp và tận tụy trong việc dạy dỗ Nhóm em hy vọng rằng trong tương lai sẽ tiếp tục có cơ hội được học hỏi thêm từ thầy và áp dụng những gì đã được học để đạt được thành công trong học tập và sự nghiệp

Kính chúc thầy luôn mạnh khỏe, hạnh phúc và gặt hái được nhiều thành công trong sự nghiệp giảng dạy cũng như nghiên cứu của mình

Trang 3

MỤC LỤC

I GIỚI THIỆU VỀ ĐỀ TÀI………3

II.CÁC GIAO THỨC ĐƯỢC SỬ DỤNG TRONG ĐỀ TÀI………3

2.1 Giao thức TCP/IP……….4

2.1.1 Giới thiệu………4

2.1.2 Nguyên lý hoạt động của TCP/IP……… 5

2.1.3 Cấu trúc của TCP/IP và chức năng của các tầng…………5

2.2 Quá trình đẩy lên node red 2.2.1 Arduino IDE……… 9

2.2.2 Node-red……….10

2.2.3 ESP8266……….12

2.2.4 MQTT……….12

III MÔ TẢ PHẦN CỨNG……….13

IV.SƠ ĐÒ KHỐI VÀ SƠ ĐỒ GIẢI THUẬT………19

V.CLIP DEMO BÀI TẬP LỚN……….24

VI.TÀI LIỆU THAM KHẢO……….25

Trang 4

I Giới thiệu về đề tài

Trong bối cảnh nông nghiệp đang dần chuyển mình mạnh mẽ nhờ ứng dụng công nghệ thông minh, việc tối ưu hóa các hoạt động canh tác trở thành một nhu cầu cấp thiết Một trong những vấn đề quan trọng cần giải quyết là hệ thống tưới tiêu – yếu tố then chốt ảnh hưởng đến năng suất và chất lượng cây trồng Với sự phát triển của công nghệ IoT (Internet of Things), việc tích hợp các thiết bị thông minh vào hệ thống nông nghiệp không chỉ giúp tiết kiệm tài nguyên mà còn nâng cao hiệu quả quản lý

Đề tài "Ứng dụng kit IoT2050 cho hệ thống tưới tiêu thông minh" được xây dựng nhằm hiện thực hóa giải pháp tự động hóa và tối ưu hóa quy trình tưới tiêu Kit IoT2050, với khả năng xử lý mạnh mẽ, hỗ trợ giao thức IoT hiện đại và khả năng kết nối đa dạng, là một công cụ lý tưởng để triển khai hệ thống này

Mục tiêu của đề tài là xây dựng một hệ thống tưới tiêu thông minh dựa trên các thông số môi trường như độ ẩm đất, nhiệt độ, độ ẩm không khí, và ánh sáng Hệ thống sẽ sử dụng cảm biến để thu thập dữ liệu, xử lý thông qua kit IoT2050, và từ đó tự động kích hoạt hoặc điều chỉnh hoạt động tưới tiêu Đồng thời, thông qua kết nối internet, người dùng có thể giám sát và điều khiển hệ thống từ xa thông qua ứng dụng hoặc giao diện web

II Các giao thức sử dụng trong đề tài:

1.1 Giao thức TCP/IP:

1.1.1 Giới thiệu:

TCP/IP là cụm từ viết tắt của Transmission Control

Protocol/Internet Protocol hay còn gọi là giao thức điều khiển

truyền/nhận (Giao thức liên mạng) Đây là một bộ các giao thức truyền

thông được sử dụng để kết nối các thiết bị mạng với nhau trên internet

TCP/IP cũng có thể được sử dụng như một giao thức truyền thông trong

mạng máy tính riêng (mạng nội bộ) Trong đó, bộ Giao thức internet –

một tập hợp các quy tắc và thủ tục – thường gọi là TCP/IP (TCP/IP

Protocol) TCP và IP là hai giao thức chính bên cạnh những giao thức

khác trong bộ Bộ giao thức TCP/IP hoạt động như một lớp trừu tượng

giữa các ứng dụng internet và hạ tầng router/switch.TCP/IP chỉ định cách

Trang 5

dữ liệu được trao đổi qua internet Nó thực hiện bằng cách cung cấp thông

tin liên lạc đầu cuối Từ đó xác định cách nó được chia thành các packet,

xác định địa chỉ, truyền dẫn, định tuyến và nhận dữ liệu TCP/IP được

thiết kế để đảm bảo độ tin cậy, nó có khả năng khôi phục tự động khi gặp

sự cố trong quá trình truyền dữ liệu

2.1.2 Nguyên lý hoạt động của TCP/IP

TCP/IP hoạt động như một cầu nối giữa các ứng dụng và phần cứng mạng Quá trình truyền

dữ liệu được thực hiện qua các bước cơ bản sau:

-Chia nhỏ dữ liệu: Dữ liệu từ ứng dụng (như một email) được chia thành các

gói tin nhỏ để dễ dàng quản lý và truyền tải

-Đóng gói và định địa chỉ: Các gói tin được gắn địa chỉ IP của thiết bị gửi và

thiết bị nhận

-Truyền tải qua mạng: Các gói tin được định tuyến qua nhiều thiết bị trung gian

để đến đích

-Tái hợp và kiểm tra: Ở phía nhận, các gói tin được tái hợp lại thành dữ liệu

ban đầu, đồng thời kiểm tra lỗi và yêu cầu gửi lại nếu cần thiết

2.1.3 Cấu trúc của TCP/IP và chức năng của các tầng

Như đã biết , cấu trúc của OSI có 7 tầng thì với cấu trúc của TCP/IP người ta

chỉ còn rút lại 4 tầng như hình mà thôi

Trang 6

A Tầng Giao diện mạng (Network Interface Layer)

Chức năng:

 Đảm bảo việc trao đổi dữ liệu giữa thiết bị và mạng vật lý

 Xử lý các khía cạnh liên quan đến phần cứng mạng, như card mạng, cáp, hoặc tín hiệu không dây

 Cung cấp cơ chế truyền tải dữ liệu giữa các thiết bị trong cùng một mạng cục bộ

Thành phần chính:

 Kết nối với các giao thức lớp vật lý (Ethernet, Wi-Fi, hoặc PPP)

 Xử lý địa chỉ vật lý (địa chỉ MAC)

B Tầng Internet (Internet Layer)

Chức năng:

 Định tuyến các gói tin từ nguồn đến đích qua một hoặc nhiều mạng trung gian

 Gắn địa chỉ IP cho các gói tin để định danh thiết bị gửi và nhận trên mạng

 Chia nhỏ các gói tin lớn thành các gói nhỏ hơn để dễ dàng truyền tải, sau đó tái hợp lại ở phía nhận

Giao thức chính:

IP (Internet Protocol):

o Cung cấp địa chỉ IP và định tuyến gói tin

o Hai phiên bản phổ biến: IPv4 và IPv6

ICMP (Internet Control Message Protocol): Xử lý thông báo lỗi và kiểm tra trạng

thái của mạng (như ping)

ARP (Address Resolution Protocol): Chuyển đổi địa chỉ IP sang địa chỉ MAC

C Tầng Giao vận (Transport Layer)

Chức năng:

 Đảm bảo dữ liệu được truyền tải chính xác và đáng tin cậy giữa các thiết bị đầu cuối

Quản lý việc chia nhỏ dữ liệu thành các phân đoạn (segments) trước khi gửi đi và tái

hợp chúng ở phía nhận

 Điều khiển luồng dữ liệu, phát hiện lỗi, và khôi phục dữ liệu nếu cần

Giao thức chính:

TCP (Transmission Control Protocol):

o Đảm bảo độ tin cậy cao bằng cách thiết lập kết nối trước khi truyền dữ liệu

Trang 7

o Có cơ chế kiểm tra lỗi, đánh số thứ tự gói tin, và yêu cầu gửi lại nếu dữ liệu bị mất

o Phù hợp với các ứng dụng cần độ chính xác cao như email, tải tệp, hoặc duyệt web

UDP (User Datagram Protocol):

o Không đảm bảo độ tin cậy (không kiểm tra lỗi hoặc mất gói tin)

o Phù hợp với các ứng dụng yêu cầu tốc độ cao, như truyền video trực tiếp hoặc trò chuyện thoại (VoIP)

D.Tầng Ứng dụng (Application Layer)

Chức năng:

 Cung cấp giao diện trực tiếp giữa người dùng và hệ thống mạng

 Xử lý dữ liệu ở dạng mà người dùng hoặc ứng dụng có thể hiểu được

 Định nghĩa cách thức các ứng dụng giao tiếp với nhau thông qua mạng

Giao thức chính:

HTTP/HTTPS (Hypertext Transfer Protocol): Truyền tải nội dung web

SMTP (Simple Mail Transfer Protocol): Gửi email

DNS (Domain Name System): Chuyển đổi tên miền thành địa chỉ IP

FTP (File Transfer Protocol): Truyền tệp

SSH (Secure Shell): Kết nối từ xa bảo mật

2.1.4 Ưu điểm và nhược điểm của TCP/IP

Ưu điểm:

1 Tính phổ biến và tiêu chuẩn hóa:

o TCP/IP là tiêu chuẩn toàn cầu, được sử dụng rộng rãi trên hầu hết các mạng máy tính và Internet, từ mạng nội bộ (LAN) đến mạng diện rộng (WAN)

4 Độ tin cậy cao:

o Cơ chế kiểm tra lỗi, phát hiện mất gói tin, và khôi phục dữ liệu (đặc biệt với giao thức TCP) đảm bảo dữ liệu được truyền chính xác và an toàn

5 Cấu trúc phân tầng:

o Tách biệt chức năng của từng tầng giúp dễ dàng phát triển, bảo trì và mở rộng

o Cho phép nhiều giao thức khác nhau hoạt động đồng thời mà không xung đột

6 Hỗ trợ định tuyến và kết nối linh hoạt:

o Các giao thức như IP và ICMP giúp đảm bảo dữ liệu được định tuyến hiệu quả qua các mạng trung gian và đến đúng đích

7 Tính năng tự động sửa lỗi:

Trang 8

o Đặc biệt hữu ích trong môi trường mạng không ổn định, TCP/IP tự động gửi lại các gói tin bị lỗi hoặc thất lạc, giúp tăng độ tin cậy

Nhược điểm:

1 Phức tạp trong cấu hình:

 Cấu hình địa chỉ IP, subnet mask, gateway, và DNS yêu cầu kiến thức chuyên môn, đặc biệt trong các mạng lớn

2.Hiệu suất không tối ưu:

 TCP/IP tiêu tốn tài nguyên hệ thống để thực hiện kiểm tra lỗi và đảm bảo độ tin cậy, dẫn đến hiệu suất không cao bằng một số giao thức khác trong các ứng dụng yêu cầu tốc độ cao (ví dụ: UDP không có kiểm tra lỗi nhanh hơn TCP)

3.Khó khăn trong việc bảo trì và quản lý:

 Hệ thống lớn với nhiều thiết bị và kết nối có thể trở nên phức tạp, đòi hỏi kỹ năng và công cụ quản lý mạng hiện đại

4.Không được thiết kế để bảo mật:

 Các giao thức cơ bản như IP, TCP, và UDP không tích hợp các cơ chế bảo mật Điều này làm tăng nguy cơ bị tấn công mạng như giả mạo IP, tấn công DDoS, hoặc nghe lén dữ liệu Các giao thức bảo mật bổ sung (như HTTPS, IPSec) cần được triển khai riêng

5.Kích thước header lớn:

 Các gói tin TCP/IP có phần header chứa thông tin quản lý khá lớn, làm giảm hiệu quả khi truyền dữ liệu nhỏ hoặc trong các mạng có băng thông thấp

6.Phụ thuộc vào địa chỉ IP:

 Việc sử dụng địa chỉ IP làm định danh thiết bị khiến TCP/IP phụ thuộc mạnh vào cấu trúc mạng Điều này có thể gây khó khăn trong việc quản lý mạng động hoặc khi chuyển đổi địa chỉ IP

Trang 9

2.2 Quá trình đẩy data lên node-red

Các thành phần cơ bản và công cụ hỗ trợ cho hệ thống

2.2.1 Arduino IDE

Arduino IDE là một phần mềm mã nguồn mở, được sử dụng để

lập trình cho các bo mạch điều khiển Arduino và các dòng vi điều

khiển AVR Phần mềm này được phát triển dựa trên nền tảng Java

và có tích hợp trình biên dịch GCC để biên dịch mã nguồn C++

Ngôn ngữ lập trình chính của Arduino IDE là C++, được viết với

một số thư viện và hàm tiện ích được cung cấp bởi Arduino Tuy

nhiên, người dùng cũng có thể sử dụng các thư viện bên thứ ba

hoặc tự viết các thư viện riêng để thực hiện các chức năng đặc biệt

Arduino IDE cung cấp một giao diện đồ họa đơn giản để lập trình

cho các bo mạch Arduino và AVR Người dùng có thể viết mã

nguồn, biên dịch và tải chương trình vào bo mạch điều khiển thông

qua cổng USB Để sử dụng Arduino IDE, người dùng cần kết nối

bo mạch điều khiển với máy tính thông qua một cáp USB và cài

đặt driver cho bo mạch điều khiển

Arduino IDE có thể chạy trên các hệ điều hành phổ biến như

Windows, macOS và Linux, là một công cụ lập trình đơn giản và

dễ sử dụng cho người mới bắt đầu với lập trình vi điều khiển

Trang 10

2.2.2 Node-red

Node-RED là một công cụ lập trình mã nguồn mở mạnh mẽ, được thiết kế để kết nối trực quan các thiết bị, API, và dịch vụ trực tuyến Nó sử dụng cách tiếp cận phát triển dựa trên luồng (flow-based), giúp tạo ra các hệ thống phức tạp mà không cần kiến thức lập trình chuyên sâu Được phát triển bởi IBM và hiện thuộc OpenJS Foundation, Node-RED được sử dụng rộng rãi trong các ứng dụng Internet vạn vật (IoT), tự động hóa công nghiệp và điện toán biên

 Giao diện lập trình trực quan: người dùng có thể sử dụng giao diện thả trong trình duyệt để kết nối các “node” từ đó tạo thành các “flows”

kéo- Khả năng mở rộng: Dựa trên Node.js, Node-RED thừa hưởng kiến trúc

hướng sự kiện và không chặn (non-blocking) Nó hỗ trợ hơn 4.000 thư

viện được cộng đồng phát triển, bao gồm tích hợp với MQTT, Modbus,

từ các node trước để chọn đường đi tới các node change dựa vào điều kiện Node change set giá trị của payload để gửi ngược về lại esp8266 Từ đó điều khiển động cơ, led báo động

Sử dụng cơ chế port forwarding trên cổng 1883 với laptop làm trung gian: Gửi

1 gói tin từ esp8266 trực tiếp tới ip của máy tính trong cùng mạng LAN của esp8266 Gói tin này được gửi tới iot2050 qua mạng ethernet có chung lớp mạng Lưu ý, cổng

1883 là cổng broker mosquitto của iot2050, phải bật cấu hình forwarding trên laptop Lệnh để kiểm tra cấu hình:

Trang 11

Máy tính đang lắng nghe toàn bộ các dữ liệu gửi tới địa chỉ ip

192.168.72.157, sau đó gửi tới địa chỉ ip 192.168.200.1 trên cổng broker 1883

Lưu ý: phải tắt tường lửa của máy tính, set up port forwarding bằng câu lệnh:

netsh interface portproxy add v4tov4 listenaddress=192.168.72.157

listenport=1883 connectaddress=192.168.200.1 connectport=1883

Hoặc xóa cấu hình trước đó bằng câu lệnh:

netsh interface portproxy delete v4tov4 listenaddress=192.168.72.157

listenport=1883

2.2.3 ESP8266

Trang 12

ESP8266 là một vi điều khiển Wi-Fi tích hợp cao do Espressif Systems phát triển, được sử dụng phổ biến trong các ứng dụng IoT Với bộ xử lý Tensilica L106 32-bit RISC, nó có tốc độ xung nhịp tối đa 160 MHz, hỗ trợ hệ điều hành thời gian thực (RTOS), và cho phép sử dụng tới 80% công suất xử lý để lập trình ứng dụng

ESP8266 nổi bật nhờ khả năng tiêu thụ năng lượng thấp, kích thước nhỏ gọn, và giá thành hợp lý

2.2.4 MQTT

MQTT Broker là 1 trạm trung chuyển , nói đơn giản là 1 trung tâm thông tin, có nhiệm vụ nhận thông tin từ rất nhiều các thiết bị khác nhau và chuyển các thông tin này tới từng thiết bị riêng biệt

Trang 13

Chúng ta có thể lấy Broker bằng hai cách:

 Tự tạo Broker MQTT trên máy tính , raspberry, server … tùy vào điều kiện hiện có: cách này tốn thêm chi phí, phức tạp, không dành cho người mới bắt đầu

USB2.0, SD card slot, 24 V DC industrial power supply

Trang 14

B soil moisture sensor

+ Cảm biến giúp xác định độ ẩm của đất qua đầu dò và

trả về giá trị Analog, Digital qua 2 chân tương ứng

+ Tín hiệu đầu ra:

Analog: theo điện áp cấp nguồn tương ứng

Digital: High hoặc Low, có thể điều chỉnh độ ẩm mong

muốn bằng biến trở thông qua mạch so sánh LM393 tích

hợp

+ Nguồn cung cấp: 3.3~5VDC

Trang 15

+ Thường được sử dụng trong các mô hình tưới nước tự

động, vườn thông minh,

C Cảm biến độ ẩm, nhiệt độ DHT11

Tính năng

- Cảm Biến Nhiệt Độ Và Độ Ẩm DHT11 là cảm biến rất thông dụng hiện nay

vì chi phí rẻ và rất dễ lấy dữ liệu thông qua giao tiếp 1 wire (giao tiếp digital 1 dây truyền dữ liệu duy nhất) Bộ tiền xử lý tín hiệu tích hợp trong cảm biến giúp bạn có được dữ liệu chính xác mà không phải qua bất kỳ tính toán nào So với cảm biến đời mới hơn là DHT22 thì DHT11 cho khoảng đo và độ chính xác kém hơn rất nhiều

Trang 16

Thông số kỹ thuật DHT11

- Điện áp hoạt động: 3V - 5V DC

- Dòng điện tiêu thụ: 2.5mA

- Phạm vi cảm biến độ ẩm: 20% - 90% RH, sai số ±5%RH

- Phạm vi cảm biến nhiệt độ: 0°C ~ 50°C, sai số ±2°C

- Tần số lấy mẫu tối đa: 1Hz (1 giây 1 lần)

+ Ở trạng thái bình thường chưa kích NC sẽ nối với COM, khi

có trạng thái kích COM sẽ chuyển sang nối với NO và mất kết nối với NC

+ Điện áp sử dụng: 5VDC

+ Tín hiệu kích: TTL 3.3~5VDC, mức cao High Relay đóng, mức thấp Low Relay ngắt

+Relay tiêu thụ khoảng 80mA

E Động cơ bơm chìm mini

Thông số kỹ thuật của máy bơm chìm mini 3 - 5VDC:

Vật liệu: nhựa cứng cao cấp

Màu sắc: trắng ngà

Điện áp: 3VDC - 5VDC

Chiều dài bơm chìm: 43.5 mm

Đường kính ống ra: 7.5mm

Ngày đăng: 01/08/2025, 19:56

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w