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

Thiết kế hệ thống iot quan trắc môi trường không khí đa điểm ứng dụng công nghệ truyền nhận dữ liệu không dây qua mạng lora

98 32 2

Đ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 đề Thiết Kế Hệ Thống IoT Quan Trắc Môi Trường Không Khí Đa Điểm Ứng Dụng Công Nghệ Truyền Nhận Dữ Liệu Không Dây Qua Mạng LoRa
Tác giả Nguyễn Phan Điền, Nguyễn Minh Trí
Người hướng dẫn TS. Nguyễn Văn Thái
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Kỹ Thuật Điều Khiển Và Tự Động Hóa
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2023
Thành phố Tp. Hồ Chí Minh
Định dạng
Số trang 98
Dung lượng 10,78 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN (18)
    • 1.1. Đặt vấn đề (18)
    • 1.2. Mục tiêu nghiên cứu (19)
    • 1.3. Phương pháp nghiên cứu (19)
    • 1.4. Giới hạn đề tài (19)
    • 1.5. Nội dung nghiên cứu (19)
    • 1.6. Bố cục báo cáo (20)
  • CHƯƠNG 2. CƠ SỞ LÝ THUYẾT (22)
    • 2.1. Tổng quan về IoT (Internet of things) (22)
    • 2.2. Công nghệ Wi-Fi (Wireless Fidelity) (25)
    • 2.3. Công nghệ truyền thông LoRa (27)
    • 2.4. Chuẩn giao tiếp SPI, I2C, UART (30)
    • 2.5. Các vi điều khiển (36)
    • 2.6. Giao thức HTTP (43)
    • 2.7. Cảm biến (44)
    • 2.8. Các phần mềm sử dụng trong đề tài (51)
  • CHƯƠNG 3. THIẾT KẾ HỆ THỐNG (54)
    • 3.1. Yêu cầu hệ thống (54)
    • 3.2. Thiết kế phần cứng (57)
    • 3.3. Thiết kế phần mềm (68)
  • CHƯƠNG 4. KẾT QUẢ (80)
    • 4.1. Kết quả phần cứng (80)
    • 4.2. Kết quả phần mềm (81)
    • 4.4. Thực nghiệm độ ổn định của hệ thống với khoảng cách trên 1000m (0)
    • 4.5. Thực nghiệm tính linh hoạt của hệ thống (0)
  • CHƯƠNG 5. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (95)
    • 5.1. Kết quả đạt được (95)
    • 5.2. Hướng phát triển (95)

Nội dung

Trang 4 Nhóm xin cam đoan đề tài “Thiết kế hệ thống IoT quan trắc môi trường không khí ứng dụng công nghệ truyền nhận dữ liệu không dây qua mạng LoRa” là nhóm tự thực hiện, tham khảo các

TỔNG QUAN

Đặt vấn đề

Chất lượng không khí hiện nay đang là một vấn đề nghiêm trọng ảnh hưởng đến sức khỏe con người và môi trường Để giám sát chất lượng không khí, các hệ thống quan trắc đã được phát triển, nhưng hầu hết chỉ tập trung vào một điểm duy nhất và gặp nhiều thách thức về định vị, hạ tầng mạng, cung cấp nguồn năng lượng và khả năng triển khai Nhằm khắc phục những hạn chế này, nhóm nghiên cứu đã thiết kế một hệ thống IoT đa điểm để quan trắc môi trường không khí, ứng dụng công nghệ truyền dữ liệu không dây qua mạng LoRa.

Công nghệ LoRa đã chứng minh hiệu quả trong việc kết nối các thiết bị IoT trên diện rộng, cho phép truyền dữ liệu ở khoảng cách xa và thâm nhập vào những khu vực khó tiếp cận Sự kết hợp giữa IoT và công nghệ truyền thông LoRa trong hệ thống quan trắc môi trường không khí đa điểm mang lại nhiều lợi ích vượt trội, góp phần cải thiện khả năng giám sát và quản lý chất lượng không khí.

Khả năng truyền thông xa cho phép thu thập dữ liệu từ nhiều điểm quan trắc trong không gian rộng lớn, đặc biệt là ở những khu vực khó tiếp cận Bên cạnh đó, tiêu thụ năng lượng thấp giúp kéo dài tuổi thọ pin của các thiết bị cảm biến, đồng thời giảm chi phí duy trì.

– Sự linh hoạt trong triển khai và cấu hình, cho phép hệ thống mở rộng và thích ứng với các vị trí và môi trường quan trắc khác nhau

– Khả năng tích hợp và giao tiếp với các hệ thống quan trắc môi trường khác thông qua giao thức mở và tiêu chuẩn

Sự kết hợp giữa IoT và công nghệ truyền thông LoRa sẽ giúp nâng cao hiệu quả và tính bền vững trong giám sát và quản lý chất lượng không khí.

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

Hệ thống quan trắc môi trường đã được nghiên cứu, thiết kế và thi công thành công, bao gồm 4 thông số chính: nhiệt độ, độ ẩm, chỉ số bụi mịn PM2.5 và nồng độ khí CO Hệ thống này có khả năng thu thập dữ liệu trong bán kính dưới 2000m.

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

Đề tài sử dụng tổng hợp các phương pháp nghiên cứu sau:

– Phương pháp nghiên cứu lý thuyết

Giới hạn đề tài

Do thời gian có hạn nên đề tài của nhóm còn những giới hạn như sau:

Hệ thống cho phép thu thập và hiển thị giá trị thô từ các cảm biến trên ứng dụng và thiết bị Node Tuy nhiên, các giá trị cảm biến hiện tại chưa được kiểm định bằng các thiết bị chuyên dụng Ngoài ra, hệ thống hiện tại không hỗ trợ chức năng xóa các thiết bị đã được thêm vào.

– Phạm vi truyền nhận không dây dưới 2000m

– GateWay và Node sử dụng nguồn Adapter 5V

– Truyền nhận dữ liệu không dây chưa có lớp bảo mật.

Nội dung nghiên cứu

Nội dung nghiên cứu bao gồm:

– Nghiên cứu các thiết kế sản phẩm mẫu về đo chất lượng không khí trên thị trường

Để nghiên cứu cảm biến, hãy tham khảo các bài báo khoa học, tài liệu và datasheet liên quan Nghiên cứu cách thức giao tiếp, cách đọc và ghi dữ liệu vào thanh ghi, cùng với các thành phần chức năng tích hợp và sơ đồ nguyên lý mẫu của cảm biến.

– Nghiên cứu tổng quan cấu trúc, các thành phần của mạng LoRa, tham khảo các tài liệu có liên quan đến mạng LoRa

– Nghiên cứu các tài liệu có liên quan hệ điều hành RTOS, thử nghiệm thực tế hoạt động của hệ điều hành trên ESP32

Nghiên cứu và thiết kế phần cứng mẫu là bước quan trọng trong việc áp dụng chuẩn giao tiếp I2C, UART, SPI Tài liệu tham khảo cung cấp hướng dẫn chi tiết về hoạt động của hệ điều hành RTOS và cách sử dụng module RA-02, giúp tối ưu hóa quy trình phát triển sản phẩm.

Thực hiện thử nghiệm giao tiếp UART giữa MCU và cảm biến PMS7003, bao gồm việc viết thư viện giao tiếp và cài đặt các cấu hình cũng như thanh ghi cơ bản để cảm biến hoạt động hiệu quả Đồng thời, tiến hành thử nghiệm chức năng thu phát RF của module RA-02 và nghiên cứu, thiết kế lại giao thức truyền dữ liệu qua LoRa để phù hợp với mục tiêu của đề tài.

– Hiển thị thông số nhiệt độ, độ ẩm, nồng độ bụi mịn PM2.5 và nồng độ CO lên ứng dụng

– Hiệu chỉnh, sửa lỗi, tối ưu phần cứng và phần mềm.

Bố cục báo cáo

Chương này trình bày tổng quan về đề tài nghiên cứu, bao gồm lý do lựa chọn đề tài, phương pháp nghiên cứu được áp dụng, mục tiêu nghiên cứu cụ thể, nội dung chính của nghiên cứu và các giới hạn trong phạm vi nghiên cứu.

Chương 2: Cơ sở lý thuyết

Phần cơ sở lý thuyết của bài viết trình bày các kiến thức và chức năng liên quan đến chuẩn giao tiếp không dây Wi-Fi và LoRa, bao gồm tổng quan và đặc điểm của các vi điều khiển STM32, ESP32, ESP8266, cùng với các cảm biến SHT31, PMS7003 và MQ-7 Bài viết cũng đề cập đến các lý thuyết về các chuẩn giao tiếp I2C, SPI, UART, và giới thiệu các phần mềm được sử dụng trong nghiên cứu.

Chương 3: Thiết kế hệ thống

Bài viết trình bày chi tiết yêu cầu của hệ thống, bao gồm thiết kế phần cứng, sơ đồ nguyên lý mạch và sơ đồ trình tự thiết kế phần mềm Nhóm cũng thể hiện và giải thích lưu đồ giải thuật của phần mềm để đảm bảo tính rõ ràng và mạch lạc trong quá trình phát triển.

Chương này trình bày các kết quả đạt được từ đề tài nghiên cứu, bao gồm việc kiểm tra độ ổn định và độ tin cậy của hệ thống so với các thiết bị hiện có trên thị trường Đồng thời, nghiên cứu cũng đánh giá sự linh hoạt của thiết bị, đặc biệt là khả năng duy trì độ ổn định khi hoạt động ở khoảng cách trên 1000m.

Chương 5: Kết luận và hướng phát triển

Trong chương này, nhóm rút ra kết luận từ những kết quả đạt được và đưa ra các hướng phát triển tiếp theo trong tương lai

CƠ SỞ LÝ THUYẾT

Tổng quan về IoT (Internet of things)

IoT (Internet of Things), hay Mạng lưới Vạn vật kết nối, là hệ thống mà các thiết bị vật lý và đối tượng được trang bị công nghệ cảm biến, phần mềm và kết nối mạng Hệ thống này cho phép thu thập, trao đổi và phân tích dữ liệu, giúp các thiết bị thông minh tương tác với nhau và với con người qua internet.

