Đồ Án HCMUTE: Điều Khiển Thiết Bị Điện Qua Mạng LAN Sử Dụng Raspberry Pi

Đồ án nghiên cứu hcmute điều khiển thiết bị điện qua mạng lan dùng kit raspberry pi, áp dụng công nghệ tiên tiến, tối ưu giải pháp kỹ thuật cho bài toán kỹ thuật.

Người đăng

Ẩn danh

Thể loại

đồ án tốt nghiệp

2016

89
7
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI NÓI ĐẦU

TÓM TẮT

1. CHƯƠNG 1: TỔNG QUAN

1.1. Giới thiệu tình hình nghiên cứu hiện nay

1.2. Tính cấp thiết của đề tài

1.3. Mục tiêu nghiên cứu

1.4. Nhiệm vụ nghiên cứu

1.5. Đối tượng và phạm vi nghiên cứu

1.6. Phương pháp nghiên cứu

1.7. Bố cục của đồ án

2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1. Lập trình giao tiếp mạng

2.2. Giới thiệu về socket

2.3. Phân loại Socket

2.4. Lập trình TCP Socket dùng lớp Socket

3. CHƯƠNG 3: THIẾT KẾ VÀ THI CÔNG

3.1. Mô hình hệ thống

3.2. Board điều khiển trung tâm

3.3. Thiết kế các khối

3.4. Chương trình xử lý ở board trung tâm

3.5. Phần mềm trên máy tính

3.6. Nhiệm vụ của phần mềm trên máy tính

3.7. Lưu đồ giải thuật chương trình trên máy tính

4. CHƯƠNG 4: KẾT QUẢ

4.1. Mô hình toàn hệ thống

4.2. Hoạt động của hệ thống

5. CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN

5.1. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan

Trong bối cảnh công nghệ hiện đại, việc điều khiển thiết bị điện qua mạng LAN bằng Raspberry Pi đã trở thành một xu hướng quan trọng trong lĩnh vực Internet of Things (IoT). Đề tài này không chỉ phản ánh sự phát triển của công nghệ mà còn đáp ứng nhu cầu tự động hóa trong cuộc sống hàng ngày. Hệ thống được thiết kế nhằm kết nối các thiết bị điện như bóng đèn, quạt máy, và các thiết bị khác thông qua một mạng LAN, cho phép người dùng điều khiển từ xa. Việc sử dụng Raspberry Pi trong dự án này mang lại nhiều lợi ích, bao gồm tính linh hoạt và khả năng lập trình cao. Hệ thống không chỉ giúp tiết kiệm thời gian mà còn nâng cao hiệu quả trong việc quản lý thiết bị điện trong gia đình.

1.1. Tính Cấp Thiết Của Đề Tài

Sự phát triển của công nghệ thông tin và IoT đã tạo ra nhu cầu ngày càng cao về việc điều khiển thiết bị từ xa. Đề tài này được thực hiện nhằm đáp ứng nhu cầu đó, với mục tiêu phát triển một hệ thống điều khiển thiết bị điện qua mạng LAN. Việc sử dụng Raspberry Pi không chỉ giúp giảm chi phí mà còn tạo ra một nền tảng mạnh mẽ cho việc phát triển các ứng dụng thông minh. Hệ thống này có thể được áp dụng trong nhiều lĩnh vực khác nhau, từ quản lý gia đình đến các ứng dụng công nghiệp, giúp nâng cao hiệu quả và tính tiện lợi trong cuộc sống hàng ngày.

II. Cơ Sở Lý Thuyết

Chương này trình bày các khái niệm cơ bản về lập trình mạng và Raspberry Pi. Socket là một trong những khái niệm quan trọng trong lập trình mạng, cho phép giao tiếp giữa các thiết bị qua mạng. Việc hiểu rõ về TCP/IP và các giao thức liên quan là rất cần thiết để xây dựng hệ thống điều khiển hiệu quả. Raspberry Pi được sử dụng như một thiết bị trung tâm, có khả năng xử lý và giao tiếp với các thiết bị ngoại vi như cảm biến và relay. Hệ thống được thiết kế để có thể mở rộng và tích hợp thêm nhiều thiết bị khác trong tương lai, tạo ra một hệ thống smart home hoàn chỉnh.

2.1. Lập Trình Giao Tiếp Mạng

Lập trình giao tiếp mạng là một phần quan trọng trong việc phát triển hệ thống điều khiển. Socket được sử dụng để thiết lập kết nối giữa máy tính và Raspberry Pi. Có hai loại socket chính là TCPUDP, mỗi loại có những ưu điểm và nhược điểm riêng. TCP cung cấp dịch vụ tin cậy, trong khi UDP cho phép truyền tải nhanh hơn nhưng không đảm bảo độ tin cậy. Việc lựa chọn loại socket phù hợp sẽ ảnh hưởng đến hiệu suất và độ ổn định của hệ thống.

