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ạn đang xem tài liệ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ải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
toi_uu_hoa_he_thong_thu_thap_giam_sat_va_dieu_khien_nha_thon.pdf
Nội dung text: 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Ố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 Trần Ngọc Đoàn Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh doantn.tran@gmail.com TÓM TẮT Bài báo xây dựng hệ thống thu thập dữ liệu theo phương pháp Wireless Sensor Network thu thập các thông tin của ngôi nhà sử dụng các nút trạm kết nối không dây về các nút chính và từ những nút chính này sẽ truyền về hệ thống lưu trữ và giám sát. Hệ thống giám sát được xây dựng trên mã nguồn mở và nền tảng OSGi giúp dễ dàng cấu hình, mở rộng hệ thống, tương thích với nhiều chuẩn giao tiếp với nhiều thiết bị hiện hành. Đồng thời sử dụng môi trường Matlab ứng dụng các giải thuật Machine Learning để xử lý, phân tích các số liệu đã thu thập được để đưa ra các dự báo cho ngôi nhà. Từ khóa: Tối ưu hóa nhà thông minh, dự báo, giải thuật. 1. GIỚI THIỆU Network [2] [3] sử dụng nhiều nút trạm Nhà thông minh ngày càng phát triển trong (client node) để thu thập các dữ liệu từ toàn nước, ngoài nước và cùng với sự phát triển bộ ngôi nhà, những dữ liệu này sẽ được của công nghệ điện tử và mạng máy tính đã truyền tới vi xử lý trung tâm (master node) cho con người ngày càng dễ dàng áp dụng và truyền tải về máy chủ MySQL [4] để lưu các công nghệ mới tới ngôi nhà thông minh. trữ, truyền về máy chủ giao diện web hiển Công nghệ “Internet of Thing ” cũng đã thị cho người dùng, các cảnh báo sẽ được giúp cho chúng ta có thể kết nối tất cả các thiết lập tương ứng với các ngưỡng để thông thiết bị như cảm biến, thiết bị giám sát, báo cho người dùng các cảnh báo, báo động truyền hình lại với nhau giúp con người bằng ánh sáng, âm thanh và gởi qua dịch vụ và thiết bị giao tiếp với nhau một cách dễ mail của google bằng hệ thống openHab. dàng. Theo khảo sát và thống kê của Cisco Đồng thời sử dụng các thuật toán Machine & Internet World Stats, năm 2013 có Learning chạy trên môi trường Matlab để xử khoảng 10 tỷ thiết bị và xấp xỉ 7.14 tỷ người lý các thông tin từ cơ sở dữ liệu MySQL và kết nối với môi trường Internet. Và cũng kết quả cho thấy được tình trạng hoạt động theo báo cáo này năm 2020 có khoảng 50 tỷ của hệ thống xảy ra trong ngôi nhà. thiết bị sẽ được kết nối Internet [1]. Hệ thống được xây dựng trên mô hình Trong bài báo tác giả mô hình hóa nhà thông TCP/IP nên người sử dụng có thể truy cập minh sử dụng công nghệ Wireless Sensor dễ dàng truy cập qua dịch vụ Internet như
- Wireless, Fiber, hay 3G. Các nút mạng hình có khả năng diễn đạt cao, mà mô phỏng chính tham gia vào hệ thống được cấp địa cách mô hình ra quyết định của con người và chỉ IP bởi máy chủ DHCP. lý luận. Thông thường, một cây quyết định 2. Thuật toán Learning Machine là một cây nhị phân, trong đó mỗi nút đại diện cho một câu hỏi về một biến ví dụ x1 ≤ Trong phần này sẽ giới thiệu các thuật toán 0 - và nơi hai cạnh đi từ nút tương ứng với của Machine learning sử dụng trong bài báo, hai câu trả lời cho câu hỏi này. Đối với vấn các thuật toán này sẽ cho thấy được các đề phân loại, mỗi nút lá ở dưới cùng của cây nguyên lý hoạt động như thế nào trong bài tương ứng với một kết quả-class có thể. Ở báo này. hình 1 cho thấy một cây quyết định cho vấn 2.1 Thuật toán Random forest đề phân loại với 3 biến x và hai đầu ra lớp A Một trong những mô hình thành công nhất và B [6]. trong nghiên cứu dữ liệu hiện đại là random Khi xây dựng mô hình quyết định dạng cây forest. Ý tưởng của random forest là để xây từ dữ liệu, ta bắt đầu với tất cả các dữ liệu dựng một quần thể lớn được gọi là cây trong các nút trên cùng, quyết định trên một quyết định, xây dựng trong một phương tiêu chí phân chia, chia tách các dữ liệu theo pháp mà dự đoán sự tương quan thấp. Bằng tiêu chí này và tiếp tục đệ quy cho đến khi cách xây dựng mô hình tương quan tách rời, số lượng mẫu trong mỗi node đạt tới hằng random forest tận dụng các khả năng từ các số nhỏ được chọn. Đối với quyết định về điểm chung, do đó làm giảm phương sai tiêu chí phân chia, xem xét tất cả các biến, tổng thể của mô hình [5]. và mỗi lần kiểm tra cho tất cả các phần đã chia nhỏ. Với mỗi biến có thể kết hợp và phân chia, đánh giá phương pháp cách chia tốt như thế nào. Một trong những cách đó là Gini-index. Với cây T, định nghĩa Gini- index G(T) như sau ( ) 2 (1) ∑푖=0 ( = ) Hình 1 Sơ đồ cấu trúc dạng quyết định = 1 − ∑ ( ) dạng cây [5] 푗−1 2.2 Mô hình quyết định dạng cây Với các nhánh con 1, 2, định nghĩa Gini- Các cơ sở mô hình trong rừng ngẫu nhiên là index ( 1, 2) như sau cây quyết định. Cây quyết định là một mô
- ( 1, 2) 1 = ( 1) 1 + 2 (2) 2 + ( 2) 1 + 2 Ta thấy rằng ( ) nhỏ khi mà các lớp sai lệch lớn. Hình 2. Sơ đồ mạng nơ tron 2.3 Thuật toán mạng neural Neuron thứ 푗 tính toán tổng trọng số 푗 của Mạng Artificial Neural - thường được gọi là ngõ ra như sau một mạng Neural - là một công cụ để mô hình hóa các mối quan hệ phức tạp giữa đầu 푗 = ∑ 푤푖푗 푗 (3) vào và ngõ ra. Các mối quan hệ giữa đầu vào 푖 và ngõ ra được biết, một mạng Neural có thể với 푖 là hàm kích hoạt / đầu ra của nơron thực hiện như phân loại để dự đoán ngõ ra thứ 푖 và 푤푖푗 là trọng số của các lớp thần với ngõ vào mới. Một mạng Neural là mô kinh kết nối từ 푖 tới 푗. Tổng trọng số sau đó hình mạng lưới, nơi các Neural được nối với được gửi qua một hàm kích hoạt như sau: nhau bằng các lớp thần kinh mô phỏng theo 푗 = ( 푗) (4) cấu trúc của não bộ. Mạng Neural bao gồm Hàm kích hoạt ngõ ra của neuron của các lớp tế bào thần kinh; một lớp đầu vào, 푗 neuron thứ 푗. Ý nghĩa của hàm kích hoạt là một hoặc nhiều lớp ẩn, và một lớp ra. Cấu cân bằng đầu vào 푛푒푡, mà ngõ ra sẽ được trúc này được thể hiện trong hình 2 [7]. thiết lập trong một tập hợp có giới hạn. Hàm Đầu vào cho một tế bào thần kinh 푛 trong kích hoạt thường dùng là hàm sigmoid lớp ẩn, là tổng số năng lượng được truyền (푡) = 1 . Tuy nhiên, hàm kích hoạt khá từ tế bào thần kinh lớp đầu vào, nhân với 1+푒−푡 trọng số của các lớp thần kinh từ các lớp đầu thường hay dùng là hàm hyperbolic tangent vào cho 푛. Tổng trọng số này, được gọi là sigmoid, (푡) = 2 . Hình 3 cho thấy 1+푒−2푡 tín hiệu đầu vào 푛푒푡 tới 푛 sau đó được biến hai hàm kích hoạt thường dùng. đổi bởi một hàm kích hoạt, mà tín hiệu đầu Tổng lỗi của các mạng được tính toán ra từ n. Nguyên tắc lan truyền năng lượng như sau: 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 các nơron ẩn. = ∑ (5) 푛
- với (푛)là số lỗi của dữ liệu mẫu thứ 푛. Để Để tìm lỗi lớp ẩn ta sử dụng chuỗi công giảm lỗi này, lấy đạo hàm độ dốc của nó thức sau đối với các trọng số. Áp dụng các quy tắc (푛) (푛) 휕 휕 휕 훿 = = ∑ (10) sau đây 휕 휕 휕 푗 휕 (푛) 휕 (푛) 휕 = 푗 (6) 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 (10) và sử dụng 휕 푗 푗 = ∑푖 푤푗푖 푖 và 푗 = ( 푗) ta có ′ 훿푗 = ( 푗) ∑ 푤 푖훿 (11) Hình 3 Hai hàm kích hoạt phổ biến cho Cuối cùng chúng ta có thể viết lại gradient mạng Neural [7]. với mỗi mẫu huấn luyện như sau 휕 (푛) (푛) Với 훿푗 = được gọi lỗi. Từ 푗 = 휕 휕 휕 푗 = ∑ (12) 휕푤푖푗 휕푤푗푖 ∑푖 푤푗푖 푖 ta có 푛 Khi đã thực hiện các đạo hàm riêng liên 휕 푗 = 푖 (7) 휕푤푗푖 quan đến tất cả các trọng số, ta có thể chọn một thuật toán tối ưu hóa phi tuyến, ví dụ Sử dụng định nghĩa 훿푗 và lập luận 푗 = gradient descent để điều chỉnh mỗi trọng 휕 푗 ∑푖 푤푗푖 푖, chúng ta có thể thay vào = 푖, 휕푤푗푖 số. ta có 2.3. Sử dụng Matlab để xử lý cho IoT 휕 (푛) trong Smarthome = 훿 (8) 휕푤 푗 푖 푗푖 Internet of Things (IoT) là thuật ngữ mô tả mới xuất hiện với nhiều thiết bị nhúng Lỗi cho ngõ ra được viết lại như sau (things) được kết nối tới mạng máy tính. Những thiết bị được kết nối này giao tiếp (푛) (푛) 휕 ′ 휕 훿 = = ( ) (9) với con người và những thiết bị khác và 휕 thường là dữ liệu cảm biến kết nối cơ sở dữ với khi chúng ta sử dụng = ( ) với 푗 푗 liệu của đám mây điện toán để lưu trữ và được ký hiệu bằng máy tính điện toán để xử lý, những dữ liệu này được xử lý, phân tích để đưa ra kết quả
- để xử lý. Với công nghệ đám mây điện toán 4.1 Sơ đồ nối kết nối phần cứng và sự gia tăng kết nối thiết bị với nhau đã Phần này sẽ mô tả phần cứng kết nối của các trở thành xu hướng hiện nay [8]. 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 Ứng dụng mô hình IoT trong Matlab [8] 4. Mô hình Mô hình điều khiển và giám sát thiết bị của Hình 6 Sơ đồ kết nối Vi xử lý Client nhà thông minh. Các cảm biến sẽ liên tục Arduino Uno kết nối với các cảm biến lấy các thông số gửi về cho hệ thống và người dùng giám sát các thông số. Hình 7 Sơ đồ kết nối vi xử lý Master Arduino Mega 2560 Hình 5 Mô hình thực nghiệm Smarthome Dữ liệu đường truyền và nhận được giám sát Trong chương trình này tác giả đã xây dựng trên vi xử lý giới thiệu sơ lược mô hình mô phỏng mà tác giả thực hiện, và kiến thức các thiết bị phần cứng mà tác giả áp dụng cho bài báo. Đồng thời mô tả một số lưu đồ giải thuật để người đọc hình dung được chương trình mà tác giả viết ứng với từng hành động khi có sự cố cho ngôi nhà.
- Khi gặp các điều kiện tương ứng sự cố của ngôi nhà openHAB [9] sẽ xuất lệnh gởi thông báo về google mail (hình 10), gởi thông báo qua mạng xã hội twitter.com (hình 11), và gởi thông báo qua Cloud server của openHab (hình 12) Hình 8. Hình mô tả dữ liệu được nhận từ vi Hình 10 Cảnh báo qua mail đ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 Hình 11 Cảnh báo qua mạng xã hội twitter. thông số. Hình 12 Cảnh báo qua Cloud server của openHab Giao diện quản lý cơ sở dữ liệu MySQL, tất cả các dữ liệu được chỉnh định sẽ lưu ở cơ sở dữ liệu này để làm cơ sở sử dụng các thuật toán ứng dụng. Hình 9. Hình biểu diễn dữ liệu được truyền bởi một vi xử lý trạm
- Ở Hình 15 Xây dựng mô hình dự báo bằng thuật toán Naive Bayes cho thấy được tỷ lệ đúng của dự báo mô mình bằng phương pháp này. Với dữ liệu lưu được và thuật toán Naive Bayes ở bài báo tỷ lệ dự đoán mô hình đúng là 68.355%. Tnd Smarthome Model Accuracy - TreeBagger Hình 13 Quản lý cơ sở dữ liệu MySQL của Incorrect - 14.9367% WampServer 4.2 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 Correct - 85.0633% của ngôi nhà như sau Hình 15 Dự báo mô hình thuật toán {‘Temp’,’Humidity’,’Distance’,’Smoke’, TreeBagger ’Light’,’Rain’,’WaterLeak’,’DC’,’Voltage’ Hình 16 Dự báo mô hình sử dụng thuật } toán TreeBagger, với các số liệu được Tnd Smarthome Model Accuracy - NaiveBayes Segmented chuẩn hóa từ cơ sở dữ liệu và thuật toán Incorrect - 31.6456% TreeBagger là tỷ lệ đúng của mô hình lên tới 85.0633%. 5 KẾT LUẬN Correct - 68.3544% Trong quá trình nghiên cứu bài báo tác giả đã xây dựng thành công mô hình thực nghiệm mô phỏng nhà thông minh, sử dụng Hình 14 Dự báo mô hình sử dụng thuật vi xử lý Arduino và thiết bị truyền nhận toán Naive Bayes. sóng RF nRF24L01 để xây dựng hệ thống Và sử dụng ngõ ra là trạng thái của ngôi nhà Wireless Sensor Network nhằm thu thập dữ và từ đó sử dụng các thuật toán bên dưới để liệu, điều khiển các thiết bị qua môi trường xây dựng mô hình đưa ra dự báo xác suất sóng RF. Hệ thống WSN được thiết kế các thành phần ảnh hướng đến hệ thống thành 3 điểm nút truyền nhận dữ liệu với 10 ngôi nhà. cảm biến khác nhau đặt tại ngôi nhà, sử
- dụng relay để đóng mở các thiết bị như đèn, phần mềm miễn phí tương thích với nhiều quạt, cửa cho ngôi nhà. nền tảng, trong bài báo cơ sở dữ liệu Để giám sát cho ngôi nhà thông minh tác giả MySQL sẽ nhận trực tiếp dữ liệu từ vi điều bài báo đã sử dụng mã nguồn mở openHab khiển gửi về. Tác giả bài báo cũng đã sử dựa trên nền tảng Java và cấu trúc OSGI để dụng các thoật toán Machine learning viết xây dựng nên giao diện Web server để giám trên môi trường Matlab để xử lý các số liệu sát đồng thời sử dụng giao thức MQTT để mà nhà thông minh gửi về. Sử dụng thuật nhận tín hiệu từ ngôi nhà. Với openHab toán Neuron để huấn luyện các mẫu thu người xây dựng các ngưỡng cho các thiết bị thập được đã lưu trong cảm biến và dùng khi chúng vượt qua giới hạn cho phép thì thuật toán phân loại NaiveBayes để dự đoán lập tức sẽ truyền cảnh báo bằng tin nhắn, tình trạng lỗi của hệ thống. Đồng thời mô hình cũng sử dụng phương pháp phân loại dịch vụ thông báo mail của google, hoặc hội tụ dạng cây để đưa ra sự chính xác của phần mềm quản lý myOpenHab do hãng dự báo mô hình. openHab phát triển Tác giả bài báo cũng xây dựng hệ thống lưu trữ tập trung bằng MySQL, đây cũng là REFERENCES [1] D. Evans, "The Internet of Things,How the Next Evolution of the Internet Is Changing Everything," Cisco Internet Business Solutions Group, April 2011. [2] Mark A. Perillo; Wendi B. Heinzelman, "Wireless Sensor Network Protocols," Department of Electrical and Computer Engineering University of Rochester, Rochester, NY, USA. [3] P. Kallis, "Arduino microcontroller and nRF24L01+ transceivers," Network implementation testbed laboratory, University of Thessaly, 2015. [4] MySQL, "MySQL Database," MySQL Database, [Online]. Available: [Accessed 24 November 2015]. [5] D. K. Win, "Concepts in Predictive Machine Learning," Technical University of Denmark, Denmark, 2014. [6] N. Derby, "Statistical Consulting Report," Department of Biostatistics and Statistics, University of Washington, May 17, 2003.
- [7] D. Shiffman, "The Nature of Code: Simulating Natural Systems with Processing," December 13, 2012. [8] MathWorks, "Matlab," Matlab, [Online]. Available: [Accessed 24 November 2015]. [9] openHAB, "Empowering the smart home," [Online]. Available: [Accessed 24 November 2015].
- BÀI BÁO KHOA HỌC THỰC HIỆN CÔNG BỐ THEO QUY CHẾ ĐÀO TẠO THẠC SỸ Bài báo khoa học của học viên có xác nhận và đề xuất cho đăng của Giảng viên hướng dẫn Bản tiếng Việt ©, TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH và TÁC GIẢ Bản quyền tác phẩm đã được bảo hộ bởi Luật xuất bản và Luật Sở hữu trí tuệ Việt Nam. Nghiêm cấm mọi hình thức xuất bản, sao chụp, phát tán nội dung khi chưa có sự đồng ý của tác giả và Trường Đại học Sư phạm Kỹ thuật TP. Hồ Chí Minh. ĐỂ CÓ BÀI BÁO KHOA HỌC TỐT, CẦN CHUNG TAY BẢO VỆ TÁC QUYỀN! Thực hiện theo MTCL & KHTHMTCL Năm học 2016-2017 của Thư viện Trường Đại học Sư phạm Kỹ thuật Tp. Hồ Chí Minh.