Khóa luận thiết kế hệ thống đo bụi mịn ứng dụng iot

Luận văn tốt nghiệp nghiên cứu thiết kế hệ thống đo bụi mịn ứng dụng iot, điều tra thực trạng, phân tích số liệu, đề xuất biện pháp cải tiến thực tế.

Người đăng

Ẩn danh

Thể loại

Đồ án tốt nghiệp

2024

44
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

Lời nói đầu

1. CHƯƠNG 1: TỔNG QUÁT ARDUINO VÀ ESP8266

1.1. TỔNG QUAN VỀ ARDUINO VÀ ESP 8266

1.2. Phần cứng Arduino

1.3. MODULE WIFI ESP8266 NODEMCU

1.3.1. Giao tiếp I2C

1.3.2. Module I2C cho LCD Các loại module thời gian thực DS3231

2. Chương 2: TỔNG QUÁT VỀ Ô NHIỄM KHÔNG KHÍVÀ BỤI MỊN

2.1. Hiện trạng không khí ngày nay

2.1.1. Ô nhiễm không khí

2.1.2. Tác nhân gây ô nhiễm

2.1.3. Ảnh hưởng đến sức khoẻ

2.1.4. Tác hại bụi mịn

2.1.5. Cảm biến bụi mịn PMS 7003

2.1.5.1. Cấu tạo và ứng dụng của cảm biến bụi mịn PMS 7003
2.1.5.2. Các tính năng của PMS 7003
2.1.5.3. PMS 7003 truyền thông UART

3. CHƯƠNG 3: THIẾT KẾ HỆ THỐNG

3.1. Thiết kế sơ đồ khối hệ thống

Lời cảm ơn

Tóm tắt

I. Tổng Quan Khóa Luận Thiết Kế Hệ Thống Đo Bụi Mịn IoT

Khóa luận tập trung vào thiết kế một hệ thống đo bụi mịn ứng dụng công nghệ IoT. Mục tiêu là giám sát chất lượng không khí, đặc biệt là nồng độ PM2.5, một tác nhân gây hại cho sức khỏe con người. Hệ thống sử dụng các cảm biến hiện đại, vi điều khiển và khả năng kết nối internet để thu thập, xử lý và truyền tải dữ liệu. Việc ứng dụng IoT cho phép theo dõi chất lượng không khí từ xa, cung cấp thông tin thời gian thực và cảnh báo sớm về tình trạng ô nhiễm. Báo cáo hiện trạng môi trường quốc gia Việt Nam chỉ rõ, ô nhiễm môi trường không khí gây ra những tác động trực tiếp tới sức khỏe cộng đồng. Tỷ lệ người dân ở các đô thị lớn mắc các bệnh liên quan đến ô nhiễm không khí chiếm tỷ lệ khá cao, trẻ em là nhóm đối tượng chịu tác động lớn nhất. Hệ thống này em sử dụng vi diều khiển trung tâm module Arduino, Module thu phát Wifi ESP8266, cảm biến bụi mịn PMS7003 và màn hình Oled .Hệ thống này có chức năng phân tích dữ liệu đo bụi trong không khí. Người dùng có thể biết được mức độ bụi trong không khí khu vực mình. Đây là một giải pháp tiềm năng để nâng cao nhận thức cộng đồng và hỗ trợ các biện pháp bảo vệ môi trường. Khóa luận sẽ trình bày chi tiết các bước thiết kế, triển khai và thử nghiệm hệ thống, đồng thời đánh giá hiệu quả và tính khả thi của giải pháp.

1.1. Tầm Quan Trọng của Đo Bụi Mịn PM2.5 trong Môi Trường