Mục tiêu chính của IoT là xây dựng môi trường thông minh và tự động hóa, cho phép các đối tượng giao tiếp và tương tác mà không cần sự can thiệp của con người IoT giúp các thiết bị và hệ thống chia sẻ thông tin, tự động hóa quyết định, từ đó nâng cao hiệu suất, tiện ích và sự tương tác trong nhiều lĩnh vực của cuộc sống.

Dữ liệu từ các thiết bị IoT cung cấp thông tin quan trọng cho phân tích và ra quyết định Những thông tin này có thể tối ưu hóa quy trình sản xuất, cải thiện quản lý năng lượng, dự báo thời tiết, giám sát sức khỏe, nâng cao giao thông và nhiều ứng dụng khác.

Hình 2 1 Tổng quan về “IoT – Internet of things”

Các thiết bị IoT bao gồm cảm biến, bộ điều khiển và bộ xử lý, cho phép thu thập và truyền tải dữ liệu qua mạng.

– Cảm biến: Các cảm biến giúp thu thập dữ liệu từ môi trường xung quanh, như ánh sáng, nhiệt độ, độ ẩm, v.v

– Bộ xử lý: Xử lý dữ liệu và thực hiện các tác vụ tính toán, cho phép đưa ra quyết định và hành động

Bộ điều khiển IoT đóng vai trò quan trọng trong việc phối hợp hoạt động của các thiết bị và quản lý truyền thông giữa chúng Để đảm bảo việc truyền dữ liệu hiệu quả, IoT sử dụng các giao thức mạng như Wi-Fi.

Kết nối mạng là yếu tố then chốt cho sự tương tác và truyền nhận dữ liệu giữa các thiết bị IoT Các giao thức truyền thông như Wi-Fi, Bluetooth, Zigbee, LoRaWAN và 5G đóng vai trò quan trọng trong việc kết nối các thiết bị này với nhau.

Sự phát triển của công nghệ mạng đã tạo điều kiện thuận lợi cho việc triển khai IoT trong nhiều lĩnh vực như đô thị, nông nghiệp và y tế Các nền tảng phần mềm đóng vai trò quan trọng trong việc quản lý và phân tích dữ liệu từ các thiết bị IoT, giúp phát triển ứng dụng và dịch vụ hiệu quả Dữ liệu thu thập từ IoT cung cấp thông tin quý giá cho việc phân tích, tìm kiếm thông tin và hỗ trợ ra quyết định.

Công nghiệp IoT mang lại giám sát và kiểm soát tự động trong sản xuất, nâng cao hiệu suất và giảm thiểu lỗi Trong lĩnh vực đô thị thông minh, IoT đóng vai trò quan trọng trong quản lý giao thông, năng lượng và nhiều lĩnh vực khác, góp phần xây dựng môi trường sống bền vững và thoải mái.

Chăm sóc sức khỏe: IoT cho phép theo dõi và quản lý từ xa sức khỏe cá nhân, hỗ trợ trong việc chẩn đoán bệnh tật

Giao thông thông minh: IoT mang đến giải pháp tối ưu cho giao thông công cộng, giúp quản lý phương tiện hiệu quả và cung cấp thông tin chính xác về lưu lượng giao thông.

Hình 2 2 Mô hình ứng dụng của IoT trong nông nghiệp

Tuy nhiên, cùng với sự phát triển và tiềm năng của IoT, cũng có một số thách thức và vấn đề cần được xem xét sau đây:

Sự bùng nổ của IoT đang thúc đẩy nhu cầu triển khai hệ thống hạ tầng mạng, khi người dân ngày càng nhận thức rõ ràng về lợi ích của việc áp dụng IoT trong cuộc sống và sản xuất Điều này tạo ra thách thức cho các nhà đầu tư, nhà cung cấp hệ thống và thiết bị IoT, cũng như các nhà mạng trong việc cải thiện kết nối tại những vùng còn gặp khó khăn về mạng.

Trong môi trường IoT phức tạp, bảo mật là thách thức hàng đầu, khi các thiết bị có thể trở thành mục tiêu của các cuộc tấn công mạng Nếu không được bảo vệ đúng cách, chúng có thể mở ra lỗ hổng xâm nhập vào hệ thống Vấn đề bảo mật cần được giải quyết ngay từ giai đoạn thiết kế, triển khai và vận hành, bao gồm việc sử dụng mã hóa mạnh, quản lý chứng chỉ, xác thực và ủy quyền, cũng như thực hiện kiểm tra an ninh định kỳ và giám sát mạng.

Quyền riêng tư là một vấn đề quan trọng trong bối cảnh thu thập và phân tích dữ liệu từ các thiết bị IoT Dữ liệu cá nhân nhạy cảm được thu thập từ cảm biến và thiết bị có thể dẫn đến nguy cơ vi phạm quyền riêng tư của người dùng Để bảo vệ quyền riêng tư, cần thực hiện các quy tắc và quy định nghiêm ngặt về việc thu thập, sử dụng và chia sẻ dữ liệu cá nhân.

-8- dùng cũng cần được trao quyền kiểm soát và đồng ý với việc thu thập và sử dụng dữ liệu của mình

IoT là một mạng lưới phức tạp với hàng tỷ thiết bị kết nối, tạo ra thách thức lớn trong việc quản lý và vận hành hệ thống Đảm bảo tính ổn định và hiệu suất của hệ thống yêu cầu xử lý một lượng lớn dữ liệu, đồng bộ hóa thiết bị và giám sát hoạt động Hơn nữa, khi mở rộng hệ thống IoT, cần xem xét tính linh hoạt và khả năng mở rộng để đáp ứng nhu cầu ngày càng tăng.

Công nghệ Wi-Fi (Wireless Fidelity)

Tiêu chuẩn IEEE 802.11 cho mạng cục bộ không dây (WLAN), hay còn gọi là Wi-Fi, đã trở thành một phần thiết yếu trong cuộc sống hiện đại Với hơn một tỷ điểm truy cập Wi-Fi kết nối các thiết bị IoT như điện thoại thông minh, máy tính bảng và TV thông minh, Wi-Fi cho phép hàng triệu ứng dụng tiếp cận người dùng khắp nơi Sự tiến hóa của công nghệ Wi-Fi đã dẫn đến các thử nghiệm thương mại đầu tiên về hạ tầng băng thông rộng tốc độ cao và truyền thông xung MIMO, được áp dụng rộng rãi trong ngành điện thoại di động và mạng cảm biến không dây Sự phổ biến của Wi-Fi trong các khu vực trong nhà đã thúc đẩy đổi mới trong các ứng dụng khai thác tín hiệu Wi-Fi.

Hình 2 3 Công nghệ Wi-Fi ứng dụng trong các thiết bị điện tử xung quanh

Hoạt động của Wi-Fi yêu cầu thiết bị phải có bộ thu phát Wi-Fi, giúp thu sóng và chuyển đổi thành tín hiệu sóng vô tuyến Router là một loại bộ thu phát, nhận sóng vô tuyến chứa dữ liệu từ các thiết bị, chuyển đổi chúng thành dữ liệu và truyền qua kết nối vật lý Khi nhận dữ liệu yêu cầu, router mã hóa thành sóng vô tuyến điện và gửi thông tin đến thiết bị gốc Trên máy tính, điện thoại và thiết bị thông minh khác, bộ thu phát Wi-Fi được gọi là card Wi-Fi, cho phép router kết nối với nhiều thiết bị khác nhau để truyền tải dữ liệu theo yêu cầu.

Wi-Fi được phân loại theo các chuẩn khác nhau và hoạt động ở tần số từ 2.4 GHz đến 60 GHz, cao hơn so với sóng vô tuyến truyền hình, sóng điện thoại và sóng radio Điều này giúp Wi-Fi đảm bảo an toàn cho thông tin khi truyền và nhận dữ liệu.

Có các chuẩn Wi-Fi sau đây [3]:

• Chuẩn 802.11b đáng chú ý với việc thu phát dữ liệu ở tần số 2.4 GHz và khả năng truyền nhận dữ liệu lên đến 11 Megabit/s, được hỗ trợ bởi mã CCK

• Chuẩn 802.11g cũng sử dụng tần số 2.4 GHz như chuẩn 802.11b, nhưng sử dụng mã OFDM để nâng cao tốc độ truyền nhận dữ liệu lên mức 54 Mbps

Chuẩn 802.11a là một tiêu chuẩn kết nối Wi-Fi hoạt động trên tần số 5 GHz, cung cấp tốc độ truyền dữ liệu lên đến 54 Mb mỗi giây, tương đương với chuẩn 802.11g.

Chuẩn 802.11n đại diện cho một bước tiến quan trọng trong công nghệ Wi-Fi, được phát triển từ chuẩn g với tần số hoạt động 2.4 GHz Đặc biệt, tốc độ truyền dữ liệu của chuẩn này đã được cải thiện đáng kể, có khả năng đạt tới 300 megabit/s và nhanh chóng nâng lên 450 Mb/s.

Chuẩn 802.11ac hiện đang là một trong những tiêu chuẩn Wi-Fi phổ biến nhất, hoạt động trên băng tần 5 GHz và có khả năng hỗ trợ kết nối nhiều thiết bị cùng lúc.

Chuẩn 802.11ad hoạt động ở tần số 60 GHz, cho phép tốc độ truyền dữ liệu tối đa lên đến 4,6 Gigabit/giây, nhanh hơn đáng kể so với các chuẩn trước đó.

802.11ac là công nghệ Wi-Fi tiên tiến, đáp ứng nhu cầu truyền tải dữ liệu lớn và hỗ trợ các ứng dụng yêu cầu băng thông cao Một số ưu điểm của Wi-Fi bao gồm tốc độ truyền tải nhanh, khả năng kết nối nhiều thiết bị cùng lúc và độ ổn định cao trong quá trình sử dụng.

• Tính tiện dụng: Thiết kế đơn giản, tối ưu gọn nhẹ so với kết nối trực tiếp bằng qua cổng RJ45 như truyền thống

