Chương 1 TỔNG QUAN: Tổng quan toàn bộ về đề tài, lý do chọn đề tài, tính cấp thiết, mục tiêu, giới hạn đề tài, đối tượng, phạm vi nghiên cứu và phương pháp nghiên cứu. Chương 2 CƠ SỞ LÝ THUYẾT: Khái quát lý thuyết về các giao thức, linh kiện đang được sử dụng và về nền tảng IoT. Chương 3 THIẾT KẾ HỆ THỐNG: Khái quát toàn bộ về thiết kế hệ thống, sơ đồ khối hệ thống, thiết kế chi tiết từng khối, lý do chọn linh kiện thiết bị để sử dụng, thiết kế phần cứng và phần mềm của hệ thống. Chương 4 THI CÔNG HỆ THỐNG VÀ KẾT QUẢ: Đưa ra kết quả cuối cùng của hệ thống.
Chương 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN: Từ kết quả của hệ thống đưa ra kết luận về hệ thống, các ưu nhược điểm và hướng phát triển của hệ thống. 6 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2. GIỚI THIỆU CÁC CHUẨN GIAO THỨC VÀ GIAO THỨC TRUYỀN THÔNG SỬ DỤNG 2. WiFi WiFi là công nghệ kết nối mạng không dây để truyền tải dữ liệu giữa các thiết bị mà không cần sử dụng dây cáp.
WiFi được sử dụng rộng rãi giúp kết nối giữa các thiết bị với nhau, từ điện thoại đến máy tính, TV thông minh cho đến các cảm biến các vi điều khiển. Việc sử dụng wifi giúp cho người dùng thuận tiện và linh hoạt trong việc kết nối các thiết bị với nhau [6]. Nguyên tắc hoạt động: Mạng wifi sử dụng cách thức truyền tải tín hiệu giữa các thiết bị có kết nối WiFi thông qua sóng radio. Gồm hai thành phần chính [6]: - Điểm truy cập (Access Point): là thiết bị phát tín hiệu, giúp chuyển đổi các tín hiệu dữ liệu từ dây mạng hoặc modem thành các sóng radio và truyền tải nó vào không khí.
Không chỉ một mà điểm truy cập còn có thể phát ra các sóng tín hiệu đồng thời ở nhiều tần số khác nhau [6]. - Bộ thu (Wireless Adapter): là các thiết bị nhận tín hiệu sóng radio từ điểm truy cập và chuyển đổi các sóng đó thành dữ liệu. Bộ thu thường được trang bị trên các thiết bị như laptop, điện thoại hoặc có thể kết nói thông qua 1 adapter USB [6]. Các chuẩn wifi hiện nay: - IEEE 802.11a: băng tần tần số 5GHz, tốc độ tối đa 54Mbps, sử dụng ở các khu vực đông người dùng [6].11: băng tần tần số 2.4GHz, tốc độ tối đa 2Mbps, sử dụng trong các thiết bị điện tử sử dụng hàng ngày [6].11b: băng tần tần số 2.4GHz, tốc độ tối đa 11Mbps, sử dụng trong các hộ gia đình hoặc các khu vực có ít người sử dụng [6].11g: băng tần tần số 2.4GHz, tốc độ tối đa 54Mbps, sử dụng phổ biến nhất, nhất là trong các thiết bị di động [6].11n: băng tần tần số 2.4GHz và 5GHz, tốc độ tối đa 600Mbps [6].11ac: băng tần tần số 5GHz, tốc độ tối đa 6.9Gbps, sử dụng trong các khu có nhiều thiết bị sử dụng Wifi và yêu cầu tốc độ cao [6].11ax (Wifi 6): băng tần tần số 5GHz tốc độ tối đa 10Gbps, băng tần tần số 2.4GHz tốc độ tối đa 1.2Gbps, sử dụng ở các khu tập trung đông người và yêu cầu băng thông cao [6].
LoRa LoRa là một công nghệ điều chế RF có khả năng truyền tải đi xa với chiều dài lên đến 5km đối với khu vực đô thị và từ 10 đến 15km đối với vùng nông thôn. Thuộc sở hữu của công ty Semtech vào năm 2012, LoRa đóng vai trò như một công cụ hỗ trợ truyền tải dữ liệu xa, ít tốn điện năng mà không cần khuếch đại công suất [7] [8]. Nguyên lý hoạt động: sử dụng việc điều chế Chirp Spread Spectrum, tín hiệu dữ liệu trước khi chuyển đi sẽ được khuếch đại lên tần số cao hơn, tiếp theo chuỗi dự liệu đó sẽ được mã hóa thành các chuỗi chrip và cuối cùng sẽ được gửi đi thông qua tín hiệu anten [7] [8]. Vai trò của LoRa trong IOT: Với ưu điểm ít tiêu thụ điện năng trong quá trình hoạt động giúp hạn chế thay pin trong quá trình sử dụng, dữ liệu cũng sẽ được truyền đi với khoảng cách xa hơn.
Ngoài ra, chi phí lắp đặt sử dụng lại thấp hơn khi gửi dữ liệu bằng hệ thống mạng bình thường. Nhờ vậy, quá trình hoạt động và kết nối đến các cảm biến trong hệ thống IOT sẽ không bị gián đoạn, điều này sẽ giúp người sử dụng có thể điều khiển các thiết bị IOT một cách ổn định [7] [8]. I2C I2C là một chuẩn giao thức giao tiếp với nhau nối tiếp một cách đồng bộ được phát triển bởi Philips Semiconductors, giao thức này có chức năng để truyền nhận dữ liệu giữa nhiều thiết bị hoặc giữa nhiều vi điều khiển, I2C chỉ sử dụng hai đường truyền truyền giữa các thiết bị [9] [10] [11]: Hình 2.1: Sơ đồ kết nối I2C - SDA (Serial data): Thiết bị chủ và thiết bị tớ sẽ gửi, nhận dữ liệu với đối phương thông qua SDA. Thiết bị chủ được sử dụng để điều khiển đường truyền tín hiệu xung clock SCL và sử dụng SDA để thực hiện việc gửi nhận các dữ liệu, lệnh đến các thiết bị trong cùng giao thức.
Thiết bị tớ là các thiết bị nhận dữ liệu hoặc lệnh từ thiết bị chủ. Một khung truyền dữ liệu của I2C bao gồm: 9 Hình 2.2: Khung truyền dữ liệu của I2C [9] Trong giao tiếp I2C, dữ liệu được theo các gói tin. Mỗi gói tin truyền đi được chia thành nhiều khung truyền dữ liệu. Các gói tin của I2C chứa một khung là khung chứa địa chỉ của thiết bị tớ và chứa một hay nhiều khung mang dữ liệu hoặc lệnh cần được truyền.
Gói tin cũng bao gồm tín hiệu khởi động và tín hiệu dừng, các bit ACK / NACK và các bit có chức năng đọc/ghi giữa mỗi khung truyền dữ liệu [9] [10] [11]: - Điều kiện bắt đầu: đường truyền SDA thực hiện việc chuyển từ mức cao (HIGH) xuống mức thấp (LOW), việc này được thực hiện trước khi đường truyền SCL cũng thực hiện việc chuyển từ mức điện áp cao (HIGH) xuống mức điện áp thấp (LOW) [9] [10] [11]. - Điều kiện dừng: thực hiện ngược lại so với điều kiện bắt đầu nhưng lúc này đường truyền SCL sẽ thực hiện trước [9] [10] [11]. - Bit địa chỉ: Việc truyền nhận có thể sẽ thực hiện giữa nhiều thiết bị hoặc nhiều vi điều khiển với nhau, nếu muốn thực hiện việc xác định các thiết bị này cần gắn 1 địa chỉ vật lý gồm 7 hoặc 10bit cố định [9] [10] [11]. - Bit đọc/ghi: Sử dụng bit này thực hiện việc xác nhận quá trình việc truyền hoặc nhận dữ liệu, lệnh từ thiết bị chủ.
Nếu thiết bị chủ thực hiện việc gửi đi thì bit này sẽ được thiết lập là mức thấp còn nếu là nhận dữ liệu thì bit này sẽ được thiết lập là mức cao [9] [10] [11]. - Bit ACK/NACK (Acknowledged / Not Acknowledged): Bit này được sử dụng để thực hiện việc đối chiếu bit địa chỉ được nhận với bit địa chỉ vật lý của thiết bị. Nếu hai bit địa chỉ này trùng nhau thì thiết bị tớ sẽ được thiết lập là mức thấp còn nếu ngược lại thì sẽ được thiết lập là mức cao [9] [10] [11]. 10 - Bit dữ liệu: Bit dữ liệu có bao gồm 8 bit, bit này được thiết lập ở thiết bị truyền sau đó được gửi đến thiết bị nhận.
Một bit ACK/NACK sẽ được gửi kèm theo sau khi việc gửi các bit dữ liệu này được hoàn thành. Bit ACK/NACK sẽ được thiết lập là mức thấp nếu nhận thành công hoặc ngược lại nếu không thành công [9] [10] [11]. Quá trình thực hiện truyền nhận dữ liệu: - Bắt đầu: Thiết bị chủ sẽ gửi đi một xung bắt đầu bằng cách kéo lần lượt các đường SDA và SCL từ mức cao xuống mức thấp [9] [10]. - Tiếp theo, thiết bị chủ thực hiện việc gửi 7 bit địa chỉ tới các thiết bị tớ kèm với bit đọc/ghi [9] [10] [11].
- Thiết bị tớ thực hiện so sánh địa chỉ vừa được gửi tới với địa chỉ vật lý. Nếu giống nhau, thiết bị tớ thực hiện xác nhận thông qua việc đưa đường SDA xuống mức thấp và thiết lập bit ACK/NACK bằng là mức thấp. Trong trường hợp không giống nhau thì SDA và bit ACK/NACK đều được thiết lập là mức cao [9] [10] [11]. - Thiết bị chủ thực hiện việc gửi hoặc nhận dữ liệu từ thiết bị tớ.
Nếu gửi dữ liệu thì bit đọc/ghi là mức thấp còn nếu nhận thì bit đọc/ghi ở mức cao [9] [10] [11]. - Nếu truyền thành công khung dữ liệu thì bit ACK/NACK được thiết lập thành mức thấp để báo hiệu cho thiết bị chủ tiếp tục thực hiện [9] [10] [11]. - Nếu gửi thành công tất cả dữ liệu và lệnh đến thiết bị tớ, thiết bị chủ truyền một tín hiệu kết thúc đến cho tất cả các thiết bị tớ thông báo việc quá trình truyền đã kết thúc thông qua việc thiết lập lần lượt đường truyền SDA và SCL từ mức thấp lên mức cao [10] [11]. SPI SPI, giao diện ngoại vi nối tiếp, được tạo ra bởi Motorola.
Được ứng dụng trong rất nhiều thiết bị [12]. Truyền dữ liệu theo chế độ Full – Duplex (Quá trình truyền và nhận có thể diễn ra cùng lúc, tại một thời điểm) [12]. 11 Là giao tiếp đồng bộ, bất kì công việc nào được thực hiện đều phải đồng bộ với xung đồng hồ của thiết bị chủ [12].3: Sơ đồ kết nối SPI SPI sử dụng 4 đường giao tiếp: - SCK (Serial Clock): thiết bị chủ tạo xung tín hiệu SCK, cung cấp cho thiết bị tớ. Xung SCK dùng để giữ nhịp, đồng bộ trong SPI.
Mỗi nhịp của chân SCK báo 1bit dữ liệu gửi hoặc nhận → Quá trình hạn chế lỗi và tăng tốc độ truyền [12]. - MISO (Master Input Slave Output): Tín hiệu tạo và gửi bằng thiết bị tớ và nhận bởi thiết bị chủ. Đường MISO phải kết nối giữa thiết bị chủ và thiết bị tớ [12]. - MOSI (Master Output Slave Input): Đây là một đường truyền tín hiệu, tín hiệu sẽ được tạo ra và gửi đi bởi thiết bị chủ và nhận bởi thiết bị tớ.
Đường MOSI phải được kết nối giữa thiết bị chủ và thiết bị tớ [12]. - SS (Slave Select): Dùng để lựa chọn thiết bị tớ để giao tiếp. Khi thiết bị chủ muốn chọn một thiết bị tớ để thực hiện việc giao tiếp, thiết bị chủ sẽ kéo mức điện áp của đường SS ở thiết bị tớ tương ứng xuống mức thấp (LOW). Đường truyền này còn có thể được gọi là CS (Chip Select).
Chân SS có thể tạo bằng cách cấu hình một ngoại vi GPIO bất kỳ ở chế độ ngõ ra [12]. Các bước truyền dữ liệu SPI [12]: - Tín hiệu xung nhịp sẽ được tạo ra bởi thiết bị chủ.