Việc đo lường nồng độ bụi mịn PM2.5 đóng vai trò quan trọng trong việc đánh giá chất lượng không khí và bảo vệ sức khỏe cộng đồng. PM2.5 là những hạt bụi có kích thước nhỏ hơn 2.5 micromet, có khả năng xâm nhập sâu vào hệ hô hấp và gây ra các bệnh lý nghiêm trọng. Theo Lời nói đầu của đồ án, phơi nhiễm lâu dài với bụi mịn cũng có thể tăng tỷ lệ viêm phế quản mạn tính, suy giảm chức năng phổi và tăng tỷ lệ tử vong do ung thư phổi và bệnh tim. Giám sát liên tục nồng độ PM2.5 cho phép cảnh báo sớm về tình trạng ô nhiễm, giúp người dân có biện pháp phòng tránh và giảm thiểu tác động tiêu cực. Đồng thời, dữ liệu thu thập được cung cấp cơ sở khoa học cho các nhà quản lý và hoạch định chính sách trong việc xây dựng các giải pháp kiểm soát ô nhiễm hiệu quả hơn. Do vậy, bụi mịn PM2.5 đóng vai trò then chốt trong việc bảo vệ môi trường và đảm bảo sức khỏe cộng đồng.

1.2. Ứng Dụng IoT trong Giám Sát Chất Lượng Không Khí Hiện Đại

Công nghệ IoT (Internet of Things) mang đến một cuộc cách mạng trong lĩnh vực giám sát chất lượng không khí. Bằng cách kết nối các cảm biến bụi mịn, thiết bị đo lường và hệ thống xử lý dữ liệu thông qua internet, IoT cho phép thu thập, phân tích và truyền tải dữ liệu một cách nhanh chóng và hiệu quả. Các hệ thống giám sát chất lượng không khí IoT có thể được triển khai rộng khắp, từ các trạm quan trắc cố định đến các thiết bị di động, cung cấp thông tin thời gian thực về tình trạng ô nhiễm ở nhiều địa điểm khác nhau. Điều này giúp người dân và các nhà quản lý có cái nhìn tổng quan về chất lượng không khí, từ đó đưa ra các quyết định phù hợp. Hơn nữa, các hệ thống IoT còn có khả năng tự động cảnh báo khi nồng độ bụi mịn vượt quá ngưỡng cho phép, giúp bảo vệ sức khỏe cộng đồng. Module thu phát Wifi ESP8266 trong hệ thống này là một ví dụ điển hình về ứng dụng IoT.

II. Thách Thức và Vấn Đề Đo Bụi Mịn Chính Xác và Liên Tục

Mặc dù có nhiều lợi ích, việc thiết kế và triển khai hệ thống đo bụi mịn ứng dụng IoT cũng đối mặt với không ít thách thức. Đầu tiên, việc đảm bảo độ chính xác và độ tin cậy của cảm biến là rất quan trọng. Các cảm biến bụi mịn trên thị trường có nhiều loại, với chất lượng và giá thành khác nhau. Việc lựa chọn cảm biến phù hợp, đảm bảo độ ổn định và chính xác trong điều kiện môi trường khác nhau là một bài toán khó. Thứ hai, việc truyền tải dữ liệu liên tục và ổn định từ các thiết bị đo đến trung tâm xử lý cũng là một thách thức, đặc biệt ở những khu vực có hạ tầng mạng yếu kém. Ngoài ra, vấn đề bảo mật dữ liệu và quyền riêng tư của người dùng cũng cần được quan tâm. Cuối cùng, chi phí triển khai và bảo trì hệ thống cũng là một yếu tố cần cân nhắc để đảm bảo tính khả thi và bền vững của giải pháp.

2.1. Sai Số Cảm Biến Bụi và Ảnh Hưởng Đến Độ Tin Cậy Dữ Liệu