• Tính thuận tiện: Người truy cập duy trì được kết nối ngay cả khi đang di chuyển miễn nằm trong bán kính phủ sóng

• Tính bảo mật: Tương đối cao b Nhược điểm:

Khoảng cách từ Access Point ảnh hưởng đến cường độ sóng, với tín hiệu yếu dần khi xa hơn Để khắc phục vấn đề này, có thể trang bị thêm Repeater hoặc Access Point, nhưng điều này thường gặp khó khăn về chi phí.

• Băng thông: Càng nhiều người kết nối mạng thì tốc độ truy cập giảm rõ rệt.

Công nghệ truyền thông LoRa

LoRa (Long Range) là công nghệ điều chế sóng RF cho mạng LPWAN (Low Power Wide Area Network), cho phép truyền dữ liệu lên đến hàng kilomet mà không cần mạch khuếch đại công suất Nhờ vào khả năng này, LoRa trở thành giải pháp lý tưởng cho mạng lưới thu thập dữ liệu với công suất thấp, giúp gửi giá trị đo đạc từ khoảng cách xa một cách hiệu quả.

Hình 2 4 Mô hình mạng LoRa

Mã hóa dữ liệu là quá trình chuyển đổi dữ liệu thành các chuỗi bit trước khi truyền Mỗi bit được ánh xạ thành tín hiệu chirp, trong đó bit 1 sử dụng up-chirp (tần số tăng theo thời gian) và bit 0 sử dụng down-chirp (tần số giảm theo thời gian) Phương pháp này không chỉ tăng cường khả năng chống nhiễu mà còn cải thiện hiệu suất truyền dữ liệu.

Tăng tần số (chipping): Sau khi dữ liệu được mã hóa, tín hiệu chirp được tăng tần số

Bằng cách thay đổi tần số của tín hiệu thành một tần số cao hơn, quá trình tăng tần số giúp tín hiệu trở nên rộng hơn và truyền xa hơn Tín hiệu đã được tăng tần số sau đó được mã hóa theo các chuỗi tín hiệu chirp.

Trước khi tín hiệu được phát ra từ anten, quá trình up-chirp hoặc down-chirp được thực hiện, tạo ra một tín hiệu có dải tần số biến đổi theo thời gian Quá trình này là yếu tố đặc trưng của công nghệ LoRa.

Tín hiệu LoRa được thu bởi anten ở phía thu và sau đó được sử dụng để giải mã dữ liệu Quá trình này cần một mạch thu đơn giản hơn so với các công nghệ truyền thông khác, nhờ vào việc CSS giúp giảm độ phức tạp và độ chính xác cần thiết cho giải mã.

Việc sử dụng băng tần cho LoRa sẽ phụ thuộc vào từng khu vực trên thế giới như 868 MHz ở châu Âu, 915 MHz ở châu Mỹ, 433 MHz ở châu Á [5]

LoRa sử dụng hai định dạng gói tin chính là explicit và implicit Gói tin explicit có tiêu đề ngắn gọn, cung cấp thông tin về số byte, tỷ lệ mã hóa và việc sử dụng CRC trong gói tin.

Hình 2 5 Cấu trúc gói tin LoRa

Một gói tin của Lora bao gồm các thành phần:

– Preamble: Đây là một chuỗi nhị phân được sử dụng để bộ thu phát hiện tín hiệu của gói tin Lora trong không gian môi trường

Header chứa thông tin về kích thước dữ liệu truyền (Payload) và giá trị PayloadCRC Nó cũng được kết hợp với mã CRC để đảm bảo tính toàn vẹn của dữ liệu.

– Payload: Đây là phần dữ liệu thực tế được truyền qua mạng Lora

PayloadCRC là giá trị CRC (Cyclic Redundancy Check) của Payload, cho phép chip Lora tự động kiểm tra tính toàn vẹn của dữ liệu Mã CRC này giúp xác định xem dữ liệu nhận được có đầy đủ và không bị lỗi hay không.

Các thông số a Spreading Factor – SF:

SF (Spreading Factor) xác định số lượng tín hiệu chirp được sử dụng để mã hóa dữ liệu, với mỗi mức logic tương ứng với 12 xung chirp Giá trị SF dao động từ 6 đến 12, ảnh hưởng đến thời gian và khoảng cách truyền dữ liệu Khi SF tăng, thời gian truyền dữ liệu kéo dài nhưng khoảng cách truyền cũng được mở rộng.

Bandwidth trong LoRa xác định phạm vi tần số mà tín hiệu sử dụng, được đo bằng kHz, và là khoảng cách giữa hai tần số tối đa mà tín hiệu có thể truyền Một đặc điểm quan trọng là tín hiệu chirp trong LoRa có khả năng biến đổi trên một dải tần số lớn, phụ thuộc vào giá trị BW Giá trị BW cao sẽ tạo ra tín hiệu chirp ngắn hơn, từ đó giảm thời gian và khoảng cách truyền tín hiệu.

CR là tỷ lệ mã hóa quan trọng trong việc cải thiện tính toàn vẹn dữ liệu của gói tin LoRa Nó xác định số lượng bit mã hóa được thêm vào Payload để kiểm tra và khôi phục dữ liệu bị lỗi Giá trị CR cao hơn giúp nâng cao khả năng khôi phục dữ liệu, mặc dù có thể làm tăng thời gian truyền gói tin LoRa hỗ trợ nhiều giá trị CR khác nhau, chẳng hạn như 4/5, 4/6, 4/7 và 4/8, với mỗi giá trị đại diện cho tỷ lệ bit mã hóa và bit dữ liệu cụ thể.

Chipset Lora SX1276 hỗ trợ 4 giá trị tỷ lệ mã hóa (CR) là 4/5, 4/6, 4/7 và 4/8 Số lượng dữ liệu được truyền tăng lên tương ứng với từng CR; ví dụ, với CR 4/8, mỗi 4 bit dữ liệu đúng sẽ được mã hóa thành 8 bit, dẫn đến việc Lora cần gửi 8/4 dữ liệu Mặc dù việc sử dụng CR 4/8 có thể cải thiện khả năng phục hồi dữ liệu, nhưng điều này cũng có thể làm chậm thời gian truyền.

Chuẩn giao tiếp SPI, I2C, UART

Chuẩn giao tiếp SPI a Giới thiệu chung:

Giao thức giao tiếp SPI, được phát hành bởi hãng Motorola vào giữa những năm 1980, cho phép truyền nhận và giao tiếp nhanh chóng giữa các thiết bị với tốc độ từ vài MHz đến hàng chục MHz.

SPI (Serial Peripheral Interface), hay còn được gọi là Four wire, là một chuẩn giao tiếp

4 dây Nó sử dụng kênh truyền nối tiếp song công (full duplex) với hai đường truyền dữ liệu riêng biệt, cho phép truyền và nhận dữ liệu đồng thời

SPI hoạt động dựa trên mô hình Master-Slave, trong đó Master là thiết bị điều khiển chính và Slave thường là các ngoại vi

Hệ thống SPI thường có một thiết bị Master, nhưng có khả năng có nhiều thiết bị Slave cùng được kết nối trên cùng 1 bus [7]

Thiết bị Master sẽ kết nối với Slave qua 4 chân tín hiệu:

• MOSI (Master Output/Slave Input) – Đường gửi dữ liệu Master đến Slave

• MISO (Master Input/Slave Output) – Đường gửi dữ liệu Slave cho Master

• SCLK (Serial Clock) – xung giữ nhịp Clock

SS/CS (Slave Select/Chip Select) là tín hiệu được sử dụng để Master cho phép Slave thiết lập giao tiếp Trong các hệ thống có một Master kết nối với nhiều Slave, Master sẽ điều khiển chân SS/CS của từng Slave xuống mức thấp (mức 0) để chỉ định rằng nó đang giao tiếp với Slave tương ứng.

Hình 2 6 Mô hình giao tiếp SPI giữa Master và Slave b Hoạt động:

Cả Master và Slave đều được trang bị một thanh ghi dịch 8 bit (Shift Register) và một bộ tạo dao động (Clock Generator)

Khi Master truyền dữ liệu, nó ghi 8 bit vào thanh ghi dịch và sau đó gửi dữ liệu qua đường MOSI (Master Output Slave Input) tới Slave Ngược lại, khi Slave truyền dữ liệu, các bit từ thanh ghi dịch của Slave được gửi tới Master qua đường MISO (Master Input Slave Output).

Giao thức SPI cho phép trao đổi dữ liệu hiệu quả giữa hai thanh ghi Master và Slave thông qua việc chuyển đổi và truyền tải thông tin Quá trình ghi và đọc dữ liệu diễn ra đồng thời, mang lại tốc độ truyền dữ liệu nhanh chóng Ngoài ra, giao thức này còn quy định thời điểm nhận dữ liệu giữa Master và Slave dựa trên hai bit CPOL (Clock Polarity) và CPHA (Clock Phase).

• CPOL = 0, xung SCK ở mức thấp khi không truyền dữ liệu, CPOL = 1 thì xung SCK ở mức cao khi nghỉ

• CPHA = 0, lấy dữ liệu khi xung SCK thay đổi trạng thái ở cạnh đầu tiên và ở cạnh thứ 2 khi CPHA = 1

Hình 2 7 Giản đồ xung clock SPI cho trường hợp CPHA = 0 và CPHA =1 c Ưu nhược điểm:

• Dữ liệu truyền liên tục và không gián đoạn trong lúc truyền, vì không cần tốn thời gian giải mã bit Start và bit Stop

• Hệ thống chỉ định địa chỉ đơn giản, không phức tạp

• Hai đường dây MOSI và MISO riêng biệt nên đồng thời nhận và truyền dữ liệu

• Tốc độ truyền dữ liệu nhanh

• Không thể nhận biết việc truyền thành công dữ liệu

• Không có kiểm tra tính toàn vẹn của dữ liệu

• Khoảng cách truyền nhận rất ngắn

Chuẩn giao tiếp I2C a Giới thiệu chung:

I2C (Inter-Integrated Circuit) là một chuẩn giao tiếp phổ biến trong ứng dụng điện tử, được sử dụng để kết nối vi mạch và thiết bị điện tử Được giới thiệu bởi Philips Semiconductors vào năm 1982, I2C nổi bật nhờ tính đơn giản, hiệu suất cao và tính linh hoạt trong thiết kế.

Giao tiếp I2C yêu cầu hai dây chính: SDA (Dây Dữ Liệu Chuỗi) và SCL (Dây Đồng Hồ Chuỗi) Dây SDA chuyên dùng để truyền dữ liệu giữa các thiết bị, trong khi dây SCL đảm nhiệm việc đồng bộ hóa tín hiệu trên dây SDA Một trong những ưu điểm nổi bật của I2C là khả năng kết nối nhiều thiết bị qua một đường dây truyền thông duy nhất Mỗi thiết bị trong hệ thống được gán một địa chỉ riêng, cho phép chúng giao tiếp hiệu quả thông qua đường dây chung.

I2C cung cấp các tốc độ truyền dữ liệu khác nhau, bao gồm các tốc độ tiêu chuẩn như

Chuẩn I2C hỗ trợ nhiều tốc độ truyền dữ liệu khác nhau, bao gồm 100 kbps và 400 kbps Ngoài ra, chuẩn này còn có các chế độ tốc độ nhanh (fast mode) với 1 Mbps và siêu nhanh (high-speed mode) lên đến 3.4 Mbps.

Chuẩn giao tiếp I2C, nhờ vào tính đơn giản và hiệu suất ổn định, đã trở thành phương pháp phổ biến trong việc kết nối và giao tiếp giữa các vi mạch và thiết bị điện tử Nó được ứng dụng rộng rãi trong các lĩnh vực như vi điều khiển, cảm biến, EEPROM (Bộ nhớ chỉ đọc có thể xóa điện tử) và nhiều thiết bị khác.

– Giao thức I2C sử dụng hai đường truyền tín hiệu:

• SCL - Serial Clock Line: Đây là đường truyền tín hiệu xung đồng hồ, được thiết bị chủ (Master) tạo ra để đồng bộ quá trình truyền dữ liệu

• SDA - Serial Data Line: Đây là đường truyền dữ liệu, được sử dụng để truyền và nhận các bit dữ liệu

– Giao tiếp I2C diễn ra giữa thiết bị chủ (Master) và thiết bị tớ (Slave)

Thiết bị chủ là vi điều khiển có nhiệm vụ điều khiển đường truyền SCL và thực hiện việc truyền/nhận dữ liệu hoặc lệnh qua đường SDA đến các thiết bị khác.

Các thiết bị tớ là những thiết bị nhận dữ liệu và lệnh từ thiết bị chủ, thường là các vi mạch tích hợp (IC) hoặc vi điều khiển.

Trong quá trình truyền nhận dữ liệu, nhiều thiết bị và IC được kết nối với nhau Mỗi thiết bị sẽ được gán một địa chỉ vật lý cố định, có độ dài 7 bit, để phân biệt giữa chúng.

Bit này xác định quá trình truyền hoặc nhận dữ liệu từ thiết bị Master Khi Master truyền dữ liệu, bit có giá trị '0', trong khi khi Master nhận dữ liệu, bit sẽ có giá trị '1'.

ACK là viết tắt của Acknowledged / Not Acknowledged, được dùng để so sánh địa chỉ của thiết bị với địa chỉ gửi tới Khi hai địa chỉ trùng khớp, thiết bị Slave sẽ phản hồi bằng bit '0'; nếu không trùng khớp, thiết bị Slave sẽ trả lời mặc định bằng bit '1'.

Khối bit dữ liệu bao gồm 8 bit địa chỉ truyền, được thiết lập bởi thiết bị gửi để gửi đến thiết bị nhận Sau khi gửi, một bit ACK/NACK sẽ được truyền để xác nhận việc nhận dữ liệu thành công hay không Nếu nhận thành công, bit ACK/NACK sẽ là '0', còn nếu không thành công, bit này sẽ có giá trị mặc định.

• Chỉ dùng 2 dây để giao tiếp

• Hỗ trợ nhiều thiết bị giao tiếp trên 1 bus

• Giao thức nổi tiếng, được sử dụng rộng rãi

• Tốc độ truyền chậm hơn SPI và UART

• Kích thước khung truyền bị giới hạn 8 bit

• Không truyền nhận đồng thời cùng một thời điểm như UART và SPI

Chuẩn giao tiếp UART a Giới thiệu chung:

UART (Universal Asynchronous Receiver - Transmitter) là một giao thức truyền thông phần cứng phổ biến, được sử dụng để thiết lập kết nối nối tiếp không đồng bộ và điều chỉnh tốc độ truyền dữ liệu hiệu quả.

Các vi điều khiển

ESP32 – D0WD – V3 là một SoC (System on Chip) do hãng Espressif sản xuất, lý tưởng cho nhiều ứng dụng IoT nhờ vào các tính năng mạnh mẽ như Wifi và Bluetooth Chip này được thiết kế trên công nghệ 40 nm với lõi Xtensa LX6, mở ra nhiều khả năng ứng dụng đa dạng cho người sử dụng.

– Bộ thu thập dữ liệu IoT công suất thấp

Và một số ứng dụng âm thanh khác…

Hình 2 8 ESP32 – D0WD – V3 SoC b Thông số kỹ thuật

– Tần số hoạt động: Lên tới 240 MHz

– Hỗ trợ các chuẩn 802.11b/g/n, tích hợp module không dây vào SoC như WiFi + BT + BLE SoC

– Lõi kiến trúc 32-bit Xtensa dual core

– 448 KB ROM, 520 KB SRAM và 8KB RTC

– Hỗ trợ giao tiếp UART/GPIO/ADC/PWM/I2C/I2S

– Tích hợp Wi-Fi MAC Bluetooth, hỗ trợ Ethernet thông qua giao diện Ethernet PHY

– Hỗ trợ nạp firmware qua mạng (Firmware Over The Air – FOTA)

– Nhiều chế độ ngủ, dòng tiêu thụ chế độ ngủ sâu dưới 10uA

Hình 2 9 Sơ đồ khối chức năng

TM32F103C8T6 là vi điều khiển thuộc họ STM32F1 của STMicroelectronics, sử dụng lõi ARM Cortex-M3 Chip này nổi bật với khả năng xử lý mạnh mẽ và được ứng dụng rộng rãi trong nhiều lĩnh vực công nghiệp cũng như các ứng dụng nhúng.

– Điều khiển thiết bị nhúng

– Hệ thống đo lường và điều khiển trong công nghiệp

STM32 có khả năng xử lý tín hiệu xuất sắc và hỗ trợ đa dạng các chuẩn giao tiếp như I2C, UART, và SPI, mở ra nhiều ứng dụng tiềm năng.

Hình 2 11 Hình ảnh STM32F103C8T6 b Thông số kỹ thuật

– Tần số hoạt động: Tối đa 72 MHz

– Lõi kiến trúc 32-bit ARM Cortex-M3 single core

– Hỗ trợ các chuẩn giao tiếp USART/I2C/SPI/USB/PWM/CAN

– Hỗ trợ ADC 12 bit (16 channels)

– Hỗ trợ giao diện debug JTAG và SWD

– Các chế độ hoạt động khác nhau (Sleep, Stop, Standby)

Hình 2 12 Kiểu chân của STM32F103C8T6

Hình 2 13 Sơ đồ khối của STM32F103C8T6 ESP8266 a Tổng quan

ESP8266 là vi xử lý Wi-Fi do Espressif phát triển, cung cấp giải pháp giao tiếp Wi-Fi cho thiết bị IoT Chip này nổi bật với kích thước nhỏ gọn và giá thành hợp lý, trở thành thành phần quan trọng trong lĩnh vực IoT ESP8266 tích hợp các mạch RF như balun, công tắc anten, bộ khuếch đại công suất TX và bộ lọc RX Với kiến trúc 32-bit MCU Tensilica L106, ESP8266 có khả năng xử lý dữ liệu mạnh mẽ.

Hình 2 14 Hình ảnh ESP8266 SoC b Thông số kỹ thuật

• Tần số hoạt động: 24 – 52 MHz

• Lõi kiến trúc 32-bit Tensilica L106

• Hỗ trợ các chuẩn giao tiếp UART/SDIO/SPI/I2C/I2S/IR Remote Control

• Hỗ trợ nạp firmware qua mạng (Firmware Over The Air – FOTA)

Hình 2 15 Sơ đồ khối chức năng của ESP8266

Hình 2 16 Sơ đồ chân của ESP8266

Giao thức HTTP

HTTP (Giao thức truyền tải siêu văn bản) là một giao thức quan trọng để truyền nhận dữ liệu Dữ liệu được truyền qua HTTP ở dạng văn bản thuần túy, không được mã hóa, dẫn đến nguy cơ bị nghe lén và đánh cắp thông tin.

Giao thức này được sử dụng phổ biến trong World Wide Web (WWW) để truyền tải dữ liệu giữa máy chủ và trình duyệt Web, sử dụng cổng 80 làm cổng chính cho việc giao tiếp.

Các mã lỗi của HTTP:

Khi người dùng sử dụng trình duyệt Web thường sẽ gặp các thông báo lỗi khác nhau như sau:

• Lỗi 404 hoặc HTTP 404: Đây là lỗi cho biết địa chỉ mà người dùng đang cố gắng truy cập không tồn tại trên máy chủ

Lỗi 401 xảy ra khi người dùng cố gắng truy cập vào một khu vực yêu cầu xác thực nhưng không có quyền truy cập hoặc thông tin đăng nhập không chính xác.

• Lỗi 500: Đây là lỗi thường xuất hiện khi máy chủ web đang truy cập gặp sự cố và không thể xử lý yêu cầu của người dùng

Các phương thức yêu cầu của HTTP: a GET:

Phương thức GET cho phép yêu cầu dữ liệu từ một nguồn chỉ định, nhưng dữ liệu gửi lên máy chủ là công khai và hiển thị trực tiếp trên URL Mặc dù có giới hạn khoảng 2000 ký tự cho số lượng dữ liệu gửi đi, việc truyền thông tin qua URL lại hỗ trợ cho việc đánh dấu trang và tối ưu hóa SEO.