III. Thiết Kế Và Thi Công

Chương này mô tả chi tiết về thiết kế và thi công hệ thống điều khiển thiết bị điện qua mạng LAN. Mô hình hệ thống bao gồm một máy tính (client) và Raspberry Pi (server) kết nối với nhau qua mạng LAN. Các thiết bị điện được điều khiển thông qua một board điều khiển trung tâm, cho phép người dùng dễ dàng quản lý và giám sát trạng thái hoạt động của các thiết bị. Phần mềm trên máy tính được lập trình bằng ngôn ngữ C#, cho phép thu thập và hiển thị thông tin nhiệt độ cũng như trạng thái của các thiết bị điện.

3.1. Mô Hình Hệ Thống

Mô hình hệ thống được thiết kế để đảm bảo tính khả thi và hiệu quả trong việc điều khiển thiết bị điện. Hệ thống bao gồm các khối chức năng như board điều khiển trung tâm, cảm biến nhiệt độ, và các thiết bị ngoại vi khác. Việc thiết kế sơ đồ khối và lập trình các chức năng điều khiển là rất quan trọng để đảm bảo hệ thống hoạt động ổn định và chính xác. Hệ thống cũng được trang bị giao diện người dùng thân thiện, giúp người dùng dễ dàng tương tác và điều khiển các thiết bị từ xa.

IV. Kết Quả

Chương này trình bày kết quả thực hiện đồ án, bao gồm mô hình và hoạt động của toàn hệ thống. Hệ thống đã được thử nghiệm thành công, cho phép điều khiển các thiết bị điện qua mạng LAN một cách hiệu quả. Các thiết bị điện có thể được bật/tắt từ xa thông qua giao diện trên máy tính, đồng thời hiển thị thông tin nhiệt độ trong phòng. Kết quả cho thấy hệ thống hoạt động ổn định và đáp ứng tốt nhu cầu của người dùng.

4.1. Hoạt Động Của Hệ Thống

Hệ thống hoạt động dựa trên nguyên lý giao tiếp qua mạng LAN, cho phép người dùng điều khiển các thiết bị điện từ xa. Khi người dùng gửi lệnh từ máy tính, Raspberry Pi sẽ nhận lệnh và thực hiện điều khiển thiết bị tương ứng. Hệ thống cũng có khả năng gửi thông báo về trạng thái hoạt động của các thiết bị, giúp người dùng dễ dàng theo dõi và quản lý. Kết quả thử nghiệm cho thấy hệ thống hoạt động hiệu quả, đáp ứng được yêu cầu của đề tài.

V. Kết Luận Và Hướng Phát Triển

Chương cuối cùng tổng kết toàn bộ quá trình thực hiện đồ án và đưa ra hướng phát triển trong tương lai. Hệ thống điều khiển thiết bị điện qua mạng LAN bằng Raspberry Pi đã chứng minh được tính khả thi và hiệu quả trong việc tự động hóa các thiết bị điện trong gia đình. Hướng phát triển tiếp theo có thể bao gồm việc mở rộng hệ thống để tích hợp thêm nhiều thiết bị khác, cũng như cải thiện giao diện người dùng để nâng cao trải nghiệm sử dụng. Việc áp dụng công nghệ IoT trong lĩnh vực này sẽ mở ra nhiều cơ hội mới cho việc phát triển các ứng dụng thông minh trong tương lai.

5.1. Hướng Phát Triển

Hướng phát triển của hệ thống có thể bao gồm việc tích hợp thêm các cảm biến thông minh, cho phép thu thập dữ liệu môi trường và điều chỉnh hoạt động của các thiết bị điện một cách tự động. Ngoài ra, việc phát triển ứng dụng di động để điều khiển thiết bị từ xa cũng là một hướng đi tiềm năng. Sự kết hợp giữa Raspberry Pi và công nghệ IoT sẽ tạo ra một hệ thống thông minh, giúp nâng cao chất lượng cuộc sống và tiết kiệm năng lượng.

01/02/2025

Trích đoạn nội dung tài liệu

Chương 1: Tổng quan. Chương này trình bày sơ lược về tình hình nghiên cứu hiện nay, tính cấp thiết cùng lý do chọn đề tài, phương pháp, mục tiêu , đối thượng và phạm vi nghiên cứu.  Chương 2: Cơ sở lý thuyết. Nội dung chủ yếu của chương này là trình bày lý thuyết về lập trình mạng, kit Raspberry Pi và ngôn ngữ lập trình liên quan (Python).

 Chương 3: Thiết kế và thi công. Trong chương này, người nghiên cứu sẽ trình bày về mô hình của hệ thống; chức năng, sơ đồ khối và các chương trình xử lý trên board trung tâm; nhiệm vụ của phần mềm và lưu giải thuật cùng các phần mềm trên máy tính.  Chương 4: Kết quả. Kết quả thực hiện đồ án sẽ được thể hiện trong chương này, bao gồm mô hình và hoạt động của toàn hệ thống.

 Chương 5: Kết luận và hướng phát triển. Chương này mang tính tổng kết cho toàn bộ quá trình thực hiện đồ án; nhận xét ưu, nhược điểm của hệ thống và đưa ra định hướng mở cho đề tài thực hiện. 4 do an Chương 2 CƠ SỞ LÝ THUYẾT 2. Lập trình giao tiếp mạng 2.