Một trong những yếu tố quan trọng nhất trong hệ thống đo bụi mịn là độ chính xác của cảm biến. Sai số cảm biến có thể ảnh hưởng nghiêm trọng đến độ tin cậy của dữ liệu thu thập được, dẫn đến những đánh giá sai lệch về tình trạng ô nhiễm. Có nhiều nguyên nhân gây ra sai số cảm biến, bao gồm: đặc tính kỹ thuật của cảm biến, điều kiện môi trường, quá trình hiệu chuẩn và bảo trì. Để giảm thiểu sai số, cần lựa chọn cảm biến có độ chính xác cao, thực hiện hiệu chuẩn định kỳ và bảo trì đúng cách. Ngoài ra, cần áp dụng các thuật toán xử lý dữ liệu để loại bỏ các giá trị nhiễu và đảm bảo tính chính xác của dữ liệu cuối cùng. Các thông số kỹ thuật như Counting Efficiency: 50%@0.5μmMaximum Consistency Error (PM2.5 standard data): o ±10%@100~500μ g/m³ từ tài liệu gốc cần được xem xét kỹ lưỡng.

2.2. Vấn Đề Kết Nối và Truyền Dữ Liệu Ổn Định Trong Mạng IoT

Kết nối và truyền dữ liệu ổn định là một yếu tố then chốt trong hệ thống đo bụi mịn IoT. Dữ liệu từ các cảm biến cần được truyền tải liên tục và ổn định đến trung tâm xử lý để đảm bảo thông tin thời gian thực và cảnh báo kịp thời. Tuy nhiên, việc kết nối và truyền dữ liệu có thể gặp nhiều khó khăn, đặc biệt ở những khu vực có hạ tầng mạng yếu kém, hoặc khi số lượng thiết bị kết nối tăng lên. Để giải quyết vấn đề này, cần lựa chọn công nghệ truyền thông phù hợp, đảm bảo băng thông đủ lớn và độ trễ thấp. Đồng thời, cần áp dụng các giải pháp tối ưu hóa truyền dữ liệu, giảm thiểu lượng dữ liệu cần truyền và tăng cường khả năng phục hồi khi mất kết nối. Module thu phát Wifi ESP8266 là một lựa chọn phổ biến để giải quyết vấn đề kết nối trong các ứng dụng IoT.

III. Phương Pháp Thiết Kế Hệ Thống Đo Bụi Mịn IoT Hiệu Quả

Khóa luận đề xuất một phương pháp thiết kế hệ thống đo bụi mịn ứng dụng IoT hiệu quả, tập trung vào các yếu tố sau: lựa chọn cảm biến bụi mịn phù hợp với yêu cầu về độ chính xác, độ ổn định và chi phí; thiết kế hệ thống thu thập, xử lý và truyền tải dữ liệu hiệu quả, đảm bảo kết nối ổn định và bảo mật; xây dựng giao diện người dùng thân thiện, dễ sử dụng và cung cấp thông tin trực quan; và thử nghiệm và đánh giá hiệu quả của hệ thống trong điều kiện thực tế. Phương pháp này nhằm mục đích tạo ra một giải pháp đo bụi mịn chính xác, tin cậy và dễ dàng triển khai, góp phần nâng cao nhận thức cộng đồng và bảo vệ môi trường.

3.1. Lựa Chọn Cảm Biến Bụi Mịn PMS7003 Ưu Điểm và Ứng Dụng

Cảm biến bụi mịn PMS7003 là một lựa chọn phổ biến trong các hệ thống đo chất lượng không khí nhờ những ưu điểm sau: độ chính xác cao, kích thước nhỏ gọn, dễ dàng tích hợp và chi phí hợp lý. PMS7003 sử dụng nguyên lý tán xạ laser để đo lường nồng độ các hạt bụi có kích thước khác nhau, bao gồm cả PM2.5 và PM10. Nó cung cấp dữ liệu chi tiết về thành phần và kích thước của các hạt bụi, giúp đánh giá chính xác hơn về tình trạng ô nhiễm. PMS7003 được ứng dụng rộng rãi trong các thiết bị giám sát chất lượng không khí trong nhà và ngoài trời, các hệ thống thông gió và điều hòa không khí, và các ứng dụng liên quan đến sức khỏe con người. Tuy nhiên, cần lưu ý rằng PMS7003 cũng có một số hạn chế, như độ nhạy cảm với độ ẩm và nhiệt độ, và cần được hiệu chuẩn định kỳ để đảm bảo độ chính xác.

3.2. Phát Triển Firmware Arduino và ESP8266 Cho Hệ Thống IoT