Phương thức POST là cách gửi dữ liệu đến một nguồn cụ thể để xử lý, với thông tin không hiển thị công khai và không giới hạn về lượng dữ liệu gửi lên máy chủ Ngoài ra, POST còn cho phép tải lên file lên máy chủ.

Cảm biến

Cảm biến PMS7003 là thiết bị đo nồng độ hạt kỹ thuật số, chuyên dùng để đánh giá chất lượng không khí và theo dõi các hạt nhỏ có kích thước vài micromet Loại cảm biến này rất phổ biến trong các ứng dụng quan trắc môi trường và chất lượng không khí.

Cảm biến PMS7003 có những ưu điểm như:

– Tỷ lệ cảnh báo sai là 0

– Phản hồi thời gian thực

– Đường kớnh hạt bụi tối thiểu cú thể phõn biệt được: 0.3 àm

– Hiệu suất chống nhiễu cao

Hình 2 18 Bảng vẽ kích thước của cảm biến PMS7003

PIN 5 RESET Chân reset mức thấp

PIN 7 RX Chân nhận tín hiệu nối tiếp

(Serial Port Receiving Pin) PIN 8 NC

PIN 9 TX Chân gửi tín hiệu nối tiếp

(Serial Port Sending Pin) PIN 10 SET

Set mode (High level: Normal working mode, Low level: Sleeping mode)

Bảng 2 1 Bảng mô tả các chân cảm biến PMS7003

Cảm biến PMS7003 hoạt động dựa trên nguyên lý tán xạ ánh sáng, sử dụng nguồn laser để chiếu sáng vào mẫu không khí chứa bụi mịn Khi bụi mịn hấp thụ và phân tán ánh sáng, cảm biến sẽ đo lường và ghi nhận sự thay đổi trong mức độ phân tán này, từ đó ước tính lượng bụi mịn có trong không khí.

Cảm biến PMS7003 sử dụng công nghệ phân tán ánh sáng đa góc để đo kích thước và số lượng hạt bụi Thiết bị này tính toán kích thước và số lượng hạt bụi dựa vào sự thay đổi của ánh sáng phân tán ở các góc khác nhau.

Sau khi thu thập dữ liệu, cảm biến chuyển đổi thành giá trị số và gửi đến bộ xử lý để hiển thị kết quả đo Dữ liệu thường bao gồm kích thước và số lượng hạt bụi mịn trong các phạm vi như PM1.0, PM2.5 và PM10, được tính bằng microgram trên mỗi khối không khí (µg/m³).

– Hiệu quả đo: 50% với hạt cú kớch thước 0.3 àm

98% với hạt cú kớch thước ≥ 0.5 àm

Cảm biến SHT31 là thiết bị kỹ thuật số chất lượng cao dùng để đo độ ẩm và nhiệt độ không khí, được sản xuất bởi Sensirion, một công ty hàng đầu trong lĩnh vực cảm biến chất lượng không khí Với chuẩn giao tiếp I2C, kích thước nhỏ gọn và độ chính xác cao (sai lệch ±0.3 °C, ± 2 %RH), SHT31 được ứng dụng rộng rãi trong nhiều lĩnh vực môi trường khác nhau.

Một số ưu điểm của cảm biến SHT31:

• Độ tin cậy cao và ổn định lâu dài

• Khả năng xử lý cao

• Tỷ lệ tín hiệu so với nhiễu cao

• Hỗ trợ giao tiếp I2C lên tới 1MHz và 2 địa chỉ tùy chọn

Hình 2 20 Sơ đồ khối cảm biến SHT31

Hình 2 21 Hình ảnh mặt dưới của SHT31

Pin 1 SDA Dữ liệu vào/ra nối tiếp

Pin 3 ALERT Chân cảnh báo Pin 4 SCL Xung đồng hồ nối tiếp

Pin 5 VDD Chân cấp nguồn

Pin 6 nRESET Chân reset mức thấp Pin 7 R

Bảng 2 2 Bảng mô tả các chân cảm biến SHT31 a Nguyên lý hoạt động

Cảm biến SHT31 hoạt động dựa trên nguyên lý đo điện dung để xác định độ ẩm tương đối, với cấu tạo chính là một tụ điện có điện môi làm từ polyme Điện môi này có khả năng hấp thụ hoặc giải phóng nước tùy thuộc vào mức độ ẩm xung quanh, dẫn đến sự thay đổi trong hằng số điện môi và làm biến đổi điện dung của tụ điện Sự thay đổi này được đo lường thông qua một mạch điện tử Để thực hiện việc đo nhiệt độ, SHT31 sử dụng các bóng bán dẫn lưỡng cực.

Cảm biến SHT31 hỗ trợ giao tiếp I2C, cho phép kết nối với vi điều khiển qua các chân SCL và SDA Nó cung cấp hai chế độ đo là Single Shot và Period, đồng thời có thể cấu hình chế độ Clock Stretching để thực hiện đo trong chế độ đồng hồ kéo dài.

Dưới đây là địa chỉ cũng như một số thanh ghi quan trọng của cảm biến SHT31

Hình 2 22 Địa chỉ cảm biến SHT31

Hình 2 23 Thanh ghi lựa chọn chế độ lặp lại và đồng hồ kéo dài

Hình 2 24 Giao thức truyền dữ liệu của SHT31 b Thông số kỹ thuật

• Thang đo độ ẩm: 0 – 100% RH

• Sai lệch đo: 2 %RH và 0.3 °C

Cảm biến MQ-7 là thiết bị chuyên dụng để phát hiện và đo lường nồng độ khí CO (Carbon Monoxide) trong không khí Khí CO là một chất độc hại, không màu, không mùi và không vị, gây nguy hiểm cho sức khỏe con người mà không thể nhận biết bằng giác quan Do đó, cảm biến MQ-7 đóng vai trò quan trọng trong việc phát hiện khí CO, góp phần bảo vệ an toàn cho con người.

-33- đo lường nồng độ CO trong không khí và cảm biến này sẽ được áp dụng trong các ứng dụng như:

– Thiết bị dò khí gas rò rỉ gia dụng

– Máy dò CO công nghiệp

– Máy dò CO xách tay

MQ-7 có nhiều ưu điểm như:

• Độ nhạy với khí đốt cao trong phạm vi rộng

• Độ nhạy với khí thiên nhiên cao

• Mạch điều khiển đơn giản a Nguyên lý hoạt động

Hoạt động của cảm biến MQ-7 dựa trên sự thay đổi điện trở của chất liệu nhạy (SnO2) trong quá trình tương tác với khí CO (carbon monoxide)

Khi không khí sạch đi qua cảm biến, chất liệu nhạy có điện trở thấp Tuy nhiên, khi khí

Khi CO có mặt, nó tương tác với chất liệu nhạy SnO2, làm tăng điện trở của chất liệu theo nồng độ khí CO Để tối ưu hóa quá trình tương tác, cảm biến MQ-7 sử dụng phương pháp gia nhiệt ở hai nhiệt độ khác nhau Cụ thể, khi cảm biến được gia nhiệt với điện áp 1.5V ở nhiệt độ thấp, nó sẽ phát hiện khí CO, trong khi điện áp 5.0V sẽ kích hoạt quá trình gia nhiệt khác.

Nhiệt độ cao khoảng 34 độ sẽ làm sạch các khí đã được hấp thụ ở nhiệt độ thấp, giúp đảm bảo hiệu suất và độ nhạy của cảm biến Để chuyển đổi sự thay đổi điện trở của cảm biến MQ-7 thành tín hiệu tương ứng với nồng độ khí CO, cần sử dụng một mạch điện đơn giản để đo và chuyển đổi điện trở thành tín hiệu điện analog hoặc số Qua quá trình xử lý tín hiệu này, người dùng có thể xác định mức độ nồng độ khí CO trong môi trường.

• Điện áp hoạt động: 5VDC

• Công suất tiêu thụ: ≤ 350 mW

• Loại khí phát hiện: CO (Carbon Monoxide)

• Tín hiệu ngõ ra: Analog/Digital.

Các phần mềm sử dụng trong đề tài

Kicad là phần mềm mã nguồn mở, chuyên được dùng trong thiết kế mạch điện tử với nhiều tính năng nổi trội như:

• Giao diện thiết kế linh kiện, quản lý mạch và chỉnh sửa PCB phù hợp

• Hỗ trợ mạnh cho việc thiết kế tần số cao, đi dây vi sai dễ dàng

• Hệ thống thư viện tương đối phong phú và được hỗ trợ đa dạng

Lý do nhóm sử dụng phần mềm trực quan, có nhiều công cụ hỗ trợ chuyên nghiệp Đặc biệt nó là phần mềm hoàn toàn miễn phí [13]

Visual Studio Code là ứng dụng biên tập mã nguồn đa nền tảng, hỗ trợ viết code hiệu quả Tích hợp Git trong Visual Studio Code giúp việc quản lý và chỉnh sửa mã cho các dự án lớn trở nên đơn giản hơn Ứng dụng còn cung cấp gợi ý từ, hỗ trợ hàm function, sửa lỗi cú pháp và sở hữu một cộng đồng người dùng đông đảo.

Hình 2 27 Visual Studio Code ESP-IDF

ESP-IDF là framework chính thức của Espressif để phát triển ứng dụng IoT cho các dòng SoC như ESP32, ESP32-S và ESP32-C Framework này cung cấp đầy đủ các tính năng cần thiết cho việc thiết kế ứng dụng bằng ngôn ngữ C và C++.

Nhóm đã chọn ESP-IDF để lập trình cho vi điều khiển ESP32-C3 vì phần mềm này được nhà sản xuất hỗ trợ tốt về tài liệu và chương trình mẫu, giúp người dùng hiểu sâu hơn về các lớp thư viện so với việc sử dụng Arduino IDE, từ đó giảm thiểu các sai sót không mong muốn.

Hình 2 28 Espressif IoT Development Framwork