Giới thiệu về socket Góc độ mạng: Socket là 1 trong 2 điểm cuối của đường kết nối 2 chiều giữa 2 chương trình thực thi trên mạng. 1 Hình minh họa socket Góc độ người lập trình: Socket là một giao diện lập trình ứng dụng (API) mạng. Thông qua giao diện này chúng ta có thể lập trình điều khiển việc truyền thông giữa 2 máy sử dụng các giao thức mức thấp là TCP, UDP,. Socket là sự trừu tượng hóa ở mức cao, có thể tưởng tượng nó như là thiết bị truyền thông hai chiều gửi-nhận dữ liệu giữa hai máy tính với nhau.

Các socket phân biệt với nhau bằng địa chỉ được gọi là địa chỉ cổng (Port Number). Địa chỉ cổng là một con số 16 bit (trong phạm vi 1-65535), trong đó các địa chỉ :  Từ 1-1023 là các port đã đăng ký (well-known port).  Các địa chỉ còn lại là các port tự do (từ 1024-49151: cổng phải đăng kí (registered port); từ 49152-65535:cổng dùng riêng (private port) ).  Một số port đã đăng ký và được liệt kê ở bảng dưới: 5 do an Port Number Protocol 21 FTP 23 Telnet 25 SMTP (email, outgoing) 53 DNS 80 HTTP(Web) 110 POP3(email, incoming) 143 IMAP (email, incoming) Bảng 2.

1 Một số port đã được đăng ký trong giao thức TCP TCP và UDP là hai giao thức hoạt động ở tầng giao vận trong mô hình TCP/IP, có nhiệm vụ truyền nhận dữ liệu đầu cuối cho ứng dụng. 2 Các giao thức TCP/IP phổ biến  TCP cung cấp dịch vụ tin cậy và theo hướng kết nối: + Có thiết lập kết nối giữa bên truyền và bên nhận. + Có kiểm soát tắc nghẽn và điều khiển lưu lượng: có bộ đệm truyền/nhận dữ liệu. + Đảm bảo truyền/nhận đúng dữ liệu.

6 do an  UDP cung cấp dịch vụ không dây tin cậy và không hướng kết nối: + Không thiết lập kết nối. + Không kiểm soát tắc nghẽn. + Không đảm bảo truyền nhận đúng. Phân loại Socket Socket được phân ra thành các loại như sau: + Socket hướng kết nối (TCP Socket) + Socket không hướng kết nối (UDP Socket) + Raw Socket Hình 2.

3 Phân loại socket  Đặc điểm Socket hướng kết nối: + Có một đường kết nối ảo giữa hai tiến trình. + Một trong hai tiến trình phải đợi tiến trình kia yêu cầu kết nối. + Có thể sử dụng để liên lạc theo mô hình Client/server + Trong mô hình Client/Server lắng nghe và chấp nhận một yêu cầu kết nối + Mỗi thông điệp gửi đều có xác nhận trở về. + Các gói tin chuyển đi tuần tự.

7 do an  Đặc điểm của Socket không hướng kết nối: + Hai tiến trình liên lạc với nhau không kết nối trực tiếp. + Thông điệp gửi đi phải kèm theo địa chỉ của người nhận. + Thông điệp có thể gửi nhiều lần. + Người gửi không chắc chắn thông điệp tới tay người nhận.

+ Thông điệp gửi sau có thể đến đích trước thông điệp gửi trước đó.  Số hiệu của Socket: + Để có thể thực hiện các cuộc giao tiếp, một trong hai quá trình phải công bố số hiệu cổng của socket mà mình sử dụng. + Mỗi cổng giao tiếp thể hiện một địa chỉ xác định trong hệ thống. Khi quá trình được gán một số hiệu cổng, nó có thể nhận dữ liệu gửi đến cổng này từ các quá trình khác.

+ Quá trình còn lại cũng yêu cầu tạo ra một socket. Lập trình TCP Socket dùng lớp Socket Khi hai ứng dụng khởi tạo một phiên làm việc sử dụng dịch vụ TCP, quá trình làm việc bao gồm ba giai đoạn:  Giai đoạn 1: bắt tay kết nối.  Giai đoạn 2: truyền, nhận dữ liệu.  Giai đoạn 3: đóng kết nối.