Việc phát triển firmware cho ArduinoESP8266 là một bước quan trọng trong việc xây dựng hệ thống đo bụi mịn IoT. Firmware này sẽ điều khiển các hoạt động của vi điều khiển, bao gồm: thu thập dữ liệu từ cảm biến PMS7003, xử lý dữ liệu, truyền tải dữ liệu đến trung tâm xử lý, và hiển thị thông tin trên giao diện người dùng. Firmware cần được thiết kế tối ưu để đảm bảo hiệu năng cao, tiết kiệm năng lượng và độ ổn định. Việc sử dụng các thư viện và API phù hợp sẽ giúp giảm thiểu thời gian phát triển và đảm bảo tính tương thích với các thiết bị khác. Giao tiếp với PMS 7003 thông qua giao diện UART (Universal Asynchronous Receiver-Transmitter) là một phương pháp phổ biến để lấy dữ liệu từ cảm biến.

IV. Ứng Dụng Hệ Thống Đo Bụi Mịn IoT Thực Tế và Hiệu Quả

Hệ thống đo bụi mịn ứng dụng IoT có thể được triển khai trong nhiều lĩnh vực khác nhau, từ giám sát chất lượng không khí trong nhà và ngoài trời, đến kiểm soát ô nhiễm trong các khu công nghiệp và đô thị. Trong lĩnh vực y tế, hệ thống có thể được sử dụng để theo dõi chất lượng không khí trong các bệnh viện và phòng khám, giúp bảo vệ sức khỏe của bệnh nhân và nhân viên y tế. Trong lĩnh vực giao thông vận tải, hệ thống có thể được sử dụng để giám sát ô nhiễm không khí do phương tiện giao thông gây ra, và đưa ra các biện pháp giảm thiểu ô nhiễm. Trong lĩnh vực nông nghiệp, hệ thống có thể được sử dụng để theo dõi chất lượng không khí trong các khu vực trồng trọt, giúp bảo vệ sức khỏe của cây trồng và người lao động.

4.1. Giám Sát Chất Lượng Không Khí Đô Thị với Dữ Liệu IoT Thời Gian Thực

Việc giám sát chất lượng không khí đô thị bằng dữ liệu IoT thời gian thực mang lại nhiều lợi ích thiết thực. Dữ liệu thời gian thực cho phép người dân và các nhà quản lý nắm bắt được tình hình ô nhiễm một cách nhanh chóng và chính xác, từ đó có thể đưa ra các biện pháp ứng phó kịp thời. Dữ liệu này cũng có thể được sử dụng để xây dựng các bản đồ ô nhiễm, phân tích các nguồn gây ô nhiễm, và đánh giá hiệu quả của các biện pháp kiểm soát ô nhiễm. Hơn nữa, dữ liệu IoT thời gian thực có thể được tích hợp với các hệ thống thông tin khác, như hệ thống giao thông và hệ thống dự báo thời tiết, để cung cấp thông tin toàn diện hơn về môi trường đô thị.

4.2. Cảnh Báo Ô Nhiễm và Bảo Vệ Sức Khỏe Cộng Đồng Nhờ IoT

Hệ thống đo bụi mịn IoT có khả năng tự động cảnh báo khi nồng độ bụi mịn vượt quá ngưỡng cho phép, giúp bảo vệ sức khỏe cộng đồng. Cảnh báo có thể được gửi đến người dân thông qua các ứng dụng di động, email, hoặc các bảng điện tử công cộng. Cảnh báo cần cung cấp thông tin rõ ràng về mức độ ô nhiễm, các biện pháp phòng tránh, và các nhóm đối tượng dễ bị ảnh hưởng. Ngoài ra, hệ thống cũng có thể được tích hợp với các hệ thống y tế để cung cấp thông tin cho các bác sĩ và nhân viên y tế về tình trạng sức khỏe của bệnh nhân, giúp họ đưa ra các quyết định điều trị phù hợp.