STM32CubeIDE là nền tảng phát triển C/C++ hiện đại cho vi điều khiển và vi xử lý STM32, sử dụng khung Eclipse®/CDT™ và công cụ GCC Nền tảng này cung cấp tính năng cấu hình ngoại vi, tạo mã, biên dịch và gỡ lỗi, đồng thời hỗ trợ tích hợp hàng trăm plugin để nâng cao hiệu suất của Eclipse® IDE.

STM32CubeIDE là môi trường phát triển C/C++ tiên tiến cho vi điều khiển và vi xử lý STM32, được xây dựng trên nền tảng Eclipse®/CDT™ và sử dụng công cụ GCC và GDB Với tính năng tích hợp cấu hình ngoại vi và tạo dự án từ STM32CubeMX, STM32CubeIDE giúp tiết kiệm thời gian cài đặt và phát triển Người dùng có thể dễ dàng tạo dự án và mã khởi tạo sau khi chọn vi điều khiển STM32 từ bảng hoặc ví dụ Bên cạnh đó, STM32CubeIDE còn cung cấp các tính năng sửa lỗi tiêu chuẩn và nâng cao, bao gồm theo dõi các thanh ghi CPU, bộ nhớ, thanh ghi ngoại vi, cũng như theo dõi biến số trực tiếp và giao diện xem dây nối tiếp hoặc bộ phân tích lỗi.

THIẾT KẾ HỆ THỐNG

Yêu cầu hệ thống

Hệ thống phải đảm bảo một số yêu cầu sau đây:

• Hệ thống có thể truyền nhận với bán kính trên 1000m (1000 – 2000 m)

• Hệ thống cho phép người dùng cài đặt thông số tù xa

• Hệ thống phải có tính linh hoạt tương đối cao a Về phần cứng

Dựa trên yêu cầu và khả năng của nhóm, chúng tôi đã chọn Module Ra-02 để truyền dữ liệu với khoảng cách vượt quá 1000m Ngoài ra, Module RA-02 còn mang lại nhiều lợi ích nổi bật mà các module RF cùng phân khúc giá không có.

• Cho phép người dùng tuỳ chỉnh được công suất truyền phát, tỷ lệ mã hoá dữ liệu, CRC,

• Có khả năng điều chỉnh băng thông, băng tần và nhiều thông số quan trọng khác

Hình 3 1 Sơ đồ khối phần cứng của mạch Node

Mạch Node cần đo các thông số như nhiệt độ, độ ẩm, bụi mịn PM2.5 và nồng độ khí CO Đồng thời, mạch phải có khả năng truyền dữ liệu qua LoRa và sử dụng một màn hình LCD 16X2 để hiển thị các thông số này.

Từ yêu cầu trên, nhóm quyết định sử dụng 2 MCU ESP8266 và STM32F103C8T6 cho các nhiệm vụ khác nhau như sau:

• ESP8266 chuyên nhận dữ liệu từ STM32F103C8T6 và truyền dữ liệu đó về Gateway qua LoRa Bên cạnh đó, ESP8266 có khả năng phát Access Point tạo

Web Server, giúp quá trình CONFIG mạch được diễn ra từ xa và linh hoạt Tuy nhiên, ESP8266 không đủ chân để kết nối với các cảm biến

STM32F103C8T6 có phần cứng mạnh mẽ, lý tưởng cho việc phân luồng dữ liệu cảm biến và hiển thị trên LCD Ngoài ra, nó cũng thực hiện việc đóng gói dữ liệu để gửi cho ESP8266.

Hình 3 2 Sơ đồ khối phần cứng của Gateway

Gateway cần tiếp nhận và quản lý dữ liệu từ các Node gửi đến, đồng thời phải ghi nhớ thời gian ngay cả khi hệ thống bị mất điện Ngoài ra, cần có một màn hình LCD để hiển thị các thông số quan trọng.

Nhóm đã quyết định sử dụng MCU ESP32 để giao tiếp với các thiết bị ngoại vi RA-02, DS3231 và LCD 16X2 Khi được cấp nguồn, Node sẽ phát ra Access Point cho phép người dùng tương tác qua WebServer Người dùng có thể nhập các mốc thời gian và giá trị cảm biến cần cập nhật Gói tin chứa thông tin này sẽ được Node gửi đến Gateway qua mạng LoRa Dựa vào mốc thời gian và loại cảm biến trong gói tin, Gateway sẽ gửi yêu cầu để nhận giá trị cảm biến theo từng thời điểm, và các giá trị cảm biến sau đó sẽ được POST lên Server.

Hình 3 3 Sơ đồ trình tự giao tiếp giữa người dùng – Node – Gateway

Thiết kế phần cứng

Sơ đồ nguyên lý a Node:

Hình 3 4 Sơ đồ nguyên lý nguồn của mạch Node

Mạch Node sử dụng MCU ESP8266 và STM32F103C8T6 hoạt động ở điện áp 3.3V, trong khi cảm biến PMS7003 và MQ-7 yêu cầu điện áp 5V Để tối ưu chi phí thiết kế, nhóm đã chọn nguồn Adapter 5VDC 2A, sử dụng Jack DC và IC ổn áp AMS1117-3.3 cho mạch.

Hình 3 5 Sơ đồ nguyên lý mạch ESP8266

Mạch Node được thiết kế dựa trên SOC ESP8266, tích hợp thêm các thành phần như thạch anh 25MHz và anten mà các module thông thường không có Để giảm thiểu nhiễu trước khi tín hiệu vào chân vi xử lý, nhóm đã sử dụng các tụ điện 1uF và 100nF.

Hình 3 6 Sơ đồ nguyên lý mạch STM32F103C8T6

STM32F103C8T6 sử dụng 2 thạch anh: 1 thạch anh tần số cao và 1 thạch anh tần số thấp Để ổn định thạch anh, nhóm đã sử dụng thêm tụ lọc 22pF

Ngoài ra, nhóm sử dụng 4 tụ lọc bypass 100nF để lọc nhiễu và đảm bảo vi xử lý hoạt động 1 cách ổn định

Hình 3 7 Sơ đồ nguyên lý Module LoRa

Module RA-02 AI-Thinker được trang bị ic thu phát RF SX1278, cho phép dễ dàng sử dụng Để đảm bảo module hoạt động ổn định, chỉ cần thêm 2 tụ bypass 100nF và 1uF để lọc nguồn.

Module giao tiếp bằng chuẩn giao tiếp SPI, thêm 1 chân Reset và 1 chân ngắt

Hình 3 8 Sơ đồ nguyên lý cụm cảm biến

Cảm biến SHT31 sử dụng chuẩn giao tiếp I2C, hoạt động ở mức điện áp 3.3V

Cảm biến PMS7003 hoạt động với chuẩn giao tiếp UART và điện áp 5V Đối với cảm biến MQ-7, tín hiệu trả về cho vi xử lý là tín hiệu Analog, nhưng do nguồn vào là xung 5V, nhóm đã sử dụng thêm một BJT để tạo xung cho MQ-7.

Hình 3 9 Sơ đồ nguyên lý 74HC595 và LCD 16X2

Mạch LCD 16x2 hoạt động ở chế độ 4 bit, cho phép điều khiển chỉ 7 chân tín hiệu Để tối ưu hóa số chân kết nối với vi xử lý, nhóm đã sử dụng IC dịch Bit 74HC595 để kết nối với LCD.

IC 74HC595 giao tiếp qua 4 đường tín hiệu:

• DATA: Đưa dữ liệu vào 74HC595

• ST: Chân chốt dữ liệu

• OE: Cho phép hoạt động b Gateway

Hình 3 10 Sơ đồ nguyên lý nguồn của mạch GateWay

ESP32 hoạt động với điện áp 3.3V, trong khi đó, LCD 16x2 yêu cầu điện áp 5V Do đó, khối nguồn được thiết kế tương tự như khối nguồn của mạch Node để đảm bảo hoạt động ổn định cho cả hai thiết bị.

Nhóm sử dụng diode zener 3.3V kết hợp với cụm tụ bypass để lọc nguồn, đảm bảo ESP32 hoạt động ổn định Ngoài ra, các bus dây của chuẩn giao tiếp SPI, I2C, UART cũng được thiết lập để hỗ trợ giao tiếp với các module ngoại vi.

Hình 3 11 Sơ đồ nguyên lý Module LoRa của mạch GateWay

Khối LoRa được thiết kế tương tự như khối LoRa của mạch Node

Hình 3 12 Sơ đồ nguyên lý PCF8574 và LCD 16X2

Khối LCD được cải tiến so với board Node nhờ vào IC mở rộng Port PCF8574, cho phép giao tiếp hiệu quả với màn hình LCD kích thước 16x2 Thiết kế này không chỉ giúp hiển thị các nội dung cần thiết mà còn giảm kích thước tổng thể của board Node Đặc biệt, nhóm cũng thiết kế biến trở đi kèm, giúp người dùng điều chỉnh độ sáng của màn hình một cách linh hoạt.

Để giao tiếp với LCD, PCF8574 yêu cầu nguồn 5V Do đó, nhóm đã thiết kế mạch chuyển mức logic 3.3V sang 5V bằng cách sử dụng hai Mosfet kênh N, nhằm cho phép ESP32 giao tiếp hiệu quả với PCF8574.

Hình 3 13 Sơ đồ nguyên lý DS3231

Mạch GateWay cần duy trì lưu trữ thời gian ngay cả khi mất nguồn Để thực hiện điều này, nhóm đã sử dụng IC DS3231 kết hợp với pin CMOS 3.3V, cho phép đếm và lưu trữ thời gian trong trường hợp mất điện.

Hình 3 14 Lớp Top của mạch Node

Hình 3 15 Lớp Bottom của mạch Node

Hình 3 16 Các đường mạch của mạch Node

Hình 3 17 Lớp Top của mạch cảm sbiến

Hình 3 18 Lớp Bottom của mạch cảm biến

Hình 3 19 Lớp Top của mạch GateWay

Hình 3 20 Lớp Bottom của mạch GateWay

Hình 3 21 Các đường mạch của mạch GateWay