Mỗi giai đoạn yêu cầu các bit cờ được thiết lập trong một thứ tự nào đó. Quá trình bắt tay kết nối (3 cái bắt tay) yêu cầu 3 bước để thành lập kết nối:  Thiết bị gửi gửi cờ SYN cho biết bắt đầu phiên làm việc.  Thiết bị nhận gửi cả cờ SYN và ACK trong cùng một gói tin cho biết nó chấp nhận bắt đầu phiên làm việc.  Thiết bị gửi gửi cờ ACK cho biết phiên làm việc đã mở và sẵn sàng cho việc gửi và nhận các gói tin.

8 do an Sau khi phiên làm việc được thành lập, cờ ACK sẽ được thiết lập trong các gói tin. Để đóng phiên làm việc, một quá trình bắt tay khác được thực hiện dùng cờ FIN:  Thiết bị khởi đầu đóng kết nối gửi cờ FIN.  Thiết bị bên kia gửi cờ FIN và ACK trong cùng một gói tin cho biết nó chấp nhận đóng kết nối.  Thiết bị khởi đầu đóng kết nối gửi cờ ACK để đóng kết nối.

4 Các bước bắt tay của giao thức TCP Khi lập trình cho các ứng dụng sử dụng TCP socket, phải thực hiện đầy đủ 3 giai đoạn như trên. Thứ tự gọi các phương thức trong lập trình như sau: Hình 2. 5 Gửi, nhận dữ liệu với giao thức TCP + Phía máy server sẽ tiến hành lần lượt các thao tác: 9 do an  Tạo một socket mới.  Liên kết với một IPEndPoint cục bộ: tác dụng của bind là giúp cho socket của server biết rằng nó sẽ chờ đợi kết nối và nhận dữ liệu trên IP nào và port là bao nhiêu.

 Lắng nghe kết nối: kể từ khi gọi hàm listen thì server sẽ bắt đầu lắng nghe kết nối của mình.  Chấp nhận kết nối: khi client kết nối tới server, client phải chờ server chấp nhận kết nối bằng hàm accept.  Truyền nhận dữ liệu.  Đóng kết nối và trở về trạng thái lắng nghe kết nối.

+ Phía máy client sẽ tiến hành lần lượt:  Xác định địa chỉ của server.  Kết nối đến server: hàm connect được gọi từ client nếu muốn kết nối tới server.  Truyền nhận dữ liệu.  Đóng kết nối.

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). 10 do an Hình 2. 6 Cấu trúc họ giao thức TCP/IP 2. Tầng ứng dụng (Application Layer) Tầng ứng dụng 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,… TCPServer, mở sẵn port mặc định 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 TCPserver chấp nhận kết nối, client sẽ gửi một bản tin 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 khác.

Bản tin này sẽ chứa nội dung yêu cầu. 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.

Vì vậy trong phạm vi đồ án, người nghiên cứu sử dụng thức TCP. 11 do an 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 một 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: Hình 2.

7 Cấu trúc gói TCP  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 +. 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 12 do an +. 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 trên, 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.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài viết "Điều Khiển Thiết Bị Điện Qua Mạng LAN Bằng Raspberry Pi" cung cấp cho độc giả cái nhìn sâu sắc về cách sử dụng Raspberry Pi để điều khiển các thiết bị điện thông qua mạng LAN. Tác giả trình bày các bước cụ thể để thiết lập hệ thống, từ việc kết nối phần cứng đến lập trình phần mềm, giúp người đọc dễ dàng áp dụng vào thực tế. Một trong những lợi ích lớn nhất của phương pháp này là khả năng điều khiển từ xa, mang lại sự tiện lợi và tiết kiệm thời gian cho người sử dụng.

Nếu bạn muốn mở rộng kiến thức về các ứng dụng tương tự, hãy tham khảo bài viết "Đồ án hcmute điều khiển thiết bị qua internet dùng raspberry pi 2 thông qua wi fi", nơi bạn sẽ tìm thấy thông tin về việc điều khiển thiết bị qua internet. Ngoài ra, bài viết "Luận văn tốt nghiệp đo giám sát nhiệt độ và độ ẩm sử dụng arduino kết nối qua mạng internet" cũng sẽ giúp bạn hiểu thêm về việc giám sát môi trường qua mạng. Cuối cùng, bài viết "Đồ án hcmute hệ thống đo đạc theo dõi huyết áp và nhiệt độ cơ thể sử dụng kid arduino" sẽ mang đến cho bạn cái nhìn về các ứng dụng y tế của công nghệ điều khiển từ xa. Những tài liệu này sẽ giúp bạn mở rộng kiến thức và khám phá thêm nhiều khía cạnh thú vị trong lĩnh vực công nghệ điều khiển.