V. Kết Luận Triển Vọng và Hướng Phát Triển Hệ Thống Đo Bụi Mịn

Khóa luận đã trình bày một phương pháp thiết kế hệ thống đo bụi mịn ứng dụng IoT hiệu quả, có khả năng giám sát chất lượng không khí, cảnh báo ô nhiễm và bảo vệ sức khỏe cộng đồng. Tuy nhiên, hệ thống vẫn còn nhiều tiềm năng để phát triển và hoàn thiện hơn nữa. Trong tương lai, có thể tích hợp thêm các cảm biến khác để đo lường các chất ô nhiễm khác, như khí thải giao thông và các chất độc hại trong không khí. Đồng thời, có thể áp dụng các thuật toán trí tuệ nhân tạo để phân tích dữ liệu và dự đoán tình trạng ô nhiễm, giúp đưa ra các biện pháp phòng ngừa chủ động. Cuối cùng, có thể mở rộng phạm vi ứng dụng của hệ thống, từ giám sát chất lượng không khí đô thị đến kiểm soát ô nhiễm trong các khu công nghiệp và nông nghiệp.

5.1. Tích Hợp Các Cảm Biến Khí Độc và Phân Tích Đa Dạng Ô Nhiễm

Để có cái nhìn toàn diện hơn về chất lượng không khí, cần tích hợp thêm các cảm biến để đo lường các chất ô nhiễm khác, như khí thải giao thông (NOx, CO), các chất hữu cơ bay hơi (VOCs), và các chất độc hại khác. Việc phân tích đa dạng các chất ô nhiễm sẽ giúp xác định chính xác hơn các nguồn gây ô nhiễm và đưa ra các biện pháp kiểm soát ô nhiễm hiệu quả hơn. Các thông số từ Sulfur oxide (SOx), Carbon dioxide (CO2) và các Các hạt mịn (PM) cũng nên được tính đến để tích hợp vào hệ thống.

5.2. Áp Dụng Trí Tuệ Nhân Tạo để Dự Báo Chất Lượng Không Khí Tương Lai

Áp dụng các thuật toán trí tuệ nhân tạo (AI) để phân tích dữ liệu và dự đoán tình trạng ô nhiễm là một hướng phát triển đầy tiềm năng. Các thuật toán AI có thể học từ dữ liệu lịch sử, dữ liệu thời gian thực, và các yếu tố ảnh hưởng khác để dự đoán tình trạng ô nhiễm trong tương lai. Việc dự báo trước tình trạng ô nhiễm sẽ giúp người dân và các nhà quản lý có thời gian chuẩn bị và đưa ra các biện pháp phòng ngừa chủ động, giảm thiểu tác động tiêu cực đến sức khỏe và môi trường.

11/09/2025

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

CHƯƠNG 1 TỔNG QUÁT ARDUINO VÀ ESP8266 1. TỔNG QUAN VỀ ARDUINO VÀ ESP 8266 1. Giới thiệu Arduino là một bo mạch vi xử lý được dùng để lập trình, tương tác với các thiết bị phần cứng như: cảm biến, động cơ, đèn hoặc các thiết bị khác. Đặc điểm nổi bật của arduino là môi trường phát triển ứng dụng rất dễ sử dụng, với ngôn ngữ lập trình có thể họcảmột cách nhanh chóng ngay cả với người ít am hiểu về điện tử và lập trình cũng có thể sử dụng một cách dễ dàng.

Arduino có mức giá thấp, phù hợp với nhu cầu người dùng, có tính chất nguồn mở và cộng đồng người dùng đông đảo. Với lợi thế đến từ giá thành cũng như lợi thế về cộng đồng người dùng, arduino đang ngày càng trở nên phổ biến hơn, người dùng arduino trải rộng từ học sinh phổ thông đến sinh viên đại học. Board mạch arduino được sử dụng để thực hiện nhiều ứng dụng như: điều khiển robot, điều khiển và giám sát nhiệt độ độ ẩm phòng thí nghiệm, điều khiển xe mô hình… Hình 1.1: Các loại Board Arduino 4 1. Phần cứng Arduino Phần cứng arduino bao gồm một board mạch nguồn mở được thiết kế trên nền tảng là vi xử lý AVR Atmel 8-bit, hoặc ARM Atmel 32-bit.