Hình 3 22 Hình ảnh 3D của mạch GateWay

Thiết kế phần mềm

– Mạch Node sử dụng 2 MCU (ESP8266 và STM32F103C8T6) giao tiếp với nhau qua chuẩn UART với vai trò từng MCU đảm nhiệm nhiệm vụ như sau:

• Giao tiếp Module LoRa qua chuẩn giao tiếp SPI

• Thực hiện các tác vụ liên quan đến WiFi

• Thực hiện các tác vụ giao tiếp WEB API, HTTP để Post dữ liệu lên Server – Đối với STM32F103C8T6

• Giao tiếp với 3 cảm biến: SHT31, PMS7003 và MQ-7

• Đóng gói dữ liệu và truyền dữ liệu cảm biến cho ESP8266 b Chương trình của MCU ESP8266

Khởi tạo chương trình bao gồm các việc như sau:

– Khởi tạo bộ SPI cho Module LoRa, cấu hình chân ngắt và chân reset, cấu hình chế độ, các thông số cho Module và cấu hình khung dữ liệu

– Khởi tạo EEPROM để lưu các thông tin của Node đo và thông tin WiFi

– Khởi tạo bộ đếm và bộ cờ để phân luồng chương trình gồm các cờ như sau:

• Cờ báo trạng thái WiFi

• Cờ báo trạng thái truyền nhận LoRa

• Cờ phân luồng chương trình

• Cờ báo trạng thái gói tin

Sau khi khởi tạo, chương trình sẽ được chạy theo lưu đồ giải thuật sau:

Hình 3 23 Lưu đồ chương trinh mạch Node

Sau khi khởi tạo chương trình kiểm tra bộ nhớ EEPROM, nếu bộ nhớ chưa có dữ liệu, điều này cho thấy mạch chưa được khởi tạo lần đầu và sẽ tiến hành chạy chương trình khởi tạo Ngược lại, nếu bộ nhớ đã có dữ liệu, chương trình sẽ lấy dữ liệu cài đặt từ EEPROM để thiết lập LoRa Khi quá trình thiết lập LoRa thành công, chương trình sẽ nhận gói tin dữ liệu cảm biến từ STM32F103C8T6 và chờ gói tin yêu cầu dữ liệu từ GateWay, sau đó sẽ gửi trả lại dữ liệu khi được yêu cầu.

Hình 3 24 Lưu đồ chương trình cài đặt lần đầu

Chương trình cài đặt ban đầu khởi tạo Web Server để người dùng có thể truy cập Tiếp theo, chương trình phát Acess Point với địa chỉ IP 169.1.9.1 Nó cũng kiểm tra thông tin nhập vào trong ô TEXT BOX và nếu có dữ liệu, chương trình sẽ lưu trữ vào EEPROM.

Hình 3 25 Lưu đồ chương trình CONFIG LORA

Chương trình thiết lập LoRa sẽ phát gói tin cài đặt qua LoRa và chờ đợi phản hồi từ GateWay c Chương trình của MCU STM32F103C8T6

Khởi tạo chương trình gồm các việc như sau:

– Khởi tạo GPIO để đọc tín hiệu ANALOG của cảm biến MQ-7

– Khởi tạo các chân UART cho cảm biến PMS7003

– Khởi tạo các chân I2C cho cảm biến SHT31

– Khởi tạo chân cho IC 74HC595 để điều khiển LCD 16x2

– Khởi tạo bộ đếm và bộ cờ để phân luồng chương trình gồm các cờ như sau:

• Cờ quản lý trạng thái các cảm biến

• Cờ quản lý GUI của LCD

• Cờ quản lý phân luồng chương trình

Sau khi khởi tạo, chương trình sẽ được chạy theo lưu đồ giải thuật sau:

Hình 3 26 Lưu đồ chương trình STM32F103C8T6

Sau khi khởi tạo, chương trình chính sẽ lần lượt đọc 3 cảm biến để thu thập 4 giá trị dữ liệu Các giá trị này được lưu trữ trong một mảng một chiều gồm 4 phần tử và sau đó được gửi lần lượt cho ESP8266.

Gateway a Chương trình truyền nhận dữ liệu qua Lora

Hình 3 27 Lưu đồ task truyền nhận dữ liệu qua LoRa

Chương trình thực hiện truyền nhận dữ liệu qua LoRa bắt đầu bằng cách kích hoạt chế độ lắng nghe (mode lora_receive) để module LoRa có thể nhận gói tin Gói tin nhận được sẽ được gửi vào hàng đợi Queue1 cho nhiệm vụ tiếp theo Sau đó, chương trình chuyển sang chế độ gửi, kiểm tra xem Queue2 có tin nhắn nào sẵn có hay không; nếu có, nó sẽ tiến hành gửi tin nhắn qua LoRa Việc kết hợp chế độ nhận và gửi trong một nhiệm vụ giúp đảm bảo module LoRa chuyển đổi giữa các chế độ một cách tuần tự, tránh xung đột.

-57- b Chương trình truyền nhận dữ liệu trong Queue

Hình 3 28 Lưu đồ task truyền nhận dữ liệu trong Queue

Dữ liệu từ Lora được gửi vào Queue nhằm đảm bảo tốc độ truyền nhận qua LoRa, vì Queue thuộc hệ điều hành RTOS Việc truyền hoặc nhận tin nhắn từ Queue diễn ra ngay lập tức khi có dữ liệu Đầu tiên, cần kiểm tra các bit trong EventGroup EVT_Lora để xác định xem có khác ‘0’ hay không, điều này cho thấy gói tin cấu hình thiết bị của bo Node đã được nhận.

-58- xử lý thành công Nếu bit tương ứng khác 0 thì tiến hành gửi chuỗi xác nhận tương ứng vào Queue2

Tiếp theo, kiểm tra xem các cờ thời gian 7, 10, 30, 60 và 180 giây đã được kích hoạt hay chưa, sau đó gửi yêu cầu giá trị cảm biến tương ứng Dữ liệu nhận từ LoRa đã được lưu vào Queue1, do đó, chỉ cần lấy dữ liệu từ Queue1 và chuyển vào chương trình con xử lý chuỗi.

Hình 3 29 Lưu đồ chương trình con xử lý chuỗi

Sau khi Gateway nhận được các gói tin của LoRa và gửi vào Queue1, chúng sẽ được chuyển đến chương trình xử lý chuỗi Quá trình xử lý chuỗi này sẽ được thực hiện theo các bước đã định sẵn.

Nhóm quy định gói tin cho việc cấu hình thiết bị Node sẽ có dạng:

“CONFIG/MAC/CB1:GT1/CB2:GT2/CB3:GT3/CB4:GT4” Với:

• CONFIG là chuỗi nhận biết nội dung gói tin dùng để cấu hình thời gian yêu cầu giá trị cảm biến

• MAC là địa chỉ vật lý của thiết bị Node gồm 12 ký tự

