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

(Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo

95 6 0

Đ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 đề Tối Ưu Hóa Hệ Thống Thu Thập, Giám Sát Và Điều Khiển Nhà Thông Minh Dùng Giải Thuật Dự Báo
Tác giả Trần Ngọc Đoàn
Người hướng dẫn TS. Vũ Quang Huy
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 Kỹ Thuật Điện Tử
Thể loại luận văn thạc sĩ
Năm xuất bản 2015
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 95
Dung lượng 5,5 MB

Cấu trúc

  • CHƯƠNG 1 TỔNG QUAN (18)
    • 1.1. Tổng quan về hướng nghiên cứu (18)
    • 1.2. Tính cấp thiết của khoa học đề tài (22)
    • 1.3. Mục đích nghiên cứu, khách thể và đối tượng nghiên cứu (22)
    • 1.4. Nhiệm vụ nghiên cứu và giới hạn đề tài (22)
    • 1.5. Phương pháp nghiên cứu (22)
  • CHƯƠNG 2 CƠ SỞ LÝ THUYẾT (24)
    • 2.1. Thuật toán Learning Machine (24)
    • 2.2. Internet of Thing (IoT) (33)
    • 2.3. Mã nguồn mở openHab (35)
    • 2.4. MQTT (36)
    • 2.5. Cơ sở dữ liệu MySql (38)
    • 2.6. Kết hợp Matlab để xử lý cho Internet of Thing trong Smarthome (38)
    • 2.7. Tóm tắt chương (42)
  • CHƯƠNG 3 XÂY DỰNG MÔ HÌNH (44)
    • 3.1. Mô hình nhà thông minh (44)
    • 3.2. Giải thuật cho từng thiết hệ thống (45)
    • 3.3. Xây dựng hệ thống Mạng cảm biến không dây WSN với Vi điều khiển (48)
    • 3.4. Tóm tắt chương (52)
  • CHƯƠNG 4 MÔ HÌNH THỰC NGHIỆM (53)
    • 4.1. Giới thiệu mô hình (53)
    • 4.2. Hoạt động (57)
    • 4.3. Kết quả đạt được (65)
  • CHƯƠNG 5 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (66)
    • 5.1. KẾT LUẬN (66)
    • 5.2. HƯỚNG PHÁT TRIỂN (67)
  • TÀI LIỆU THAM KHẢO (68)
  • PHỤ LỤC (71)

Nội dung

TỔNG QUAN

Tổng quan về hướng nghiên cứu

Nhà thông minh đang ngày càng phát triển cả trong nước và quốc tế, nhờ vào sự tiến bộ của công nghệ điện tử và mạng máy tính Điều này giúp con người dễ dàng áp dụng các công nghệ mới vào không gian sống của mình.

Công nghệ "Internet of Things" đã tạo ra khả năng kết nối mọi thiết bị như cảm biến, thiết bị giám sát và truyền hình, giúp con người và thiết bị giao tiếp dễ dàng hơn Theo khảo sát và thống kê của Cisco, điều này mang lại nhiều lợi ích cho cuộc sống hàng ngày.

Theo báo cáo của Internet World Stats, vào năm 2013, có khoảng 10 tỷ thiết bị và khoảng 7,14 tỷ người kết nối với Internet Dự báo đến năm 2020, số lượng thiết bị kết nối Internet sẽ tăng lên khoảng 50 tỷ.

Trong luận văn này, mô hình giả lập nhà thông minh được phát triển dựa trên công nghệ Wireless Sensor Network với nhiều nút trạm (client node) để thu thập dữ liệu từ toàn bộ ngôi nhà Dữ liệu này được truyền về vi xử lý trung tâm (master node) và lưu trữ trên máy chủ MySQL, đồng thời hiển thị trên giao diện web cho người dùng Hệ thống thiết lập các cảnh báo tương ứng với ngưỡng nhất định, thông báo cho người dùng qua ánh sáng, âm thanh và dịch vụ mail của Google thông qua openHab Ngoài ra, các thuật toán Machine Learning được áp dụng trong môi trường Matlab để xử lý thông tin từ cơ sở dữ liệu MySQL, giúp theo dõi tình trạng hoạt động của hệ thống trong ngôi nhà.

Hệ thống được thiết kế dựa trên mô hình TCP/IP, cho phép người dùng dễ dàng truy cập thông qua các dịch vụ Internet như Wireless, Fiber, hoặc 3G Các nút mạng chính trong hệ thống nhận địa chỉ IP từ máy chủ DHCP.

Hình 1.1 Tổng quan sơ đồ hệ thống

1.1.1 Các kết quả nghiên cứu trong nước

BKAV là một trong những doanh nghiệp Việt Nam tiên phong trong nghiên cứu sản phẩm nhà thông minh, từng tham gia triển lãm CES 2015 tại Las Vegas Hệ thống nhà thông minh của BKAV ứng dụng công nghệ 3D, cho phép tự động điều chỉnh ánh sáng khi có người bước vào nhờ cảm biến hồng ngoại Người dùng có thể tùy chỉnh ánh sáng, màu sắc theo sở thích và kết hợp với các thiết bị như rèm cửa, âm thanh và thiết bị chiếu phim, tạo ra không gian tiện nghi Ví dụ, khi thiết bị chiếu phim hoạt động, đèn tự động giảm độ sáng và rèm khép lại để tối ưu hóa ánh sáng phòng chiếu Người sử dụng có thể điều khiển các thiết bị điện tử trong nhà thông qua giao diện cảm ứng 3G, được thiết kế đồ họa 3D và mô phỏng toàn bộ ngôi nhà cùng các thiết bị.

Nghiên cứu của tác giả Nguyễn Đình Anh tập trung vào việc xây dựng hệ thống giám sát và điều khiển cho nhà thông minh Hệ thống này sử dụng công nghệ IP CAMERA để nhận diện và điều khiển trạng thái của các vật thể trong không gian sống Việc áp dụng công nghệ này không chỉ nâng cao khả năng an ninh mà còn tạo ra sự tiện lợi cho người dùng trong việc quản lý và kiểm soát ngôi nhà của họ.

Cương, TS Nguyễn Việt và Th.S Vũ Quang Dũng từ Trường đại học công nghệ đã phát triển một mô hình hệ thống giám sát và điều khiển cho nhà thông minh, sử dụng tín hiệu từ camera và mô đun điều khiển các thiết bị gia đình kết nối với máy tính Nghiên cứu này áp dụng các thuật toán xử lý ảnh để nhận diện và giám sát toàn bộ hệ thống ngôi nhà thông qua các Camera IP.

Nghiên cứu thiết kế ngôi nhà thông minh của TS Nguyễn Duy Trung tại Trường Đại học Điện lực sử dụng bộ điều khiển PLC và phần mềm giám sát WinCC, mang lại sự chính xác và thân thiện cho người dùng PLC không chỉ đáng tin cậy mà còn dễ lập trình, cho phép thay đổi nhanh chóng chương trình điều khiển và tích hợp nhiều module chức năng, hỗ trợ thực hiện các điều khiển phức tạp, tạo thuận lợi cho lập trình viên.

1.1.2 Các kết quả nghiên cứu nước ngoài

Nghiên cứu “Tiếp cận tối ưu năng lượng cho ứng dụng nhà thông minh” của nhóm tác giả Yann-Chang Huang, Chao-Ming Huang, Kun-Yuan Huang và Chien-Yuan Liu đã phân tích các phương pháp tối ưu cho ứng dụng nhà thông minh, bao gồm logic mờ, mạng nơron, phương pháp heuristic và phương pháp tiến hóa Trong đó, logic mờ được sử dụng để kết hợp thông tin và áp dụng cơ chế suy luận IF-THEN, nhưng hạn chế của nó là tính chắc chắn và phụ thuộc vào kinh nghiệm của chuyên gia, ảnh hưởng đến khả năng thực hiện trong thời gian thực Các phương pháp trí tuệ nhân tạo như mạng nơron và phương pháp tiến hóa mang lại khả năng điều khiển phức tạp hơn và cải thiện khả năng ra quyết định Hệ thống điều khiển không minh lại cho thấy hiệu quả trong việc tính toán các thông số phi tuyến mà không quá phức tạp.

Nghiên cứu của nhóm tác giả Vaibhav Sharma, Chirag Fatnani, Pranjal Katara và Vishnu Shankar về "Nâng cao hệ thống bảo mật chi phí thấp sử dụng cảm biến, ardiomo và mô đun giao tiếp GSM" đã được trình bày tại hội nghị EEE TechSym 2014 Satellite Nghiên cứu này tập trung vào việc cải thiện hiệu quả của hệ thống bảo mật thông qua công nghệ cảm biến và giao tiếp GSM, nhằm đáp ứng nhu cầu bảo mật ngày càng cao với chi phí hợp lý.

Trong bài báo cáo tại hội nghị, nhóm tác giả từ đại học VIT đã trình bày về việc đo lường bảo mật cho người sử dụng bằng cách sử dụng các cảm biến hiện có như cảm biến PIR và cảm biến xấp xỉ Hall Effect.

Dữ liệu từ các cảm biến được truyền tới Arduino Uno, nơi vi xử lý sẽ xử lý và gửi tín hiệu cảnh báo tới người dùng qua mạng GSM khi có sự cố xảy ra Cảm biến LM35 được sử dụng để ngăn ngừa tai nạn cháy nổ, trong khi cảm biến hồng ngoại thụ động phát hiện chuyển động và cảm biến Hall Effect theo dõi trạng thái cửa Những thiết bị này đảm bảo an toàn và bảo mật cho ngôi nhà.

Nghiên cứu “Chuyển mạch thông minh sử dụng Android cho hệ thống nhà thông minh” của tác giả Abdurrahman Bin Suratman tại trường Đại học Teknologi Malaysia đã thiết kế một hệ thống điều khiển thông minh cho phép điều khiển không dây qua cảm biến hồng ngoại Hệ thống này sử dụng vi xử lý Arduino Pro Mini để nhận tín hiệu từ cảm biến hoặc điện thoại thông minh, cùng với nRF24L01 để truyền và nhận tín hiệu chuyển mạch Người dùng có thể giám sát và điều khiển các ứng dụng nhà thông minh từ xa thông qua điện thoại thông minh, mang lại sự tiện lợi và linh hoạt cho người sử dụng.

Tính cấp thiết của khoa học đề tài

Các thiết bị ngày càng được kết nối qua Internet, tạo nên xu hướng gắn kết trong ngôi nhà thông minh để dễ dàng quản lý và giám sát Luận văn phát triển hệ thống thu thập, giám sát và điều khiển nhà thông minh với chi phí thấp, sử dụng mã nguồn mở và công nghệ giao tiếp không dây RF, giúp hệ thống linh hoạt và tiết kiệm Giao diện điều khiển thân thiện, tương thích với mọi hệ điều hành và trình duyệt, cho phép người dùng dễ dàng nhận cảnh báo và điều khiển qua Internet Hệ thống cũng ứng dụng cơ sở dữ liệu MySql và thuật toán Machine Learning trên Matlab để phân tích và xử lý dữ liệu đã thu thập.

Mục đích nghiên cứu, khách thể và đối tượng nghiên cứu

Mục đích của nghiên cứu là phát triển mô hình mô phỏng cho hệ thống nhà thông minh, đồng thời tối ưu hóa quy trình thu thập dữ liệu, giám sát và điều khiển Nghiên cứu này ứng dụng các thuật toán Machine Learning để phân tích và xử lý dữ liệu, nhằm xác định mối tương quan giữa các thành phần và tình trạng của ngôi nhà.

Nhiệm vụ nghiên cứu và giới hạn đề tài

Nhiệm vụ của đề tài là thu thập dữ liệu từ các điểm truy cập trong ngôi nhà và lưu trữ vào cơ sở dữ liệu trung tâm Đồng thời, hệ thống sẽ cung cấp cảnh báo khi phát hiện vấn đề xảy ra trong ngôi nhà Bằng cách áp dụng thuật toán phân loại dự báo Machine Learning, chúng tôi sẽ phân tích dữ liệu đã thu thập và đưa ra các khuyến nghị hữu ích cho người sử dụng.

Đề tài này tập trung vào việc xây dựng hệ thống thu thập, giám sát và điều khiển ngôi nhà thông qua các cảm biến Hệ thống sẽ sử dụng môi trường Matlab để áp dụng thuật toán Machine Learning nhằm tính toán và phân tích các số liệu liên quan đến ngôi nhà.

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

Người thực hiện đã tiến hành nghiên cứu các đề tài liên quan trong và ngoài nước để lựa chọn phần cứng phù hợp cho mô hình luận văn về hệ thống nhà thông minh Các cảm biến như cảm biến nhiệt độ, độ ẩm, mưa và khói được chọn từ thị trường trong nước Vi xử lý Arduino và thiết bị truyền nhận sóng RF được sử dụng để xây dựng hệ thống mạng cảm biến không dây (WSN), giúp thu thập dữ liệu và điều khiển hệ thống một cách dễ dàng và hiệu quả.

Người thực hiện đã chọn phần mềm openHab có tính tương thích cao để giám sát và điều khiển, đồng thời sử dụng hệ cơ sở dữ liệu MySQL để lưu trữ thông tin của ngôi nhà MySQL cho phép người sử dụng truy vấn và xử lý dữ liệu một cách dễ dàng.

Tác giả áp dụng thuật toán Machine Learning cho đề tài, một công nghệ đang được sử dụng rộng rãi trong lĩnh vực IoT và nhà thông minh hiện nay, nhằm phân tích các dữ liệu thu thập được.

CƠ SỞ LÝ THUYẾT

Thuật toán Learning Machine

Trong phần này, chúng tôi sẽ trình bày các thuật toán Machine Learning được áp dụng trong đề tài, giúp làm rõ nguyên lý hoạt động của chúng trong bối cảnh nghiên cứu này.

Một trong những mô hình nổi bật trong nghiên cứu dữ liệu hiện đại là random forest, với nguyên lý xây dựng một tập hợp lớn các cây quyết định có sự tương quan thấp Bằng cách phát triển các mô hình độc lập, random forest tận dụng các đặc điểm chung, từ đó giảm thiểu phương sai tổng thể của mô hình.

Hình 2.1 Sơ đồ cấu trúc dạng quyết định dạng cây [7]

2.1.1.1 Mô hình quyết định dạng cây

Cây quyết định là một mô hình mạnh mẽ trong các cơ sở mô hình của rừng ngẫu nhiên, mô phỏng cách con người ra quyết định và lý luận Thông thường, cây quyết định có cấu trúc nhị phân, với mỗi nút đại diện cho một câu hỏi về biến (ví dụ: x1 ≤ 0) và hai cạnh tương ứng với hai câu trả lời Đối với bài toán phân loại, các nút lá ở cuối cây đại diện cho các kết quả hoặc lớp phân loại có thể Hình 2.1 minh họa một cây quyết định cho bài toán phân loại với ba biến x và hai đầu ra lớp A và B.

Hình 2.2 Hình minh họa về cách tính toán theo Gini-index Các ưu tiên được chia theo Gini-index chia tách, nơi các lớp được tách ra [8]

Khi xây dựng và huấn luyện mô hình quyết định dạng cây, dữ liệu huấn luyện được phân loại chính xác và một số nhánh cây sẽ bị loại bỏ để tránh dữ liệu không tin cậy Tuy nhiên, trong mô hình rừng cây ngẫu nhiên, các cây thường không được chọn lọc, dẫn đến hiện tượng phương sai cao.

Khi xây dựng mô hình quyết định dạng cây từ dữ liệu, quá trình bắt đầu với tất cả dữ liệu tại các nút trên cùng Tiêu chí phân chia sẽ được áp dụng để tách dữ liệu và tiếp tục đệ quy cho đến khi số lượng mẫu trong mỗi nút đạt đến một hằng số nhỏ được chọn Để quyết định tiêu chí phân chia, cần xem xét tất cả các biến và kiểm tra từng phần đã chia nhỏ Đối với mỗi biến có thể kết hợp và phân chia, phương pháp đánh giá cách chia hiệu quả là rất quan trọng, trong đó Gini-index là một trong những cách tiếp cận phổ biến Gini-index của cây T được định nghĩa là G(T).

(2.1) Với các nhánh con 𝑇 1 , 𝑇 2 , định nghĩa Gini-index 𝐺(𝑇 1 , 𝑇 2 ) như sau

Khi các lớp sai lệch, giá trị 𝐺(𝑇) sẽ nhỏ, như minh họa trong hình 2.2 với chỉ các mẫu thuộc một lớp Phân chia dựa trên chỉ số Gini-index được lựa chọn để đánh giá sự phân bố này.

2.1.1.2 Mô hình ngẫu nhiên dạng cây

Khi huấn luyện một rừng ngẫu nhiên với k cây cho một tập dữ liệu có N mẫu và M biến, mỗi cây k sẽ được huấn luyện từ một mẫu ngẫu nhiên có kích thước n từ N dữ liệu Phần còn lại của dữ liệu sẽ được sử dụng để ước tính lỗi thông qua phương pháp xấp xỉ out-of-bag Đối với mỗi nút trong cây, sẽ chọn ngẫu nhiên m biến từ tổng số M biến và tìm cách chia tối ưu.

Khi sử dụng phương pháp rừng ngẫu nhiên để dự đoán cho các mẫu mới, các kết quả từ tất cả các cây k được kết hợp lại thông qua các chức năng khác nhau Chức năng phổ biến nhất được áp dụng là lấy đa số cho phân loại và trung bình cho hồi quy.

Một trong những thách thức lớn nhất của phương pháp rừng ngẫu nhiên là sự xuất hiện của nhiều tính năng có mối quan hệ với nhau, điều này có thể dẫn đến việc các nút không có biến hợp lý để phân chia Tuy nhiên, thuật toán rừng ngẫu nhiên vẫn mang lại nhiều ưu điểm đáng kể.

- Cho độ chính xác cao, sử dụng cho dữ liệu lớn vì dữ liệu ngôi nhà phải chạy liên tục nên số lượng rất là lớn

- Cung cấp cho các ước tính của các biến quan trọng trong việc phân loại

- Tạo ra ước lượng không chệch bên trong của các lỗi tổng quát

- Cung cấp phương pháp hiệu quả để ước lượng dữ liệu bị mất

- Rừng dữ liệu được tạo ra có thể được lưu lại để sử dụng trong tương lai trên các dữ liệu khác

- Cung cấp một phương pháp thực nghiệm để phát hiện sự tương tác của các biến

Mạng Neural nhân tạo là công cụ mô hình hóa mối quan hệ phức tạp giữa đầu vào và đầu ra Khi các mối quan hệ này đã được xác định, mạng Neural có khả năng phân loại và dự đoán đầu ra cho các đầu vào mới Cấu trúc của mạng Neural bao gồm nhiều lớp tế bào thần kinh, gồm một lớp đầu vào, một hoặc nhiều lớp ẩn và một lớp đầu ra, mô phỏng theo cách hoạt động của não bộ.

Mạng nơ-ron nhân tạo với một lớp ẩn, như trong hình 2.3, bao gồm 4 đầu vào, 5 tế bào thần kinh ẩn và 3 tế bào thần kinh đầu ra Khi được huấn luyện, mạng nơ-ron hoạt động bằng cách truyền dữ liệu qua các lớp tế bào thần kinh, cho đến khi đạt được kết quả cuối cùng từ các tế bào đầu ra Quá trình này được gọi là lan truyền thẳng, nơi đầu vào được lan truyền qua toàn bộ mạng.

Lan truyền thẳng là quá trình mà mỗi nơron đầu vào truyền một mức năng lượng nhất định qua các lớp thần kinh đến các lớp ẩn Mỗi lớp thần kinh có trọng số riêng, giúp tăng cường tín hiệu từ nơron đầu vào tới nơron trong lớp ẩn Đầu vào cho nơron 𝑛 trong lớp ẩn là tổng năng lượng từ các nơron lớp đầu vào, được nhân với trọng số tương ứng Tổng trọng số này, gọi là tín hiệu đầu vào 𝑛𝑒𝑡, được biến đổi bởi hàm kích hoạt để tạo ra tín hiệu đầu ra từ nơron 𝑛 Nguyên tắc lan truyền năng lượng tiếp tục từ lớp ẩn đến các lớp đầu ra hoặc các lớp tiếp theo của nơron ẩn, với nơron thứ 𝑗 tính toán tổng trọng số 𝑎 𝑗 của ngõ ra dựa trên các tín hiệu đầu vào.

Hàm kích hoạt của nơron thứ 𝑖, ký hiệu là 𝑧 𝑖, được tính toán dựa trên trọng số 𝑤 𝑖𝑗 kết nối từ nơron 𝑖 tới nơron 𝑗 Tổng trọng số này sau đó được truyền qua một hàm kích hoạt 𝑔 để tạo ra đầu ra cuối cùng.

Hàm kích hoạt của neuron thứ 𝑗, ký hiệu là 𝑧 𝑗, có vai trò quan trọng trong việc điều chỉnh đầu vào 𝑛𝑒𝑡 Hàm này giúp xác định ngõ ra của neuron trong một tập hợp có giới hạn, đảm bảo rằng các giá trị đầu ra được cân bằng và phù hợp với yêu cầu của mô hình.

Hàm kích hoạt thường dùng là hàm sigmoid 𝑔(𝑡) = 1

1+𝑒 −𝑡 Tuy nhiên, hàm kích hoạt khá thường hay dùng là hàm hyperbolic tangent sigmoid, 𝑔(𝑡) = 2

1+𝑒 −2𝑡 Hình 2.4 cho thấy hai hàm kích hoạt thường dùng

Tổng lỗi 𝐸 của các mạng được tính toán như sau:

Để giảm số lỗi 𝐸(𝑛) của dữ liệu mẫu thứ 𝑛, ta cần tính đạo hàm độ dốc của nó đối với các trọng số Việc này giúp tối ưu hóa các trọng số nhằm cải thiện độ chính xác của mô hình.

Hình 2.4 Hai hàm kích hoạt phổ biến cho mạng Neural [9]

𝑗 được gọi lỗi Từ 𝑎 𝑗 = ∑ 𝑤 𝑖 𝑗𝑖 𝑧 𝑖 ta có

Sử dụng định nghĩa 𝛿 𝑗 và lập luận 𝑎 𝑗 = ∑ 𝑤 𝑖 𝑗𝑖 𝑧 𝑖 , chúng ta có thể thay vào 𝜕𝑎 𝑗

Lỗi cho ngõ ra được viết lại như sau

𝑦 𝑘 (2.9) với khi chúng ta sử dụng 𝑧 𝑗 = 𝑔(𝑎 𝑗 ) với 𝑧 𝑘 được ký hiệu bằng 𝑦 𝑘 Để tìm lỗi lớp ẩn ta sử dụng chuỗi công thức sau

Với tổng tất cả các thành phần 𝑘 mà phần tử thứ 𝑗 được gởi tới ngõ ra Bằng cách đưa

𝜕𝑎 𝑗 vào công thức (2.10) và sử dụng 𝑎 𝑗 = ∑ 𝑤 𝑖 𝑗𝑖 𝑧 𝑖 và 𝑧 𝑗 = 𝑔(𝑎 𝑗 ) ta có

Cuối cùng chúng ta có thể viết lại gradient với mỗi mẫu huấn luyện như sau

Internet of Thing (IoT)

Theo Cisco, "Kết nối mọi người, dữ liệu và mọi thứ tạo ra một mạng lưới có giá trị hơn bao giờ hết." Một trong những xu hướng phát triển của IoT là việc kết nối các đối tượng hàng ngày, cho phép chúng nhận và truyền dữ liệu lẫn nhau.

Kevin Ashton đầu tiên của “Internet of Things”được sử dụng đầu tiên được sử dụng năm 1999 được trình bày RFID & the Supply Chain tại Proctor and Gamble

In 2009, he authored an article in the RFID journal titled "In the Real World, Things Matter More Than Ideas," outlining the future development of the Internet of Things (IoT).

Hình 2.5 Kết nối "Things" với con người

Theo dữ liệu từ Cisco và Internet World Stats, hiện nay có khoảng 50 petabytes (1 petabyte tương đương 1024 terabytes) dữ liệu trên Internet, được tạo ra hoặc lưu trữ bởi con người thông qua việc nhập liệu, lưu trữ hình ảnh, video và quét mã vạch Sự phụ thuộc của con người vào thông tin từ dịch vụ Internet ngày càng gia tăng, cho thấy vai trò quan trọng của công nghệ trong đời sống hàng ngày.

Nếu máy tính có khả năng thu thập và sử dụng dữ liệu để hỗ trợ người dùng, chúng ta có thể theo dõi và giám sát mọi hoạt động, từ đó giảm thiểu lãng phí và mất mát Việc xác định những thứ cần thay thế, sửa chữa hoặc truy xuất dữ liệu là rất quan trọng, giúp người dùng dễ dàng lấy được dữ liệu mới hoặc dữ liệu tốt nhất từ quá khứ khi cần thiết.

Để máy tính có thể thu thập thông tin và nhận biết thế giới xung quanh, chúng ta cần trang bị cho chúng các công nghệ như RFID và cảm biến Những công nghệ này cho phép máy tính quan sát và hiểu biết mà không bị giới hạn bởi dữ liệu do con người cung cấp.

Hình 2.6 Kết nối các thiết bị của con người với “Things” [11]

Theo dự báo của Microsoft vào năm 2013, có khoảng 10 tỷ thiết bị được kết nối và 7.14 tỷ người trên toàn cầu sử dụng kết nối Dự kiến đến năm 2020, số lượng kết nối với các thiết bị sẽ đạt khoảng 50 tỷ.

Nguồn: “TEDx Warwick – Andy Stanford-Clark – Innovation Begins at Home”

Theo thống kê, khoảng 99.4% các thiết bị vật lý vẫn chưa được kết nối, trong khi chỉ có khoảng 10 tỷ thiết bị trong tổng số 1.5 nghìn tỷ thiết bị đã được kết nối Hiện nay, trung bình có khoảng 200 kết nối trên mỗi người hiện đại.

Với mô hình này ta xây dựng tốt hơn các thiết bị và hệ thống của các hệ thống trong nhà

Hình 2.7 Ứng dụng các chuẩn không dây cho IoT

Nguồn: Emerging Trends in Wireless in the Era of IoT

Hệ thống lưu trữ đám mây hiện nay dựa trên công nghệ máy ảo (IaaS) và các ứng dụng đám mây từ trung tâm dữ liệu Nó cung cấp các dịch vụ như chỉnh sửa và lưu trữ tập tin, quản lý dữ liệu, xác thực người dùng, định tuyến dữ liệu giữa các mạng và kiểm soát luồng thông tin.

Mã nguồn mở openHab

Ngày càng nhiều thiết bị và công nghệ được áp dụng cho ngôi nhà thông minh, nhằm nâng cao chất lượng cuộc sống của người dùng Tất cả các thiết bị này đều hướng đến việc tạo ra một ngôn ngữ chung, giúp chúng tương tác và tự động hóa, từ đó xây dựng một môi trường sống thông minh OpenHab đóng vai trò quan trọng trong việc cung cấp một nền tảng tích hợp, tối ưu hóa các vấn đề liên quan đến ngôi nhà thông minh.

Cấu trúc của openHab được xây dựng trên nền tảng Java và OSGi (Equinox), cho phép hoạt động trong môi trường JVM Với kiến trúc OSGi, openHab cung cấp khả năng mở rộng linh hoạt, cho phép thêm hoặc loại bỏ các chức năng mà không cần sử dụng các dịch vụ khác Hình dưới đây minh họa tổng quan về các cấu trúc chính và các dịch vụ liên quan.

MQTT

2.4.1 Giới thiệu giao thức MQTT

MQTT là một giao thức truyền nhận thông điệp hiệu quả, được thiết kế để giao tiếp giữa máy trạm và máy chủ, đặc biệt phù hợp cho các thiết bị có hạn chế về năng lượng và kết nối mạng Giao thức này được phát triển đầu tiên bởi IBM và Eurotech, sau đó được đề xuất lên OASIS (Tổ chức Tiến bộ Tiêu chuẩn Thông tin Có cấu trúc).

Hình 2.9 Tổng quan cấu trúc của open Hab [12]

Giao thức kết nối tích hợp các thiết bị SCADA, hay còn gọi là MQTT, là một giao thức mở, đơn giản và dễ triển khai, cho phép hàng ngàn thiết bị nhỏ kết nối với một máy chủ MQTT đặc biệt hữu ích trong các môi trường hạn chế như mạng băng thông thấp, khả năng xử lý hạn chế, bộ nhớ nhỏ và độ trễ cao Giao thức này được thiết kế để tối ưu hóa yêu cầu băng thông và độ tin cậy trong quá trình trao đổi dữ liệu MQTT thường được áp dụng trong hệ thống nhúng, ví dụ như trong bệnh viện để kết nối máy điều hòa nhịp tim với các thiết bị y tế khác, hoặc trong ngành dầu khí để giám sát hàng vạn đường ống dẫn dầu.

2.4.2 Hoạt động của MQTT Để giao thức MQTT hoạt động, đầu tiên phải có một máy chủ ở đây được gọi là broker Broker như là một máy chủ trung tâm mà định tuyến các thông tiếp và gởi tới các thuê bao đăng ký với máy chủ Và trên máy chủ phải cài đặt phần mềm MQTT ở đây người thực hiện đề tài sử dụng Mosquitto

Hình 2.10 Giao thức MQTT Nguồn : mqtt.org

Sau khi hoàn tất cài đặt máy chủ Broker, các máy trạm sẽ kết nối với máy chủ để gửi và nhận thông điệp Mỗi thông điệp từ các máy trạm được gán một chủ đề cụ thể, gọi là topic.

Cơ sở dữ liệu MySql

MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất toàn cầu, được các nhà phát triển ưa chuộng cho việc phát triển ứng dụng Với tốc độ cao, tính ổn định và dễ sử dụng, MySQL cung cấp khả năng tương thích trên nhiều hệ điều hành và sở hữu một bộ hàm tiện ích mạnh mẽ.

MySQL là một hệ quản trị cơ sở dữ liệu mạnh mẽ, phù hợp cho các ứng dụng truy cập dữ liệu trên Internet nhờ vào tốc độ và tính bảo mật cao Bạn có thể tải MySQL miễn phí từ trang chủ, với nhiều phiên bản hỗ trợ cho các hệ điều hành khác nhau như Windows, Linux, Mac OS X, Unix, FreeBSD, NetBSD, Novell NetWare, SGI Irix, Solaris và SunOS.

MySQL là hệ quản trị cơ sở dữ liệu quan hệ nổi bật, sử dụng Ngôn ngữ truy vấn có cấu trúc (SQL) Nó hỗ trợ nhiều ngôn ngữ lập trình như PHP và Perl, đóng vai trò quan trọng trong việc lưu trữ thông tin cho các trang web được phát triển bằng các ngôn ngữ này.

Kết hợp Matlab để xử lý cho Internet of Thing trong Smarthome

Internet of Things (IoT) là khái niệm mới mô tả sự kết nối của nhiều thiết bị nhúng đến mạng máy tính Những thiết bị này không chỉ giao tiếp với con người mà còn tương tác với nhau, sử dụng dữ liệu cảm biến để kết nối với cơ sở dữ liệu đám mây cho việc lưu trữ và xử lý Sự phát triển của công nghệ đám mây và gia tăng kết nối giữa các thiết bị đã tạo nên một xu hướng mạnh mẽ trong thời đại hiện nay.

Hình 2.11 Ứng dụng mô hình IoT trong Matlab [16]

Giải pháp IoT bao gồm nhiều ứng dụng như giám sát môi trường, sức khỏe, vận chuyển, và điều khiển trong công nghiệp và nhà tự động Sản phẩm MATLAB và Simulink hỗ trợ phát triển và kiểm tra các điểm thu thập dữ liệu bên ngoài, giúp truy cập, kết hợp và phân tích dữ liệu từ cảm biến IoT Nhiều hệ thống IoT có thể được mô tả qua sơ đồ, trong đó các điểm truy cập bên ngoài như cảm biến nhiệt độ, giám sát nhịp tim và áp lực nước thu thập dữ liệu Dữ liệu này được tổng hợp, xử lý và lưu trữ từ nhiều địa điểm phân tán, cho phép phân tích và xử lý hiệu quả.

Phân tích lịch sử dữ liệu được thể hiện ở bên phải mô hình, nơi dữ liệu được tổng hợp trong môi trường phần mềm Quá trình này cho phép nghiên cứu lại dữ liệu và áp dụng các thuật toán nguyên mẫu, từ đó có thể thực hiện trên các tập hợp dữ liệu hoặc thiết bị bên ngoài.

2.6.1 Thiết lập các điểm nút cho hệ thống IoT

Simulink của Matlab hỗ trợ nền tảng phần cứng cho việc nguyên mẫu và xây dựng hệ thống IoT Thuật toán được phát triển trong Simulink cho phép tiền xử lý và triển khai trên các thiết bị phần cứng nhúng bằng ngôn ngữ HDL hoặc C Việc triển khai này tối ưu hóa khả năng tính toán của thiết bị và giảm thiểu lượng dữ liệu cần gửi đến đám mây để tổng hợp.

Hình 2.12 Thiết lập các điểm nút cho hệ thống IoT [16]

Bạn có thể tạo mẫu các nút cạnh bằng cách sử dụng các nền tảng chi phí thấp như Arduino® và Raspberry Pi ™ Gói hỗ trợ Simulink cho các thiết bị này có thể được tải về, cho phép dữ liệu từ các thiết bị được gửi đến ThingSpeak, một tập hợp các dữ liệu IoT.

Các điểm của Internet of Things (IoT) giao tiếp với mạng nội bộ hoặc tổng hợp dữ liệu đám mây thông qua các giao thức vật lý như Bluetooth, Zigbee (IEEE 802.15), Wi-Fi (IEEE 802.11) và các chuẩn viễn thông di động như 4G LTE MATLAB và Communications System Toolbox có thể được sử dụng để mô hình hóa và kiểm chứng các liên kết truyền thông không dây, trong khi thiết bị kiểm tra điều khiển từ MATLAB với Instrument Control Toolbox cho phép kiểm tra các truyền thông hiệu quả.

2.6.2 Tổng hợp, và truy cập vào dữ liệu của hệ thống IoT

MATLAB và Simulink hỗ trợ lưu trữ dữ liệu IoT thông qua dịch vụ miễn phí ThingSpeak, cho phép thu thập dữ liệu từ các kết nối của bạn ThingSpeak cung cấp API RESTful, giúp bạn dễ dàng truy cập dữ liệu từ MATLAB Bạn có thể gửi dữ liệu từ Arduino hoặc Raspberry Pi kết nối Internet vào ThingSpeak, và sau đó sử dụng MATLAB để phân tích dữ liệu một cách chi tiết hơn.

Hình 2.13 Tổng hợp, và truy cập vào dữ liệu của hệ thống IoT [16]

Nếu dữ liệu của bạn được lưu trữ trong cơ sở dữ liệu, đám mây hoặc thông qua một API web, bạn có thể dễ dàng truy cập từ MATLAB bằng cách sử dụng cơ sở dữ liệu Toolbox™ Công cụ này hỗ trợ truy cập dữ liệu từ các cơ sở dữ liệu ODBC và JDBC thông qua các lệnh SQL Ngoài ra, MATLAB còn cung cấp các lệnh webread và urlread để truy cập dữ liệu trực tuyến.

2.6.3 Phân tích dữ liệu IoT và xây dựng thuật toán dự báo

MATLAB có thể được sử dụng để phân tích dữ liệu từ cảm biến IoT, giúp xử lý lượng dữ liệu lớn đang được triển khai Phân tích dữ liệu lịch sử là bước quan trọng đầu tiên để hiểu rõ hơn về dữ liệu và chuẩn bị cho việc sử dụng trong thời gian thực Các phương pháp thống kê có thể được áp dụng để phát hiện bất thường, đồng thời cần đảm bảo độ tin cậy của dữ liệu bằng cách loại bỏ các điểm dữ liệu xấu và lọc nhiễu.

Hình 2.14 Phân tích dữ liệu IoT và xây dựng thuật toán dự báo [16]

MATLAB, cùng với Signal Processing Toolbox™ và Statistics and Machine Learning Toolbox™, cung cấp các công cụ mạnh mẽ để lọc và phục hồi dữ liệu, thực hiện phân tích thống kê cơ bản, và áp dụng các kỹ thuật Machine Learning cho phân loại, phân tích hồi quy và phân loại, những bước quan trọng trong IoT Đặc biệt, MATLAB hỗ trợ làm việc với các tập dữ liệu lớn, giúp bạn xử lý hiệu quả hơn.

Tóm tắt chương

Chương này trình bày chi tiết các thuật toán, giao thức và kiến trúc liên quan đến nhà thông minh, đồng thời nêu bật sự phát triển mạnh mẽ của công nghệ IoT trong lĩnh vực này Mặc dù mã nguồn mở openHab còn mới, nhưng nó đã tương thích với nhiều thiết bị và hoạt động hiệu quả trong thời gian thực Ngoài ra, openHab còn tích hợp tốt với môi trường Internet và các dịch vụ như Gmail, Twitter, giúp cung cấp cảnh báo kịp thời cho người dùng.

XÂY DỰNG MÔ HÌNH

Mô hình nhà thông minh

Mô hình điều khiển và giám sát thiết bị trong nhà thông minh cho phép các cảm biến liên tục thu thập và gửi thông số về hệ thống, giúp người dùng dễ dàng theo dõi và quản lý các thông số này.

Hình 3.1 Mô hình thực nghiệm Smarthome

Các thông số cảm biến, hoặc trạng thái của của ngôi nhà sẽ cập nhật vào cơ sở dữ liệu

Giải thuật cho từng thiết hệ thống

3.2.1 Hệ thống an ninh giám sát Để khởi động hệ thống này cần phải nhập mật khẩu giao diện điều khiển Lcd và bàn phím Hệ thống chỉ khởi động khi mật khẩu người dùng đặt đúng

Hệ thống bảo mật cảnh báo được thiết kế với các vùng riêng biệt, mỗi vùng trang bị cảm biến để nhận diện hành động Các cảm biến này hoạt động liên tục và khi phát hiện hành động trong vùng, hệ thống sẽ kích hoạt còi hú và đèn báo Đồng thời, một email sẽ được gửi đến người dùng của vùng đó để thông báo về tình huống khẩn cấp Ngoài ra, camera sẽ tự động quay về hướng vùng có cảnh báo để ghi lại hình ảnh và thông tin cần thiết.

Hệ thống có thể tắt bất cứ lúc nào khi người dùng nhập mật khẩu để tắt kích hoạt hệ thống

3.2.2 Hệ thống phòng cháy chữa cháy

Hình 3.2 Lưu đồ hệ thống an ninh giám sát

Hệ thống giám sát bao gồm cảm biến khói và nhiệt, liên tục gửi tín hiệu đến vi điều khiển để cập nhật thông tin Nó được thiết lập với các cảnh báo nhằm đảm bảo an toàn tối ưu.

Cảnh báo cháy sớm xảy ra khi hệ thống phát hiện tín hiệu khói hoặc khí lạ Ở giai đoạn này, hệ thống sẽ kích hoạt còi báo động và gửi thông báo qua email.

Cảnh báo cháy xảy ra khi nhiệt độ vượt quá mức cho phép và có sự xuất hiện của khói Ở giai đoạn này, hệ thống sẽ kích hoạt các cảnh báo cao hơn như gửi tin nhắn, phát còi với âm thanh khác và tự động ngắt hệ thống thông gió để giảm lưu thông khí oxy, nguyên nhân gây ra cháy Đồng thời, hệ thống cũng sẽ thực hiện lệnh để xả hệ thống dập cháy.

Hình 3.3 Lưu đồ hệ thống phòng cháy chữa cháy

Xây dựng hệ thống Mạng cảm biến không dây WSN với Vi điều khiển

Trong phần này giới thiệu mạng cảm biến không dây sử dụng vi điều khiển Arduino và thiết bị truyền nhận không dây nRF24L01+ [17]

Bảng 3.1 So sánh các chuẩn truyền thông không dây

Range 10-100 m < 10 m 10m 250 m Khoảng cách xa Operaing

Ad-hoc, peer to peer

Liên kết giữa các điểm truyền và nhận

Cost Chi phí cao Chi phí thấp

Chi phí thấp Chi phí thấp Chi phí cao

Hiện nay có nhiều chuẩn truyền thông không dây như: Zigbee, hồng ngoại, Bluetooth,

Sau khi khảo sát về khả năng mở rộng với chi phí thấp và mức tiêu thụ điện năng hiệu quả, người thực hiện đề tài đã quyết định sử dụng công nghệ RF cho luận văn Bảng 3.1 cung cấp cái nhìn tổng quan về các chuẩn truyền không dây đang được sử dụng hiện nay.

Mạng WSN sử dụng các điểm để nhận và giải mã tín hiệu từ các nguồn khác nhau Thiết bị nRF24L01+ là một giải pháp truyền nhận không dây tiết kiệm chi phí và năng lượng, phù hợp cho các ứng dụng yêu cầu hiệu suất cao.

Tốc độ truyền ở các chế độ sau : 250 kbps, 1 Mbps, 2 Mbps

Tần số hoạt số hoạt động: 2400 – 2525 Mhz

Số kênh hoạt động : 126 Điều chế tín hiệu theo phương pháp: Gaussian frequency-shift keying (GSFK) Tầm hoạt động lý tưởng tầm nhìn thẳng : ~ 40

Hình 3.4 Mô hình mạng cảm biến không dây với nRF24L01+ [17]

Chế độ hoạt động cảm biến các kênh

Tự động ghép các gói tin lại với nhau

Cơ chế tự động gửi các gói tin ACK và tự động truyền lại

- Hỗ trợ cấu hình số lại truyền lại nếu mất gói tin

- Hỗ trợ cấu hình thời gian trễ (delay) giữa các lần truyền lại

Cấu trúc dữ liệu truyền của NRF24L01+

Hình 3.5 Sơ đồ cấu trúc gói dữ liệu truyền của NRF24L01+[17]

Với phần mào đầu là 1 byte Địa chỉ cho 3 – 5 byte Điều khiển gói tin giải mã và đóng gói là 9 bít

Phần điều khiển lỗi, toàn vẹn gói CRC là 1-2 byte

Còn lại 0-32 byte là phần dữ liệu truyền đi

Khi viết chương trình nếu vượt quá 32 byte thì dữ liệu sẽ mất khi giải mã phía bên nhận

Thư viện RF24 của NRF24L01+ cho Vi điều khiển Arduino

Thư viện NRF24L01 cho vi điều khiển Arduino là yếu tố quan trọng trong việc phát triển mô hình mạng cảm biến không dây, giúp điều khiển và giao tiếp hiệu quả giữa các thiết bị NRF24L01+.

Cấu hình trên Vi điều khiển Arduino gồm các phần sau

Cấu hình thư viện trên Arduino 1.0.5-r2

#define NumNodes 3 // số lượng node của mạng

RF24 radio(48,49); // nRF24L01(+) radio attached

The RF24Network is configured with a specific channel set to 90, allowing communication between nodes Each node is assigned a unique address, with the primary node identified as 0 and two client nodes designated as 1 and 2 To retrieve radio data, the function getRadioData() is utilized, facilitating the exchange of information within the network.

Cấu trúc gói dữ liệu để và giải mã trong nghiên cứu này

This study presents a standardized structure for transmitting and receiving data between nodes in a Wireless Sensor Network (WSN) The defined structure, `payload_t`, includes the following components: an integer `nodeID` representing the unique identifier of the node, an integer `sensorID` indicating the specific sensor within the node, an unsigned long `var1_usl` for the first sensor value, and two float variables, `var2_float` and `var3_float`, for the second and third sensor values, respectively.

Với 16 byte cho cấu trúc Struct bao gồm

- 2 byte int dành để định danh số Node trong mạng của gói tin

- 2 byte int định danh thứ tự của Sensor của Node tương ứng

- 4 byte để lưu cảm biến trả về giá trị unsigned long

- 2 x 4 byte để lưu các giá trị cảm biến trả về float hoặc integer

Cơ chế hoạt động Arduino với thư viện RF24

Khi hai gói tin trên các Client node truyền cùng một lúc tới Master node

Hình 3.6 Đụng độ xảy ra khi nhận cùng một lúc hai gói tin từ hai Node [17]

Và bên nhận không thể giải mã được gói tin truyền đến

Node truyền sẽ cố gắng truyền lại với kênh truyền đó cho đến khi thỏa mãn số lần

Nếu bên truyền không thể truyền gói tin thì sẽ không trả về gói ACK cho bên truyền từ bên nhận

- Lúc này bên truyền sẽ đợi một khoảng thời gian ngẫu nhiên sẽ truyền lại gói tin

- Thời gian nhẫu nhiên này được lựa chọn cơ sở cửa sổ, thời gian mỗi lần sẽ gấp đôi thời gian TX truyền lỗi tới Node nhận

- Cho đến khi số lượng lần truyền lại tối đã được tìm thấy

- Tắt cơ chế truyền lại bằng cách gọi hàm setRetries(0, 0)

Hình 3.7 Hỗ trợ của NRF24L01+ cho mô hình WSN [17].

Tóm tắt chương

Trong bài viết này, tác giả trình bày mô hình mô phỏng mà mình đã thực hiện, kèm theo kiến thức về các thiết bị phần cứng được áp dụng trong luận văn Bên cạnh đó, tác giả cũng mô tả một số lưu đồ giải thuật, giúp người đọc hình dung rõ hơn về chương trình mà tác giả đã viết, tương ứng với từng hành động khi xảy ra sự cố trong ngôi nhà.

MÔ HÌNH THỰC NGHIỆM

Giới thiệu mô hình

Mô hình nhà thực nghiệm được làm từ mica, có cấu trúc như hình 4.1, bao gồm mái che tự động đóng mở và 5 phòng bên trong trang bị quạt và đèn Hệ thống điều khiển mái che sử dụng motor Servo để thực hiện chức năng đóng mở.

Hình 4.1 Mô hình thực tế

Mô hình được trang bị một LCD 20x4 và một Keypad 4x4 để mô phỏng giao diện điều khiển và truy cập cho hệ thống

Mô hình được đánh số theo thứ tự theo từng vùng nhằm kiểm soát tín hiệu từ các cảm biến, lưu trữ trong cơ sở dữ liệu MySQL để người dùng có thể truy vấn với vai trò quản lý Giao diện web cho phép điều khiển, giám sát và thu thập thông tin cơ bản của ngôi nhà, đồng thời hiển thị cảnh báo khi có sự cố xảy ra Hình 4.3 minh họa quá trình truyền nhận dữ liệu thời gian thực, với tín hiệu từ vi xử lý qua các nút trạm bên ngoài và giao thức openHab hoạt động trong môi trường OSGi hiển thị trên màn hình bên phải.

Hình 4.2 Quá trình truyền nhận thông tin thời gian thực

Sơ đồ nối kết nối phần cứng

Phần này sẽ mô tả phần cứng kết nối của các vi xử lý với các thiết bị cảm biến hoặc các thiết bị điều khiển cho ngôi nhà

Hình 4.3 Sơ đồ kết nối Vi xử lý Client Arduino Uno kết nối với các cảm biến

Hình 4.4 Sơ đồ kết nối vi xử lý Master Arduino Mega 2560

Chương trình mô tả từng bước hoạt động của vi xử lý Ardunio Uni và Arduino Mega

2560 như khai báo thư viện, khai báo các biến, điều khiển định kỳ lấy thông số cảm biến, và xuất tín hiệu khi gặp điều kiện tương ứng

Chương trình Client Node Arduino

Khai báo thư viện Thiết lập thông số cho Sensor Network Định nghĩa kiểu dữ liệu truyền Khai báo thông số nhận tín hiệu cho cảm biến

Khai báo các chân nhận tín hiệu của cảm biến

Khởi động mạng Sensor Network Vòng lặp Đếm thời gian Quét các cảm biến Nhận các giá trị Gửi tới cho node Master Xuất ra Serial để theo dõi

Chương trình cho Master node Arduino Mega 2560

Khai báo thư viện Thiết lập thông số cho Sensor Network Định nghĩa kiểu dữ liệu truyền

Khai báo thông số nhận tín hiệu cho cảm biến Khai báo thông số cho Internet

Khai báo thông số cho MySQL Server, thiết lập kết nối với MQTT Broker, cấu hình thông số cho LCD và KeyPad, cùng với việc định nghĩa cấu trúc gói tin để giải mã tín hiệu từ Client Cuối cùng, đưa chân số 4 lên mức 1 để kích hoạt chế độ Internet cho vi xử lý.

Nhận IP từ DHCP Server -> hiển thị Kết nối MQTT Broker-> hiển thị Kết nối với MySQL Server > Hiển thị Kích hoạt LCD và Keypad

Hiển thị ngày giờ Vòng lặp

LCD lấy thời gian từ RTC và hiển thị nRF24l01

Nhận tín hiệu từ Client

Gởi cho MQTT và MySQL Server

Relay Nhận tín hiệu từ MQTT Kích hoạt các chân

Hình 4.5 Giao diện web giám sát và điều khiển Ở hình 4.6 là giao diện điều khiển và giám sát được viết trên mã nguồn mở openHab.

Hoạt động

Mô hình thực nghiệm sử dụng vi điều khiển Arduino kết hợp với thiết bị phát sóng radio nFR24L01 để tạo ra một điểm thu thập dữ liệu, đồng thời cho phép điều khiển các thiết bị trong trung tâm dữ liệu Dữ liệu được truyền và nhận theo một cấu trúc cụ thể.

Bảng 4.1 Bảng mô tả định dạng chuỗi dữ liệu truyền đi của nFR24L01

Mào đầu 1 byte Địa chỉ 3 -5 byte Điều khiển 9 bit Tải 0-32 byte CRC 1-2 byte

Với tải 32 byte tải truyền đi ta định dạng như sau

- Vùng điều khiển thiết bị

- Thứ tự cảm biến của vùng điều khiển tương ứng

- Giá trị 1 của cảm biến dạng unsigned long

- Giá trị 2 của cảm biến dạng float

- Giá trị 3 của cảm biến float

The data transmission code for nFR24L01 is represented on Arduino using a structured format defined as `struct payload_t`, which includes an integer for the node ID, an integer for the sensor ID, an unsigned long variable for `var1_usl`, and two floating-point variables for `var2_float` and `var3_float`.

Biến nodeID dùng để xác định vùng mà vi điều khiển hoạt động

Biến sensorID : là thứ tự cảm biến được đặt trong vùng nodeID

Biến var1_usl được sử dụng để xác định thời gian truyền tín hiệu cho mỗi cảm biến, trong khi hai biến var2_float và var3_float dùng để truyền giá trị nội dung thu được từ cảm biến.

Cấu trúc này cho phép người vận hành dễ dàng chỉnh sửa hoặc mở rộng mô hình mà không cần can thiệp vào lập trình phần lõi của điều khiển.

Các vi điều khiển thu thập dữ liệu từ các cảm biến bên ngoài như nhiệt độ, độ ẩm, dòng điện, công suất, rò rỉ nước và tình trạng thiết bị Dữ liệu này được truyền qua mô-đun nRF24L01 tới vi điều khiển trung tâm có khả năng kết nối internet Sau đó, chuỗi dữ liệu được gửi tới server, sử dụng mã nguồn mở openHAB và giao thức MQTT (được trình bày ở chương 3), nơi dữ liệu được phân tách theo các vùng đã được định danh và hiển thị.

Dữ liệu đường truyền và nhận được giám sát trên vi xử lý

Hình 4.6 Hình mô tả dữ liệu được nhận từ vi điều khiển trung tâm từ các vi điều khiển phụ

Từ giao diện điều khiển và giám sát này người dùng có thể giám sát thời gian thực các thiết bị, điều khiển tắt mở, thay đổi thông số

Hình 4.7 Hình biểu diễn dữ liệu được truyền bởi một vi xử lý trạm

Khi xảy ra sự cố tương ứng, hệ thống openHAB sẽ tự động gửi thông báo qua email Google (hình 4.11), thông qua mạng xã hội Twitter (hình 4.12), và qua máy chủ đám mây của openHAB (hình 4.13).

Hình 4.8 Cảnh báo qua mail

Hình 4.9 Cảnh báo qua mạng xã hội twitter

Hình 4.10 Cảnh báo qua Cloud server của openHab

Giao diện quản lý cơ sở dữ liệu MySQL lưu trữ tất cả dữ liệu đã chỉnh định, phục vụ cho việc áp dụng các thuật toán ứng dụng.

Hình 4.11 Quản lý cơ sở dữ liệu MySQL của WampServer

Xử lý dữ liệu của mô hình ứng dụng thuật toán Machine Learning

Sử dụng các biến đầu vào là các thành phần của ngôi nhà như sau

{‘Temp’,’Humidity’,’Distance’,’Smoke’,’Light’,’Rain’,’WaterLeak’,’DC’,’Voltage’}

Sử dụng trạng thái của ngôi nhà làm ngõ ra, các thuật toán dưới đây được áp dụng để xây dựng mô hình dự đoán xác suất các thành phần ảnh hưởng đến hệ thống ngôi nhà Kết quả chương trình chạy bằng Matlab, như thể hiện trong Hình 4.15, sử dụng phương pháp phân phối dữ liệu Knowledge Gradient Phương pháp này cho phép nhận diện mối tương quan giữa các thành phần trong ngôi nhà thông minh thông qua các cảm biến được lưu trữ trong cơ sở dữ liệu MySQL.

Hình 4.12 Mối tương quan giữa các thành phần của ngôi nhà

Hình 4.13 Dự báo mô hình sử dụng thuật toán Naive Bayes

Tnd Smarthome Model Accuracy - NaiveBayes Segmented

Mô hình dự báo sử dụng thuật toán Naive Bayes đã đạt được tỷ lệ chính xác 68.355% trong việc dự đoán Việc áp dụng thuật toán này cho dữ liệu lưu trữ cho thấy hiệu quả của nó trong việc xây dựng mô hình dự báo.

Hình 4.14 Dự báo mô hình thuật toán TreeBagger

Mô hình dự báo sử dụng thuật toán TreeBagger đạt tỷ lệ chính xác lên tới 85.0633% nhờ vào việc chuẩn hóa số liệu từ cơ sở dữ liệu Thông tin chi tiết về chương trình Matlab được trình bày trong PHỤ LỤC 1.

Tnd Smarthome Model Accuracy - TreeBagger

Hình 4.15 Xây dựng mô hình xác suất dạng cây

Hình 4.18 trình bày mô hình xác suất dạng cây của ngõ ra hệ thống được thực hiện bởi Matlab, giúp người sử dụng nhận biết các xác suất có thể đạt được cho ngôi nhà Thuật toán phân loại xác suất 9 ngõ vào tương ứng với đầu vào của mô hình, cho phép người dùng thấy rõ tác động của từng thành phần đến xác suất của ngôi nhà.

Kết quả đạt được

Đề tài “Tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng thuật toán dự báo” đã thành công trong việc xây dựng mô hình mô phỏng nhà thông minh Hệ thống sử dụng mạng Wireless Sensor Network để thu thập và truyền nhận dữ liệu, điều khiển thiết bị qua các điểm cảm biến Dữ liệu được lưu trữ trong MySQL, cho phép truy xuất dễ dàng từ các ứng dụng Ngoài ra, các thuật toán như TreeBagger, Naive Bayes và mô hình xác suất dạng cây được áp dụng để phân tích dữ liệu, giúp người dùng có cái nhìn tổng quan về ngôi nhà của mình.

Ngày đăng: 02/12/2021, 08:59

HÌNH ẢNH LIÊN QUAN

Hình 2.2 Hình minh họa về cách tính toán theo Gini-index. Các ưu tiên được chia theo Gini-index chia tách, nơi các lớp được tách ra [8] - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình 2.2 Hình minh họa về cách tính toán theo Gini-index. Các ưu tiên được chia theo Gini-index chia tách, nơi các lớp được tách ra [8] (Trang 25)
Hình 2.4 Hai hàm kích hoạt phổ biến cho mạng Neural [9]. - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình 2.4 Hai hàm kích hoạt phổ biến cho mạng Neural [9] (Trang 29)
Hình 2.5 Kết nối &#34;Things&#34; với con người. - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình 2.5 Kết nối &#34;Things&#34; với con người (Trang 33)
Hình 2.7 Ứng dụng các chuẩn không dây cho IoT - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình 2.7 Ứng dụng các chuẩn không dây cho IoT (Trang 35)
Hình 2.9 Tổng quan cấu trúc của openHab [12] - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình 2.9 Tổng quan cấu trúc của openHab [12] (Trang 36)
Hình 2.12 Thiết lập các điểm nút cho hệ thống IoT [16] - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình 2.12 Thiết lập các điểm nút cho hệ thống IoT [16] (Trang 40)
Hình 3.2 Lưu đồ hệ thống an ninh giám sát - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình 3.2 Lưu đồ hệ thống an ninh giám sát (Trang 46)
Hình 3.3 Lưu đồ hệ thống phòng cháy chữa cháy - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình 3.3 Lưu đồ hệ thống phòng cháy chữa cháy (Trang 47)
Bảng 3.1 So sánh các chuẩn truyền thông không dây - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Bảng 3.1 So sánh các chuẩn truyền thông không dây (Trang 48)
Hình 3.4 Mô hình mạng cảm biến không dây với nRF24L01+ [17]. - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình 3.4 Mô hình mạng cảm biến không dây với nRF24L01+ [17] (Trang 49)
Hình 3.6 Đụng độ xảy ra khi nhận cùng một lúc hai gói tin từ hai Node [17]. - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình 3.6 Đụng độ xảy ra khi nhận cùng một lúc hai gói tin từ hai Node [17] (Trang 51)
Hình 3.7 Hỗ trợ của NRF24L01+ cho mô hình WSN [17]. - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình 3.7 Hỗ trợ của NRF24L01+ cho mô hình WSN [17] (Trang 52)
Hình 4.3 Sơ đồ kết nối Vi xử lý Client Arduino Uno kết nối với các cảm biến - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình 4.3 Sơ đồ kết nối Vi xử lý Client Arduino Uno kết nối với các cảm biến (Trang 55)
Hình 4.4 Sơ đồ kết nối vi xử lý Master Arduino Mega2560 - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình 4.4 Sơ đồ kết nối vi xử lý Master Arduino Mega2560 (Trang 55)
Hình 4.5 Giao diện web giám sát và điều khiển - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình 4.5 Giao diện web giám sát và điều khiển (Trang 57)
Hình 4.11 Quản lý cơ sở dữ liệu MySQL của WampServer - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình 4.11 Quản lý cơ sở dữ liệu MySQL của WampServer (Trang 62)
Hình 4.12 Mối tương quan giữa các thành phần của ngôi nhà - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình 4.12 Mối tương quan giữa các thành phần của ngôi nhà (Trang 63)
Hình 4.15 Xây dựng mô hình xác suất dạng cây - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình 4.15 Xây dựng mô hình xác suất dạng cây (Trang 65)
Hình Phục lụ 2.2 Định nghĩa cơ sở dữ liệu trong Matlab - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
nh Phục lụ 2.2 Định nghĩa cơ sở dữ liệu trong Matlab (Trang 81)
Hình phụ lục 2.1 Hỗ trợ MySQL ODBC với Matlab - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình ph ụ lục 2.1 Hỗ trợ MySQL ODBC với Matlab (Trang 81)
Hình Phụ lục 2.3 Kết nối với MySQL. nguồn: mathworks.com/ - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
nh Phụ lục 2.3 Kết nối với MySQL. nguồn: mathworks.com/ (Trang 82)
Hình Phụ lục 2.4 Khai báo thông số, nguồn: mathworks.com. - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
nh Phụ lục 2.4 Khai báo thông số, nguồn: mathworks.com (Trang 83)
Hình Phục lụ 2.6 Các dữ liệu đã kết nối, nguồn: mathworks.com. - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
nh Phục lụ 2.6 Các dữ liệu đã kết nối, nguồn: mathworks.com (Trang 84)
Hình Phụ lục 2.5 Tài khoản kết nối, nguồn: mathworks.com. - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
nh Phụ lục 2.5 Tài khoản kết nối, nguồn: mathworks.com (Trang 84)
Hình phụ lục 4.1. Thiết kế của bo mạch Arduino Uno, nguồn: arduino.cc. - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình ph ụ lục 4.1. Thiết kế của bo mạch Arduino Uno, nguồn: arduino.cc (Trang 85)
Bảng phụ lục 4.2. Tổng quan cấu trúc của bo mạch Arduino Mega2560 - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Bảng ph ụ lục 4.2. Tổng quan cấu trúc của bo mạch Arduino Mega2560 (Trang 87)
Hình phụ lục 4.4. Mô hình sơ đồ khối của Arduino Mega 2560, - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình ph ụ lục 4.4. Mô hình sơ đồ khối của Arduino Mega 2560, (Trang 88)
Hình phụ lục 4.7.Hoạt động của cảm biến PIR, nguồn: hshop.vn. - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình ph ụ lục 4.7.Hoạt động của cảm biến PIR, nguồn: hshop.vn (Trang 91)
Hình phụ lục 4.8.Hoạt động của cảm biến PIR, nguồn: hshop.vn. - (Luận văn thạc sĩ) tối ưu hóa hệ thống thu thập, giám sát và điều khiển nhà thông minh dùng giải thuật dự báo
Hình ph ụ lục 4.8.Hoạt động của cảm biến PIR, nguồn: hshop.vn (Trang 92)

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

TÀI LIỆU LIÊN QUAN

w