Board arduino sẽ đưa ra hầu hết các chân I/O của vi điều khiển để sử dụng cho những mạch ngoài. Những mẫu hiện tại thường được trang bị gồm 1 cổng giao tiếp USB, nhiều chân đầu vào analog và chân I/O kỹ thuật số tương thích với nhiều board mở rộng khác nhau. Điều này giúp người dùng dễ dàng lập trình và có thể mở rộng với các mạch khác, cácảmodule thêm vào có thể dễ dàng chuyển đổi, được gọi là shield. Một số shield kết nối với board arduino trực tiếp thông qua các chân khác nhau, ngoài ra còn một số shield được định địa chỉ thông qua serial bus I2C, người dùng có thể kết nối nhiều shield với arduino dưới dạng song song.

Arduino thường sử dụng các dòng chip MegaAVR, đặc biệt là ATMega8, ATMega168, ATMega328, ATMega1280, và ATMega2560. Theo nguyên tắc, khi sử dụng phần mềm arduino, tất cả các board được lập trình thông qua một kết nối RS-232, nhưng cách thức thực hiện lại tùy thuộc vào đời phần cứng. Các board serial arduino có chứa một mạch chuyển đổi giữa RS- 232 sang TTL. Các board arduino hiện tại được lập trình thông qua cổng USB, thực hiện thông qua chip chuyển đổi USB-to-serial như là FTDI FT232.

Phần mềm Arduino IDE Giao diện phần mềm lập trình arduino IDE bao gồm 3 phần chính như hình 1.2 dưới đây: 5 Hình 1.2: Giao diện phần mềm Arduino IDE 1. Bao gồm các nút lệnh (File, Edit, Sketch, Tools, Help). Phía dưới là các biểu tượng cho phép sử dụng nhanh các chức năng thường dùng. Chức năng lần lượt của các biểu tượng được trình bày trong hình dưới đây: Hình 1.3: Chức năng các biểu tượng trong Arduini IDE 2.

Vùng viết chương trình: Là nơi đế người dùng viết chương trình, phần mềm arduino IDE sử dụng ngôn ngữ C/C++ để lập trình cho arduino. Vùng thông báo: Những thông báo từ IDE sẽ được hiển thị tại vùng thông báo. Ở dưới cùng bên phải hiển thị loại board arduino và cổng COM đang được sử dụng.2 MODULE WIFI ESP8266 NODEMCU Hình 1.1: Module thu phát Wifi ESP8266 NodeMCU Lua CP2102 ESP8266 là vi điều khiển tích hợp WiFi (WiFi SoC) được phát triển bởi Espressif Systems. Với Vi điều khiển và WiFi tích hợp, ESP8266 cho phép lập trình viên có thể lập trình trên mô đun này để thực hiện các ứng dụng khác nhau, đặc biệt là các ứng dụng IoT.

NodeMCU phát triển dựa trên Chip WiFi ESP8266EX bên trong. Board còn tích hợp IC CP2102, giúp dễ dàng giao tiếp với máy tính thông qua Micro USB để thao tác với board. Và có sẵn nút nhấn, led báo hiệu. Module thu phát Wifi ESP8266 NodeMCU Lua CP2102 là một module thu phát Wifi được thiết kế dựa trên vi điều khiển ESP8266 của hãng Espressif.

Module này được tích hợp sẵn trình điều khiển Wifi và hỗ trợ giao tiếp thông qua giao thức TCP/IP. Ngoài ra, module còn tích hợp một số chức năng khác như GPIO, UART, I2C, SPI, ADC, PWM, và các chức năng khác. Module này được lập trình bằng ngôn ngữ Lua và có thể được lập trình thông qua một trình biên dịch Lua trên máy tính. Module cũng được tích hợp sẵn một cổng USB để kết nối với máy tính và cung cấp nguồn cho module.