• CB1, CB2… là tên viết tắt của cảm biến (Nhiệt độ: ND; độ ẩm: DA; Bụi mịn:

• GT1, GT2… là giá trị thời gian kiểu số nguyên để thực hiện yêu cầu trả về giá trị cảm biến được gửi Gateway cho Node tương ứng

Nhóm quy định gói tin trả về giá trị cảm biến có dạng:

“VALUE/MAC/CB1:GT1/CB2:GT2/CB3:GT3/CB4:GT4” Với:

• VALUE là chuỗi nhận biết nội dung gói tin là giá trị trả cảm biến được gửi đi từ thiết bị Node

• MAC là địa chỉ vật lý của thiết bị Node gồm 12 ký tự

• CB1, CB2… là tên viết tắt của cảm biến (Nhiệt độ: ND; độ ẩm: DA; Bụi mịn:

• GT1, GT2… là giá trị cảm biến kiểu số thực có 2 chữ số thập phân

Với 2 gói tin trả về có dạng như trên, chương trình sẽ xử lý theo trình tự và bằng cách: – Hàm StringHandle_Token1: Tách các thông số tương ứng sau mỗi dấu “/” Các chuỗi nằm trước ký tự này sẽ được lưu vào một mảng Parameter 2 chiều tối đa

Bài viết này mô tả cấu trúc dữ liệu với 10 hàng và 15 phần tử cho mỗi hàng Parameter[0] là mảng ký tự giúp nhận diện nội dung chuỗi thuộc gói tin CONFIG hoặc VALUE Parameter[1] chứa thông tin địa chỉ vật lý của Node, trong khi các Parameter[3], Parameter[4] và các Parameter tiếp theo lưu trữ chuỗi thời gian yêu cầu trả về giá trị cảm biến Đối với mỗi Parameter, biến đếm MaxRow sẽ tăng lên 1.

Khởi tạo biến i với giá trị 2 và kiểm tra điều kiện i < MaxRow, nếu đúng sẽ thực hiện hàm StringHandle_Token2 và tăng giá trị của i lên 1 Chương trình này có chức năng tách các giá trị GT1, GT2… và lưu trữ tạm thời vào một biến nhớ.

Hàm TakeValue chuyển đổi giá trị từ kiểu mảng ký tự sang kiểu số thực cho các cảm biến CB1, CB2 trong hệ thống Đồng thời, hàm GetConfigPackage và GetValuePackage kiểm tra Parameter[0]; nếu thuộc VALUE, chúng sẽ lưu giá trị cảm biến vào bộ nhớ tương ứng.

CONFIG sẽ lưu trữ giá trị thời gian vào bộ nhớ tương ứng và sau đó kiểm tra xem địa chỉ MAC thuộc về Node nào Tiếp theo, nó sẽ sao chép giá trị được lấy từ hàm TakeValue Chương trình thực hiện các tác vụ chung một cách hiệu quả.

Hình 3 30 Chương trình xử lý các tác vụ chung

Trong Task_Common, có các chương trình con như lưu trữ thông tin cấu hình của Node vào bộ nhớ Flash, xử lý chuỗi, hiển thị LCD và gửi dữ liệu cảm biến Task_Common được khởi tạo với mức ưu tiên thấp hơn so với Task_Lora và Task_Queue, trong đó Task_Lora được ưu tiên cao hơn để luôn lắng nghe gói tin, còn Task_Queue hoạt động khi Task_Lora không có dữ liệu truyền Do đó, Task_Common sẽ được thực thi trong khoảng thời gian nghỉ của hai Task này.

Sau khi hoàn tất xử lý dữ liệu, thông tin cấu hình của bo Node sẽ được lưu vào bộ nhớ Flash Tiếp theo, hệ thống sẽ phân tích, xử lý và hiển thị số đuôi của mã MAC trên LCD để xác nhận việc cấu hình thành công Hai quy trình này được thực hiện khi nhận được gói tin cấu hình qua truyền gửi LoRa hoặc khi chương trình được reset, đảm bảo rằng cấu hình không bị mất trong trường hợp mất điện hoặc reset hệ thống.

Khi Flag7s được kích hoạt, hệ thống sẽ kiểm tra xem có dữ liệu từ cảm biến hay không Nếu có dữ liệu, nó sẽ thực hiện việc gửi (POST) dữ liệu lên máy chủ và sau đó gán giá trị của cảm biến thành NULL.

Chương trình chính có nhiệm vụ khởi tạo môi trường và các điều kiện cần thiết để các Task và các chương trình khác có thể thực hiện được

KẾT QUẢ

Kết quả phần cứng

Kết quả phần cứng của nhóm sau khi đã thi công gồm mạch Gateway và Node

Hình 4 2 Mặt trước của mạch Node

Hình 4 3 Mặt sau của mạch Node

Kết quả phần mềm

Gateway giao tiếp hiệu quả với các thiết bị Node, hiển thị ID của Node trên màn hình LCD Gateway yêu cầu và nhận thành công các giá trị cảm biến từ Node.

Hình 4 4 Các Node được kết nối thành công vào mạng LoRa

Hình 4 5 Gateway nhận gói tin cấu hình từ Node

Hình 4 6 Gateway nhận các giá trị cảm biến trả về từ các Node

Hình 4 7 POST dữ liệu cảm biến lên Server b Node

Node hiển thị trạng thái kết nối Wi-Fi và cấu hình mạng LoRa, đồng thời giao tiếp với các cảm biến để hiển thị giá trị đo được trên màn hình.

Hình 4 8 Giao diện LCD mạch Node

Hình 4 9 Giao diện hiển thị giá trị nhiệt độ, độ ẩm của mạch Node

Hình 4 10 Giao diện hiển thị bụi mịn PM2.5, nồng độ khí CO của mạch Node c Giao diện hiển thị

Nhóm đã thực hiện POST giá trị cảm biến lên server Sử dụng giao diện app IoTVision để hiển thị giá trị cảm biến giữa các Node

Hình 4 11 Giao diện app IoTVision của Node 480F và C477

4.3 Thực nghiệm độ chính xác của thiết bị với máy đo trên thị trường Để thực hiện quá trình thực nghiệm, nhóm đã mua một thiết bị đo trên thị trường có giá khoảng 1 triệu đồng Thiết bị này có khả năng đo được 3 thông số: Nhiệt độ, độ ẩm và chỉ số bụi mịn PM2.5 Vì kinh phí làm thực hiện không quá lớn, cùng với sự đắt đỏ các của các máy đo đạt tiêu chuẩn Vì vậy, nhóm không thể mua được máy đạt tiêu chuẩn để kiểm định và không kiểm định được độ chính xác của thông số nồng độ khí CO

Nhóm thực hiện lắp đặt 4 Node đo gần thiết bị đo trên thị trường Mỗi 10 phút, nhóm tiến hành lấy mẫu và ghi lại giá trị vào Excel Kết quả kiểm tra trong 1 giờ được tổng hợp trong bảng Excel như sau:

Bảng 4 1 Mẫu giá trị cảm biến của máy đo Fujie

Bảng 4 2 Mẫu giá trị cảm biến của Node 1

Bảng 4 3 Mẫu giá trị cảm biến của Node 2

Bảng 4 4 Mẫu giá trị cảm biến của Node 3

Bảng 4 5 Mẫu giá trị cảm biến của Node 4 Nhận xét:

Vào khoảng thời gian từ 10h20 đến 11h20, các máy đo ghi nhận sự tăng nhiệt độ và giảm độ ẩm, đặc biệt là khi gần đến trưa.

– 4 Node đo có giá trị tương đồng với nhau Sai số dưới 5%

Giá trị đo được giữa 4 Node và máy đo thị trường có sự chênh lệch đáng kể lên tới 8% Mặc dù vậy, nhóm nghiên cứu vẫn chưa thể xác định thiết bị nào đạt tiêu chuẩn đo lường tốt hơn.

4.4 Thực nghiệm độ ổn định của hệ thống với khoảng cách trên 1000m Để kiểm tra độ ổn định của hệ thống với khoảng cách xa, nhóm đã thi công 4 thiết bị Node và đặt tại các vị trí theo trên bản đồ và tiến hành chạy thử nghiệm Tổng phạm vi thử nghiệm là 2,69 km 2 Thời gian thử nghiệm trong vòng 30 phút Nhóm đã đặt bộ Gateway trên sân thượng tại tòa nhà Viện Sư phạm Kỹ thuật, phần ăng-ten được đặt ở trên đỉnh tòa nhà Các Node được triển khai xung quanh trong khu vực với khoảng cách Node – Gateway lớn hơn 1000m

Hình 4 13 Phạm vi thử nghiệm đạt 2,69 km 2 đo theo Google Map

Hình 4 14 Phạm vi truyền nhận đo theo bản đồ vệ tinh

Hình 4 15 Khoảng cách từ Gateway đến các Node đo theo Google Map

Hình 4 16 Giá trị cảm biến của các Node tại các vị trí được đánh dấu trên bản đồ

Hình 4 17 Giá trị cảm biến của các Node được hiển thị trên app

Trong quá trình theo dõi từ màn hình monitor của Gateway, nhóm nhận thấy rằng việc truyền nhận dữ liệu qua mạng Lora diễn ra tương đối ổn định Tuy nhiên, ở những khu vực có mật độ vật cản cao như khu dân cư và nhà cao tầng, vẫn xảy ra tình trạng không nhận được dữ liệu Trong 30 phút thử nghiệm, thời gian yêu cầu trả về giá trị cảm biến với chu kỳ

Tại điểm đặt Node 2 – C477, tỷ lệ nhận được là 89,36% với thời gian 5 giây và 10 giây Node 1 – 5348 có tỷ lệ nhận được cao nhất là 95,74% Node 3 - 07BC ghi nhận tỷ lệ 90,42%, trong khi Node 4 – 480F đạt tỷ lệ 92,34%.

Node - ID Số lần Gateway gửi yêu cầu trả về giá trị cảm biến

Số lần nhận dữ liệu thành công

Hình 4 18 Bảng liệt kê số lần truyền nhận thành công

Trong những khu vực có mật độ vật cản cao như khu dân cư đông đúc, tòa nhà cao tầng và khu công nghệ, việc giao tiếp giữa Node và Gateway trở nên khó khăn hoặc không thể thực hiện được Nhóm nghiên cứu đã tiến hành thử nghiệm và xác định một số vị trí cụ thể, được đánh dấu bằng các vùng tròn màu đỏ, nơi mà Node và Gateway không thể kết nối với nhau.

Hình 4 19 Những vị trí không thể truyền nhận do mật độ vật cản cao

4.5 Thực nghiệm tính linh hoạt của hệ thống

Giao thức truyền nhận không dây của nhóm đã tham khảo một số giao thức phổ biến như LoRaWAN, nhưng được thiết kế tinh gọn hơn để phù hợp với sức mạnh phần cứng của nhóm Mặc dù điều này có thể dẫn đến việc giảm thiểu bảo mật và tính đa năng so với tiêu chuẩn LoRaWAN, giao thức tối giản của nhóm vẫn hoạt động hiệu quả và đáp ứng đầy đủ các yêu cầu của đồ án và phạm vi đề tài.

Node đo có khả năng thay đổi thời gian lấy mẫu linh hoạt với 5 mức thời gian khác nhau (5s, 10s, 30s, 60s, 180s), cho phép người dùng tùy chỉnh theo nhu cầu mà không cần phải lập trình lại bất kỳ thành phần nào trong hệ thống.

– Có khả năng thêm thiết bị Node vào hệ thống mà không cần lập trình lại bất cứ thành phần nào trong hệ thống

Các bước thêm thiết bị mới vào hệ thống được thực hiện như sau:

• Bước 1: Cấp nguồn cho mạch Node Đợi 10s, ta sử dụng SmartPhone kết nối vào WiFi do chính Node đó phát ra

Hình 4 20 Kết nối Access Point của mạch Node

• Bước 2: Sử dụng trình duyệt Web truy cập vào địa chỉ: “192.168.9.1”

Hình 4 21 Truy cập vào Web Server của mạch Node

• Bước 3: Nhập chuỗi CONFIG LORA vào text box

Thời gian lấy mẫu cho các chỉ số môi trường được quy định như sau: nhiệt độ là 5 giây, độ ẩm là 10 giây, bụi PM2.5 là 30 giây, và nồng độ CO là 10 giây.

Hình 4 22 Nhập chuỗi CONFIG LORA

Để hoàn tất quá trình thêm thiết bị mới vào hệ thống, bạn chỉ cần nhấn nút “Lưu” và chờ trong khoảng 10 giây để thiết bị khởi động lại.

Các bước thay đổi tần số lấy mẫu khi thiết bị đang chạy:

• Bước 1: Ta sử dụng SmartPhone kết nối vào WiFi do chính Node đó phát ra

• Bước 2: Sử dụng trình duyệt Web truy cập vào địa chỉ: “192.168.9.1”

• Bước 3: Nhập chuỗi CONFIG LORA mới

Để hoàn tất quá trình thay đổi tần số lấy mẫu khi thiết bị đang chạy, bạn chỉ cần nhấn nút “Lưu” và đợi khoảng 10 giây cho quá trình khởi động lại thiết bị hoàn tất.

Ngày đăng: 28/12/2023, 18:50

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w