7 Nguyên lý hoạt động của module này là sử dụng vi điều khiển ESP8266 để kết nối với mạng Wifi và giao tiếp với các thiết bị khác thông qua giao thức TCP/IP. Module cũng có thể được sử dụng để điều khiển các thiết bị khác thông qua các chức năng GPIO, UART, I2C, SPI, ADC, PWM, và các chức năng khác.3: sơ đồ chân module ESP8266 NODEMCU Tính năng của NODEMCU ESP8266 - Thông số kĩ thuật: - IC chính: ESP8266 Wifi SoC. - Phiên bản firmware: NodeMCU Lua - Chip nạp và giao tiếp UART: CP2102. - GPIO tương thích hoàn toàn với firmware Node MCU.

- Cấp nguồn: 5VDC MicroUSB hoặc Vin. - GIPO giao tiếp mức 3.3VDC - Tích hợp Led báo trạng thái, nút Reset, Flash. - Tương thích hoàn toàn với trình biên dịch Arduino. - Kích thước: 25 x 50 mm 8 Thông số kỹ thuật: - Chip: ESP8266EX - WiFi: 2.4 GHz hỗ trợ chuẩn 802.11 b/g/n - Điện áp hoạt động: 3.3V - Điện áp vào: 5V thông qua cổng USB - Số chân I/O: 11 (tất c các chân I/O đều có Interrupt/PWM/I2C/Onewire, - trừ chân D0) - Số chân Analog Input: 1 (điện áp vào tối đa 3.3V) - Bộ nhớ Flash: 4MB - Giao tiếp: Cáp Micro USB - Hỗ trợ bảo mật: WPA/WPA2 - Tích hợp giao thức TCP/IP 1.2Giao tiếp I2C I2C ( Inter – Integrated Circuit) là 1 giao thức giao tiếp nối tiếp đồng bộ được phát triển bởi Philips Semiconductors, sử dụng để truyền nhận dữ liệu giữa các IC với nhau chỉ sử dụng hai đường truyền tín hiệu.

Các bit dữ liệu sẽ được truyền từng bit một theo các khoảng thời gian đều đặn được thiết lập bởi 1 tín hiệu đồng hồ. Bus I2C thường được sử dụng để giao tiếp ngoại vi cho rất nhiều loại IC khác nhau như các loại vi điều khiển, cảm biến, EEPROM, …. I2C, viết tắt của từ Inter-Integrated Circuit, là một chuẩn truyền thông do hãng điện tử Philips Semiconductor sáng lập, cho phép giao tiếp một thiết bị chủ với nhiều thiết bị tớ với nhau. Truyền dữ liệu theo chuẩn I2C.

9 - R là điện trở nối lên nguồn nuôi VDD. Hệ thống các thiết bị giao tiếp theo chuẩn I2C. Chuẩn giao tiếp I2C có 2 đường tín hiệu tên là SDA (serial data) có chức năng truyền tải dữ liệu và tín hiệu SCL (serial clock) truyền tải xung clock để dịch chuyển dữ liệu. Trong hệ thống truyền dữ liệu I2C, thiết bị nào cung cấp xung clock thì được gọi là chủ (master), thiết bị nhận xung clock được gọi là tớ (slave).

Mỗi dây SDA hay SCL đều được nối với điện áp dương của nguồn cấp thông qua một điện trở kéo lên (pull‐up resistor). Sự cần thiết của các điện trở kéo này là vì chân giao tiếp I2C của các thiết bị ngoại vi thường là dạng cực máng hở (open‐drain or open‐collector). Giá trị của các điện trở này khác nhau tùy vào từng thiết bị và chuẩn giao tiếp, thường dao động trong khoảng 1KΩ đến 4. Thiết bị chủ chỉ có 1, thiết bị tớ thì có nhiều, mỗi thiết bị tớ sẽ có 1 địa chỉ độc lập, chuẩn truyền ban đầu dùng địa chỉ 7 bit nên có thể 1 chuẩn giao tiếp với 128 thiết bị tớ.

Các thiết bị sau này tăng thêm số bit địa chỉ nên có thể giao tiếp nhiều hơn. Địa chỉ của thiết bị tớ thường do nhà chế tạo thiết bị thiết lập sẵn. Trình từ truyền bit trên đường truyền: Thiết bị chủ tạo một điều kiện start. Điều kiện này thông báo cho tất cả các thiết bị tớ lắng nghe dữ liệu trên đường truyền.

Sau đó, thiết bị chủ sẽ gửi đi một địa chỉ của thiết bị tớ mà thiết bị chủ muốn giao tiếp và cờ đọc/ghi dữ liệu. Thiết bị tớ mang địa chỉ đó trên bus I2C sẽ phản hồi lại bằng một xung ACK. Khi đó, việc giao tiếp giữa thiết bị chủ - tớ bắt đầu. Bộ truyền gửi 8 bit dữ liệu đến bộ nhận, bộ nhận trả lời với 1 bit ACK.

Để kết thúc, thiết bị chủ tạo ra một điều kiện STOP. Bus I2C chuẩn truyền 8‐bit dữ liệu có hướng trên đường truyền với tốc độ là 100Kbits/s – Chế độ chuẩn (Standard mode). Tốc độ truyền có thể lên tới 10 400Kbits/s – Chế độ nhanh (Fast mode) và cao nhất là 3,4Mbits/s – Chế độ cao tốc (High‐speed mode). Một bus I2C có thể hoạt động ở nhiều chế độ khác nhau: - Một chủ một tớ (one master – one slave) - Một chủ nhiều tớ (one master – multi slave) - Nhiều chủ nhiều tớ (Multi master – multi slave) Hình 1.

Chế độ một chủ nhiều tớ. Chế độ nhiều chủ nhiều tớ. - Bit Read/Write: Bit này dùng để xác định quá trình là truyền hay nhận dữ liệu từ thiết bị Master. Nếu Master gửi dữ liệu đi thì ứng với bit này bằng ‘0’, và ngược lại, nhận dữ liệu khi bit này bằng ‘1’.

11 - Bit ACK/NACK: Viết tắt của Acknowledged / Not Acknowledged. Dùng để so sánh bit địa chỉ vật lý của thiết bị so với địa chỉ được gửi tới. Nếu trùng thì Slave sẽ được đặt bằng ‘0’ và ngược lại, nếu không thì mặc định bằng ‘1’. - Khối bit dữ liệu: Gồm 8 bit và được thiết lập bởi thiết bị gửi truyền đến thiết bị nhân.

Sau khi các bit này được gửi đi, lập tức 1 bit ACK/NACK được gửi ngay theo sau để xác nhận rằng thiết bị nhận đã nhận được dữ liệu thành công hay chưa. Nếu nhận thành công thì bit ACK/NACK được set bằng ‘0’ và ngược lại. Quá trình truyền nhận dữ liệu: - Bắt đầu: Thiết bị Master sẽ gửi đi 1 xung Start bằng cách kéo lần lượt các đường SDA, SCL từ mức 1 xuống 0. - Tiếp theo đó, Master gửi đi 7 bit địa chỉ tới Slave muốn giao tiếp cùng với bit Read/Write.

- Slave sẽ so sánh địa chỉ vật lý với địa chỉ vừa được gửi tới. Nếu trùng khớp, Slave sẽ xác nhận bằng cách kéo đường SDA xuống 0 và set bit ACK/NACK bằng ‘0’. Nếu không trùng khớp thì SDA và bit ACK/NACK đều mặc định bằng ‘1’. 12 - Thiết bị Master sẽ gửi hoặc nhận khung bit dữ liệu.

Nếu Master gửi đến Slave thì bit Read/Write ở mức 0. Ngược lại nếu nhận thì bit này ở mức 1. - Nếu như khung dữ liệu đã được truyền đi thành công, bit ACK/NACK được set thành mức 0 để báo hiệu cho Master tiếp tục.

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