Đồ án Ứng dụng của IoT trong xây dựng mô hình nhà thông minh

Phần mềm Android Studio Android Studio là một phầm mềm bao gồm các bộ công cụ khác nhau dùng để phát triển ứng dụng chạy trên thiết bị sử dụng hệ điều hành Android như các loại điện thoại smartphone, các tablet. Android Studio được đóng gói với một bộ code editor, debugger, các công cụ performance tool và một hệ thống build/deploy (trong đó có trình giả lập simulator để giả lập môi trường của thiết bị điện thoại hoặc tablet trên máy tính) cho phép các lập trình viên có thể nhanh chóng phát triển các ứng dụng từ đơn giản tới phức tạp [13]. Để tạo ra 1 Project với Android Studio cần thao tác với các file AndroidMandifest.xml, các file trong thư mục java, các file trong thư mục res. File AndroidMandifest.xml: Là file để bản kê khai trình bày những thông tin thiết yếu về ứng dụng với hệ thống Android, thông tin mà hệ thống phải có trước khi có thể chạy bất kỳ mã nào của ứng dụng.Hay nói cách khác, đây là file dùng để config những thuộc tính cho ứng dụng của bạn mà khi ứng dụng khởi chạy hệ điều hành có thể hiểu được và xử lí. Các file trong thư mục “java”: Đây chính là nơi chứa các package của dự án, có thể tạo các package ở đây và bên trong là các class. Các Class được viết bởi ngôn ngữ Java Cores. Hình 2. 30. Các Class trong Android Studio Các file trong thư mục “res”: Là các file thiết kế phần giao diện trong Android Studio. Hình 2. 31. Thiết kế giao diện trong Android Studio 2.5.3. Phân tích thiết kế App Android Yêu cầu của App - Việc truy cập và điều khiển thiết bị phải dễ dàng, nhanh chóng từ bất kỳ đâu. - Tích hợp điều khiển thiết bị bằng giọng nói. - Đưa ra các thông tin của thiết bị phải chính xác và đầy đủ. - Việc thao tác trên App phải đơn giản và dễ sử dụng cho người dùng. - Sử dụng được trên tất cả các thiết bị điện thoại thông minh. Các chức năng của App Điều khiển thiết bị qua mạng Internet Điều khiển thiết bị thông qua thao tác nhấn ô điều khiển trên App hoặc nhập giọng nói điều khiển. Hiển thị thông tin thiết bị Hiển thị thông tin về nhiệt độ, độ ẩm, tình trạng an toàn khí hiện tại (với mức an toàn với khí gas là dưới 1000ppm) và trạng thái của tất cả các thiết bị của từng phòng mà người dùng được quyền điều khiển.

docx68 trang | Chia sẻ: hachi492 | Ngày: 07/01/2022 | Lượt xem: 564 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đồ án Ứng dụng của IoT trong xây dựng mô hình nhà thông minh, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
h 1 2 3 4 5 9 Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa học, lập luận logic và có cơ sở, từ vựng sử dụng phù hợp v.v.) 1 2 3 4 5 Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp) 10a Có bài báo khoa học được đăng hoặc chấp nhận đăng/đạt giải SVNC khoa học giải 3 cấp Viện trở lên/các giải thưởng khoa học (quốc tế/trong nước) từ giải 3 trở lên/ Có đăng ký bằng phát minh sáng chế 5 10b Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh viên nghiên cứu khoa học nhưng không đạt giải từ giải 3 trở lên/Đạt giải khuyến khích trong các kỳ thi quốc gia và quốc tế khác về chuyên ngành như TI contest. 2 10c Không có thành tích về nghiên cứu khoa học 0 Điểm tổng /50 Điểm tổng quy đổi về thang 10 Nhận xét khác (về thái độ và tinh thần làm việc của sinh viên) Ngày: / / 20 Người nhận xét (Ký và ghi rõ họ tên) ĐÁNH GIÁ QUYỂN ĐỒ ÁN TỐT NGHIỆP (Dùng cho cán bộ phản biện) Giảng viên đánh giá: Họ và tên sinh viên: MSSV: Tên đồ án: Chọn các mức điểm phù hợp cho sinh viên trình bày theo các tiêu chí dưới đây: Rất kém (1); Kém (2); Đạt (3); Giỏi (4); Xuất sắc (5) Có sự kết hợp giữa lý thuyết và thực hành (20) 1 Nêu rõ tính cấp thiết và quan trọng của đề tài, các vấn đề và các giả thuyết (bao gồm mục đích và tính phù hợp) cũng như phạm vi ứng dụng của đồ án 1 2 3 4 5 2 Cập nhật kết quả nghiên cứu gần đây nhất (trong nước/quốc tế) 1 2 3 4 5 3 Nêu rõ và chi tiết phương pháp nghiên cứu/giải quyết vấn đề 1 2 3 4 5 4 Có kết quả mô phỏng/thưc nghiệm và trình bày rõ ràng kết quả đạt được 1 2 3 4 5 Có khả năng phân tích và đánh giá kết quả (15) 5 Kế hoạch làm việc rõ ràng bao gồm mục tiêu và phương pháp thực hiện dựa trên kết quả nghiên cứu lý thuyết một cách có hệ thống 1 2 3 4 5 6 Kết quả được trình bày một cách logic và dễ hiểu, tất cả kết quả đều được phân tích và đánh giá thỏa đáng. 1 2 3 4 5 7 Trong phần kết luận, tác giả chỉ rõ sự khác biệt (nếu có) giữa kết quả đạt được và mục tiêu ban đầu đề ra đồng thời cung cấp lập luận để đề xuất hướng giải quyết có thể thực hiện trong tương lai. 1 2 3 4 5 Kỹ năng viết quyển đồ án (10) 8 Đồ án trình bày đúng mẫu quy định với cấu trúc các chương logic và đẹp mắt (bảng biểu, hình ảnh rõ ràng, có tiêu đề, được đánh số thứ tự và được giải thích hay đề cập đến trong đồ án, có căn lề, dấu cách sau dấu chấm, dấu phẩy v.v), có mở đầu chương và kết luận chương, có liệt kê tài liệu tham khảo và có trích dẫn đúng quy định 1 2 3 4 5 9 Kỹ năng viết xuất sắc (cấu trúc câu chuẩn, văn phong khoa học, lập luận logic và có cơ sở, từ vựng sử dụng phù hợp v.v.) 1 2 3 4 5 Thành tựu nghiên cứu khoa học (5) (chọn 1 trong 3 trường hợp) 10a Có bài báo khoa học được đăng hoặc chấp nhận đăng/đạt giải SVNC khoa học giải 3 cấp Viện trở lên/các giải thưởng khoa học (quốc tế/trong nước) từ giải 3 trở lên/ Có đăng ký bằng phát minh sáng chế 5 10b Được báo cáo tại hội đồng cấp Viện trong hội nghị sinh viên nghiên cứu khoa học nhưng không đạt giải từ giải 3 trở lên/Đạt giải khuyến khích trong các kỳ thi quốc gia và quốc tế khác về chuyên ngành như TI contest. 2 10c Không có thành tích về nghiên cứu khoa học 0 Điểm tổng /50 Điểm tổng quy đổi về thang 10 Nhận xét khác của cán bộ phản biện Ngày: / / 20 Người nhận xét (Ký và ghi rõ họ tên) LỜI NÓI ĐẦU Cùng với sự phát triển không ngừng của khoa học công nghệ, nhiều sản phẩm mới với đầy đủ tiện ích đã ra đời để phục vụ trong sinh hoạt. Những sản phẩm đó đang hướng tới xu thế tự động hóa và ngày càng thông minh để phục vụ nhu cầu cao của con người. Với xu hướng này, nhiều nước trên thế giới đã ứng dụng khoa học kĩ thuật hiện đại để những thiết bị trong nhà có thể điều khiển một cách tự động. Sự ra đời của IoT khi mà mọi thiết bị có thể kết nối với nhau, kết nối với con người để có sự đồng bộ trong hoạt động và điều khiển hoạt động của các thiết bị. Ngày nay, Việt Nam cũng đã, đang và sẽ có rất nhiều công ty, tập đoàn nghiên cứu để thiết kế ra các mô hình nhà thông minh và đó cũng là một trong những xu thế phát triển của công nghệ trong thời gian tới. Với mong muốn được học tập, nghiên cứu và vận dụng kiến thức đã được học trên giảng đường. Em đã lựa chọn đề tài:“Ứng dụng của IoT trong xây dựng mô hình nhà thông minh ”. Trong quá trình thực hiện đề tài thực tập này, em xin gửi lời cảm ơn chân thành tới cô Nguyễn Thị Kim Thoa, Viện Điện tử - Viễn thông, trường Đại học Bách Khoa Hà Nội, đã hướng dẫn tận tình và chỉ dẫn các bước, cung cấp những tài liệu nghiên cứu quý báu, hướng nghiên cứu để em có thể thực hiện được các yêu cầu của đồ án. Trong quá trình thực hiện đề tài, dựa theo những kết quả đạt được bước đầu, dù đã rất cố gắng tuy nhiên không tránh khỏi những thiếu sót và hạn chế nhất định. Vì vậy, em rất mong nhận được sự góp ý, bổ sung của các thầy cô để đề tài được tối ưu và hoàn thiện hơn. Em xin chân thành cảm ơn! LỜI CAM ĐOAN Tôi là Bùi Văn Hưng, mã số sinh viên 20142134, sinh viên lớp Điện tử 06, khóa K59. Người hướng dẫn là ThS. Nguyễn Thị Kim Thoa. Tôi xin cam đoan toàn bộ nội dung được trình bày trong đồ án Ứng dụng của IoT trong xây dựng mô hình nhà thông minh là kết quả quá trình tìm hiểu và nghiên cứu của tôi. Các dữ liệu được nêu trong đồ án là hoàn toàn trung thực, phản ánh đúng kết quả đo đạc thực tế. Mọi thông tin trích dẫn đều tuân thủ các quy định về sở hữu trí tuệ; các tài liệu tham khảo được liệt kê rõ ràng. Tôi xin chịu hoàn toàn trách nhiệm với những nội dung được viết trong đồ án này. Hà Nội, ngày 05 tháng 06 năm 2019 Người cam đoan Bùi Văn Hưng TÓM TẮT ĐỒ ÁN Nội dung chính của đề tài là trình bày các vấn đề liên quan đến IoT, về mô hình nhà thông minh SmartHome, ứng dụng của IoT trong việc xây dựng một mô hình nhà thông minh thực tế. Cụ thể: Chương 1: Giới thiệu về phần lý thuyết, các vấn đề liên quan đến IoT, khái niệm về nhà thông minh, một số mô hình nhà thông minh, các thành phần để có thể xây dựng được một mô hình nhà thông minh. Chương 2: Trình bày về các bước trong quá trình thiết kế, xây dựng một mô hình nhà thông minh. ABSTRACT The main content of diploma project is to present IoT related issues. It's SmartHome model, IoT's application in building a real Smart Home. The issues are presented in two chapters Chapter 1: Introduction IOT theory, IoT related issues,the concept of smart homes, some smart home models, components to be able to build a smart home model. Chapter 2: Describe the steps in the design process, building a smart home model. KẾ HOẠCH THỰC HIỆN Thời gian Công việc 2/3- 5/3 Nhận đề tài: Ứng dụng của IoT trong xây dựng mô hình nhà thông minh 6/3- 26/3 Tìm hiểu đề tài đưa ra một số giải pháp để thực hiện đề tài 27/3- 15/4 Triển khai phần cứng, test các tính năng trên PIC16F877 và module ESP8266 Tìm kiếm các giải pháp triển khai Server, để lưu trữ, xử lý dữ liệu 16/4- 10/5 Nghiên cứu hoạt động của module cảm biến DHT11 và cảm biến MQ2 Xây dựng Server, xây dựng App trên hệ điều hành Android 11/5- 31/5 Hoàn thiện thiết kế mạch, đặt mạch in, kiểm thử các tính năng Hoàn thiện Server, hoàn thiện App MỤC LỤC DANH SÁCH HÌNH VẼ Hình 1. 1. Mô hình IoT 19 Hình 1. 2. Các thành phần cơ bản của hệ thống nhà thông minh 22 Hình 1. 3 Sơ đồ kết nối hệ thống của Bkav SmartHome Luxury 23 Hình 1. 4. Một số thiết bị điện nhà thông minh cho gia đình 24 Hình 1. 5. ESP8266 V12E 25 Hình 1. 6. Sơ đồ chân của nodeMCU ESP8266 v12E 26 Hình 1. 7. Minh họa mô hình mạng không dây 27 Hình 1. 8. Mô hình tham chiếu OSI 29 Hình 1. 9. Mô hình Client – Server của giao thức HTTP 30 Hình 1. 10. Biểu đồ thời gian kết nối HTTP không bền vững 31 Hình 1. 11. Giao diện trang 000webhost 33 Hình 1. 12. Các tầng của hệ điều hành Android 35 Hình 2. 1. Sơ đồ tổng quan hệ thống 40 Hình 2. 2. Sơ đồ mạch nguyên lý toàn hệ thống 42 Hình 2. 3. Adapter 5V-2A 43 Hình 2. 4. Nguồn AMS1117 44 Hình 2. 5. Khối xử lý trung tâm 44 Hình 2. 6. Vi điều khiển PIC16F877A 45 Hình 2. 7. Khối truyền thông 45 Hình 2. 8. Module ESP8266 thật 46 Hình 2. 9. Khối cảm biến 46 Hình 2. 10. Cảm biến nhiệt độ độ ẩm DHT11 47 Hình 2. 11. Khối điều khiển 47 Hình 2. 12. Nút bấm 48 Hình 2. 13. Khối ngoại vi 48 Hình 2. 14. Khối hiển thị 49 Hình 2. 15. LCD 16x2 49 Hình 2. 16. Mạch in lớp Top và Bottom 50 Hình 2. 17. Mạch in 2 lớp 50 Hình 2. 18. Mô hình mạch 3D 51 Hình 2. 19. Hình ảnh sản phẩm 52 Hình 2. 20. Trang chủ 000webhost. 52 Hình 2. 21. Giao diện đăng ký 53 Hình 2. 22. Xác nhận Mail. 53 Hình 2. 23. Giao diện web đăng nhập 54 Hình 2. 24. Giao diện cài đặt. 54 Hình 2. 25. Các file được tạo 55 Hình 2. 26. Giao diện khởi động 56 Hình 2. 27. Giao diện điều khiển 56 Hình 2. 28. Cài đặt JDK trên Window 57 Hình 2. 29. File AndroidMandifest.xml 58 Hình 2. 30. Các Class trong Android Studio 58 Hình 2. 31. Thiết kế giao diện trong Android Studio 59 Hình 2. 32. AppDOAN 60 Hình 2. 33. Giao diện App 61 Hình 2. 34. Tìm kiếm bằng giọng nói. 62 DANH SÁCH CÁC BẢNG BIỂU Bảng 1. 1. Các kiểu file trong Android 38 Bảng 2. 1. Test lần 1 lúc 18h00 ngày 28/ 05/ 2019 63 Bảng 2. 2. Test lần 2 lúc 18h00 ngày 29/ 05/ 2019 63 Bảng 2. 3. Test lần 3 lúc 18h00 ngày 30/ 05/ 2019 64 Bảng 2. 4. Test lần 4 lúc 18h00 ngày 31/ 05/ 2019 64 DANH SÁCH CÁC TỪ VIẾT TẮT STT Kí hiệu Thuật ngữ đầy đủ 1 IP Internet Protocol 2 IoT Internet of Things 3 API Application Progmraming Interface 4 I/O Input/Output 5 USB Universal Serial Bus 6 IDE Intergrated Development Environment 7 API Application Progmraming Interface 8 MCU Micro Controller Unit 9 PC Personal Computer 10 IEEE Institute of Electrical and Electronics Engineers 11 TCP/IP Transport Control Protocol/Internet Protocol 12 UART Universal Asynchronous Receiver/Transmitter 13 SPI Serial Peripheral Bus 14 ADC Analog-to-digital converter 15 WPA WiFi Protected Access 16 Wi-Fi Wireless Fidelity 17 IoT Internet of Things 18 SOC System On Chip 19 HTTP Hyper Text Transfer Protocol 20 UDP User Datagram Protocol PHẦN MỞ ĐẦU Đặt vấn đề Cùng với sự phát triển không ngừng của khoa học công nghệ, nhiều sảnjphẩm mới với đầy đủ tiện ích đã ra đời để phục vụ trong sinh hoạt. Những sản phẩm đó đang hướng tới xu thế tự động hóa và ngày càng thông minh để phục vụ nhu cầu ngàyjcàng cao của con người. Do đó, một ngôi nhà thông minh với các thiết bị được điểu khiển và theo dõi từ bất kỳ đâu đã trở lên ngày càng cần thiết. Qua báo chí, các phương tiện truyền thông, Internet, chúng ta có thể dễ dàng tìm thấy những mô hình nhà thông minh. Nhà thông minh được xây dựng trên nền tảng của công nghệ IoT, với giá thành đầu tư cho hệ thống không quá đắt, phù hợp với tình hìnhjthực tế tại Việt Nam, mặc dù chưa được phátjtriển mạnh mẽ song hứa hẹn nhiều kết quả tốt trong tương lai. Đồng thời, việc tập trung vào nghiên cứu kĩ thuật đo đạc và truyền dữ liệu của công nghệ không dây WiFiCâu này không có vị ngữ . Là một sinh viên viện Điện tử viễn thông, với những kiến thức đã được học cùng với mong muốn thiếtjkế một ngôi nhà tự động hóa có thể đáp ứng được nhu cầu sinh hoạt hằng ngày, giúp tiết kiệm năng lượng, cùng với sự hướngjdẫn của cô Nguyễn Thị Kim Thoa, em đã chọn đề tài: “Ứng dụng của IoT trong xây dựng mô hình nhà thông minh " làm đồ án tốt nghiệp. Mục đích nghiên cứu Đề tài đượcjnghiên cứu, khảo sát và thực hiện với mục đích áp dụng các kiến thức đã học trên ghế nhà trườngjđể xây dựng, phát triển một mô hình nhà thông minh. Đề tài đặt ra những chức năng sau: Tìm hiểu, xây dựng một hệ thống toàn diện có tính ứng dụng thực tiễn, Xây dựng được một cơ sở dữ liệu đáp ứng đủ cácjtiêu chí đặt ra với một hệ thống, đa nền tảng, có tính kế thừa cao. Phần cứng có thể dễ dàng triển khai, giảm thiểu chi phí phát sinh. Phương pháp nghiên cứu Trong đề tài này, em đã sử dụng các phương pháp nghiên cứu: Phương pháp tham khảo tài liệu: bằng cách thu thập thông tin từ sách, tạp chí về điện tử, viễn thông, truy cập từ mạng internet. Phương pháp quan sát: khảo sát một số ứng dụng có sử dụng công nghệ IoT, các hệ thống nhà thông minh trên thế giới và ở Việt Nam. Phương pháp thực nghiệm: Xem xét một số công nghệ đã được áp dụng trước đó để rút ra kinh nghiệm cũng như những yêu cầu đề ra cho hệ thống mô hình nhà thông minh. Kết luận Phần Mở đầu chủ yếu giới thiệu tổng quan về đề tài SmartHome– một xu hướng công nghệ cho tương lai. Tuy xuất hiện từ lâujnhưng trong những năm gần đây nó được nhiều doanh nghiệp cũng như các nhà khoa học để ý và phát triển mạnh mẽ. Chính vì vậy, các thiết bịjthông minh: tivi thông minh, tủ lạnh thông minh,lần lượt được giới thiệu. Nhà thông minh là hệ thống tiềm năngjcủa IoT và sẽ được phát triển mạnh mẽ trongjthời gian tới. CHƯƠNG I: CƠ SỞ LÝ THUYẾT Chương này đề cập đến cơ sở lý thuyết về mô hình IoT, mô hình nhà thông minh, các thành phần trong việc xây dựng mô hình nhà thông minh. 1.1. Hệ sinh thái Internet of Things- IoT ? 1.1.1. Khái niệm Internet of Things Internet Vạn Vật, hay cụ thể hơn là Mạng lưới vạn vật kết nối Internet hoặc là Mạng lưới thiết bị kết nối Internet (tiếng Anh: Internet of Things, viết tắt IoT) là một liên mạng (Hình 1. 1), trong đó các thiết bị, phương tiện vận tải (được gọi là thiết bị kết nối“ và thiết bị thông minh“), phòng ốc và các trang thiết bị khác được nhúng với các bộ phận điện tử, phần mềm, cảm biến, cơ cấu chấp hành cùng với khả năng kết nối mạng máy tính giúp cho các thiết bị này có thể thu thập và truyền tải dữ liệu [1]. Hình 1. 1. Mô hình IoT 1.1.2. Kiến trúc Internet of Things Kiến trúc IoT được đại diện cơ bản bởi 4 phần: Vạn vật (Things), trạm kết nối (Gateways), hạ tầng mạng và điện toán đám mây (Network and Cloud) và các lớp tạo và cung cấp dịch vụ (Services-creation and Solutions Layers) [2]. Vạn vật (Things): Ngày nay có hàng tỷ vật dụng đang hiện hữu trên thị trường gia dụng và công nghệ, ở trong nhà hoặc trên tay của người dùng. Chẳng hạn như xe hơi, thiết bị cảm biến, thiết bị đeo và điện thoại di động đang được kết nối trực tiếp thông qua băng tầng mạng không dây và truy cập vào Internet. Giải pháp IoT giúp các thiết bị thông minh được sàng lọc, kết nối và quản lý dữ liệu một cách cục bộ, còn các thiết bị chưa thông minh thì có thể kết nối được thông qua các trạm kết nối . Trạm kết nối (Gateways): Một rào cản chính khi triển khai IoT đó là gần 85% các vật dụng đã không được thiết kế để có thể kết nối với Internet và không thể chia sẻ dữ liệu với điện toán đám mây. Để khắc phục vấn đề này, các trạm kết nối sẽ đóng vai trò là một trung gian trực tiếp, cho phép các vật dụng có sẵn này kết nối với điện toán đám mây một cách bảo mật và dễ dàng quản lý. Hạ tầng mạng và điện toán đám mây (Network and Cloud): - Cơ sở hạ tầng kết nối: Internet là một hệ thống toàn cầu của nhiều mạng IP được kết nối với nhau và liên kết với hệ thống máy tính. Cơ sở hạ tầng mạng này bao gồm thiết bị định tuyến, trạm kết nối, thiết bị tổng hợp, thiếp bị lặp và nhiều thiết bị khác có thể kiểm soát lưu lượng dữ liệu lưu thông và cũng được kết nối đến mạng lưới viễn thông và cáp – được triển khai bởi các nhà cung cấp dịch vụ. - Trung tâm dữ liệu/ hạ tầng điện toán đám mây: Các trung tâm dữ liệu và hạ tầng điện toán đám mây bao gồm một hệ thống lớn các máy chủ, hệ thống lưu trữ và mạng ảo hóa được kết nối. Các lớp giải giải pháp và tạo dịch vụ (Services-Creation and Solutions Layers): Intel đã kết hợp những phần mềm quản lý API hàng đầu (Application Progmraming Interface) là Mashery* và Aepona* để giúp đưa các sản phẩm và giải pháp IoT ra thị trường một cách chóng và tận dụng được hết giá trị của việc phân tích các dữ liệu từ hệ thống và tài sản đang có sẵn. 1.2. Mô hình nhà thông minh? 1.2.1 Nhà thông minh là gì? Nhà thông minh hoặc hệ thống nhà thông minh là một ngôi nhà/ căn hộ được trang bị hệ thống tự động tiên tiến dành cho điều khiển đèn chiếu sáng, nhiệt độ, truyền thông đa phương tiện, an ninh, rèm cửa, cửa và nhiều tính năng khác nhằm mục đích làm cho cuộc sống ngày càng tiện nghi, an toàn và góp phần sử dụng hợp lý các nguồn tài nguyên [3]. Theo wiseGeek, một ngôi nhà (hoặc căn hộ) được coi là "thông minh" bởi vì hệ thống máy tính của nó có thể theo dõi rất nhiều khía cạnh của cuộc sống thường ngày. Một trong những ví dụ cơ bản nhất của nhà thông minh là một hệ thống kiểm soát mức độ chiếu sáng của hệ thống đèn giúp tiết kiệm điện và phù hợp với khung cảnh, chẳng hạn như cài đặt đèn ánh sáng nhẹ cho các bữa tiệc tối. Hệ thống cũng có thể điều chỉnh rèm cửa theo yêu cầu, kiểm soát nhiệt độ, hệ thống camera giám sát, hệ thống khóa cửa tự động, hệ thống phòng ngừa trộm. Nhà thông minh ngoài ra còn có một số ứng dụng sáng tạo hơn, gồm hệ thống điều khiển giải trí tại gia – loa công suất khác nhau, hệ thống điện thoại, liên lạc nội bộ, hệ thống tưới nước... Các chức năng này có thể được thực hiện nhờ các thiết bị trong nhà được kết nối với nhau để hệ thống máy tính trung tâm có thể theo dõi các trạng thái và ra các quyết định điều khiển phù hợp. Nhà thông minh đã được hình dung trong các tác phẩm khoa học viễn tưởng từ nhiều năm nhưng nó chỉ trở thành hiện thực kể từ thế kỷ 20 sau sự phát triển rộng rãi của điện và những tiến bộ nhanh chóng của công nghệ thông tin, theo Wikipedia. 1.2.2. Các thành phần của nhà thông minh. Các thành phần của hệ thống nhà thông minh bao gồm các cảm biến (như cảm biến nhiệt độ, cảm biến ánh sáng hoặc do cử chỉ), các bộ điều khiển hoặc máy chủ và các thiết bị chấp hành khác (Hình 1. 2). Nhờ hệ thống cảm biến, các bộ điều khiển và máy chủ có thể theo dõi các trạng thái bên trong ngồi nhà để đưa ra các quyết định điều khiển các thiết bị chấp hành một cách phù hợp nhằm đảm bảo môi trường sống tốt nhất cho con người [3]. Hình 1. 2. Các thành phần cơ bản của hệ thống nhà thông minh 1.3. Một số mô hình nhà thông minh tại Việt Nam 1.3.1. Bkav SmartHome Luxury Bkav SmartHome là hệ thống nhà thông minh thế hệ mới nhất trên thế giới, công nghệ vượt trội- theo tiêu chí xếp hạng của Gartner. Các sản phẩm của Bkav tập chung vào phân khúc cao cấp, cạnh tranh với các giải pháp nhà thông minh từ nước ngoài. Nhà thông minh Bkav kết nối tất cả các thiết bị trong ngồi nhà của bạn thành một hệ thống mạng (Hình 1. 3), có thể điều khiển chúng theo các kịch bản thông minh, bao gồm: Hệ thống đèn chiếu sáng, rèm cửa, điều hòa nhiệt độ, tivi, âm thanh, khóa cửa, bình nóng lạnh, quạt thông gió, camera an ninh, chuông cửa có hình, hệ thống bơm tưới nước tiểu cảnh, bể cá. Có thể điều khiển trực tiếp thông qua thiết bị gắn trên tường hoặc dùng smartphone, máy tính bảng [4]. Hình 1. 3 Sơ đồ kết nối hệ thống của Bkav SmartHome Luxury Nhà thông minh Bkav SmartHome Luxury bao gồm 1 số tính năng sau: Hệ thống ánh sáng thông minh Hệ thống điều khiển rèm mành Hệ thống an ninh thông minh Hệ thống kiểm soát môi trường Hệ thống giải trí âm thanh đa vùng Kịch bản ngữ cảnh thông minh Kết nối không giới hạn Danh sách thiết bị 1.3.2. Nhà thông minh Lumi Khác với BKAV, nhà thông minh Lumi tập trung mạnh vào phân khúc nhà thông minh trung và cao cấp trên thị trường Việt Nam. Ra mắt công tắc cảm ứng và giải pháp nhà thông minh ra thị trường đầu năm 2012, sau 4 năm xây dựng và phát triển, Lumi đã vươn lên trở thành nhà cung cấp sản phẩm công tắc điện cảm ứng, thiết bị điện thông minh và giải pháp nhà thông minh có thị phần lớn nhất trong phân khúc trung và cao cấp tại Việt Nam [5]. Hình 1. 4. Một số thiết bị điện nhà thông minh cho gia đình Một số đặc điểm của nhà thông minh Lumi Bật/tắt thiết bị điện dễ dàng bằng Smartphone An toàn tuyệt đối về điện Nâng cao giá trị ngôi nhà, khẳng định đẳng cấp Giải pháp chống trộm hoàn hảo 1.3.3. Nhà thông minh Scheider- Wiser Home Scheneider là một tập đoàn lớn trên thế giới cung cấp thiết bị điện đến từ Pháp. Ngày 18/ 4/2017 tập đoàn Scheneider đã khánh thành nhà máy chuyên sản xuất thiết bị điện cho giải pháp nhà thông minh tại khu công nghệ cao Sài Gòn, Quận 9, TPHCM. Các thiết bị điện thông minh của Scheneider đều có những ưu điểm vượt trội về chất lượng cũng như độ bền của sản phẩm [5]. Một số đặc điểm của nhà thông minh Scheider- Wiser Home Điều khiển theo kịch bản Điều khiển theo thời gian Điều khiển chiếu sáng tự động Điều khiển rèm và cửa tự động Điều khiển điều hòa nhiệt độ thông minh Điều khiển bằng Iphone, Ipad Hệ thống an ninh, cảnh báo chống đột nhập Hệ thống cảnh báo cháy, báo rò gas Hệ thống camera giám sát Hệ thống chuông cửa có hình Hệ thống âm thanh đa vùng 1.4. Các thành phần trong xây dựng mô hình nhà thông minh 1.4.1. ESP8266 Esp8266 là một wifi SOC được phát triển bởi công ty Trung Quốc Espressif Systems. Esp8266 được tích hợp đầy đủ các tính năng về internet với kích thước rất nhỏ gọn với mức giá rất rẻ. Bên trong Esp8266 có sẵn một lõi vi xử lý nên có thể trực tiếp lập trình cho nó mà không cần bất kỳ một con vi xử lý nào nữa [6]. Hình 1. 5. ESP8266 V12E Thông số kỹ thuật 32-bit RISC CPU: Tensilica LX106 hoạt động với 80MHz Chip nạp CP2102 64 Kb instruction RAM, 96 Kb data RAM QSPI flash ngoài: 512 Kb IEEE 802.11b/g/n WiFi WiFi 2.4 GHz, hỗ trợ WPA/WPA2 16 chân GPIO Hỗ trợ SPI, I2C, I2S, UART, ADC Chuẩn điện áp hoạt động: 3.3V DC Dải nhiệt độ hoạt động: -40 oC - 125 oC Sơ đồ chân: Hình 1. 6. Sơ đồ chân của nodeMCU ESP8266 v12E 1.4.2. Wi-Fi Giới thiệu Hình 1. 7. Minh họa mô hình mạng không dây Wi-Fi viết tắt từ Wireless Fidelity hay mạng 802.11 là hệ thống mạng không dây sử dụng sóng vô tuyến, giống như điện thoại di động, truyền hình và radio. Hệ thống này đã hoạt động ở một số sân bay, quán café, thư viện hoặc khách sạn. Hệ thống cho phép truy cập Internet tại những khu vực có sóng, hoàn toàn không cần đến cáp nối. Ngoài các điểm kết nối công cộng, WiFi có thể được thiết lập ngay tại nhà riêng [7]. Ưu điểm: Sự tiện lợi: nó cho phép người dùng truy xuất tài nguyên mạng ở bất kỳ nơi đâu trong khu vực triển khai (nhà, văn phòng). Với sự gia tăng số lượng người sử dụng laptop hay smartphone, đó là điều rất tiện lợi. Khả năng di động: người dùng có thể duy trì kết nối mạng trong một phạm vi nhất định khi họ di chuyển từ nơi này sang nơi khác. Triển khai dễ dàng: việc thiết lập mạng không dây ban đầu chỉ cần ít nhất một điểm truy nhập.Với mạng dùng cáp, nó phải tốn thêm chi phí và có thể gặp khó khăn hơn. Khả năng mở rộng: có thể đáp ứng tức thì khi gia tăng số lượng người dùng. Với hệ thống mạng cáp phải gắn thêm cáp. Nhược điểm: Phạm vi: với một mạng không dây thông thường thì nó phù hợp trong một căn nhà, nhưng với một tòa nhà lớn thì không đáp ứng đủ nhu cầu. Độ tin cậy: vì sử dụng sóng vô tuyến để truyền thông nên việc bị nhiễu, tín hiệu giảm do tác động của các thiết bị khác là không tránh khỏi. Tốc độ: tốc độ của mạng không dây (1-125Mbs) là nhỏ hơn rất nhiều so với mạng sử dụng cáp (100Mpbs đến hàng Gpbs). Các chuẩn wifi thông dụng Wifi được phát triển từ tổ chức IEEE. Tổ chức này tạo ra một tập các chuẩn để đặc tả thông số kỹ thuật của mạng không dây và gọi nó là IEEE 802.11. Chuẩn kết nối này bao gồm các chuẩn nhỏ như: a/b/g/n/ac thường được mô tả rất rõ trong cấu hình trên các thiết bị di động. Chuẩn 802.11 Chuẩn 802.11b Chuẩn 802.11a Chuẩn 802.11g Chuẩn 802.11n (hay 802.11b/g/n) Chuẩn 802.11ac Ứng dụng của wifi Khả năng truy cập mạng internet không dây không chỉ là tiện ích duy nhất của wifi mà nó còn có các ứng dụng khác như: Điều khiển các thiết bị từ xa Chia sẻ dữ liệu trên các máy tính Đồng bộ hóa dữ liệu Ứng dụng phát triển cho các ngành kỹ thuật 1.4.3. Giao thức truyền thông HTTP 1.4.3.1. Giới thiệu Giao thức HTTP (Hyper Text Transfer Protocol – Giao thức truyền tải siêu văn bản) là một trong những giao thức chuẩn về mạng Internet. HTTP là một giao thức thuộc tầng ứng dùng (Application) được dùng để truyền tải các tài liệu đa phương tiện, ví dụ như HTML (Hình 1. 8). Giao thức này được thiết kế để truyền thông giữa các trình duyệt web và máy chủ web, tuy nhiên nó cũng được dùng cho nhiều mục đích khác [7]. Hình 1. 8. Mô hình tham chiếu OSI HTTP tuân theo một mô hình client – server truyền thống (như Hình 1. 9), với một client mở một kết nối (connection) để tạo ra một yêu cầu (request), sau đó chờ đợi cho đến khi nó nhận được một phản hồi (response). HTTP là một giao thức không lưu lại trạng thái (stateless protocol), có nghĩa là máy chủ không lưu giữ bất cứ dữ liệu gì giữa các yêu cầu. Bởi thường được dựa trên một lớp TCP/IP, nó có thể được sử dụng trên bất cứ tầng giao vận (transport) đáng tin cậy nào – những giao thức không bị mất dữ liệu (như giao thức UDP). Hình 1. 9. Mô hình Client – Server của giao thức HTTP 1.4.3.2. Kết nối HTTP Trong giao thức HTTP có hai loại kết nối: Kết nối không bền vững: Sau khi server gửi đi một đối tượng thì kết nối TCP sẽ được đóng. Như vậy, mỗi kết nối TCP chỉ truyền được duy nhất một yêu cầu từ client và nhận lại một bản tin trả lời từ server. Kết nối bền vững: server sẽ duy trì kết nối TCP cho việc gửi nhiều đối tượng. Như vậy, sẽ có nhiều yêu cầu từ client được gửi đến server trên cùng một kết nối. Thông thường, kết nối TCP này sẽ được đóng lại trong một khoảng thời gian định trước. Hình 1. 10. Biểu đồ thời gian kết nối HTTP không bền vững Hình trên thể hiện chi tiết các bước hoạt động trong kết nối HTTP không bền vững giữa HTTP client (FireFox, Chrome, ) và HTTP server (ví dụ www.google.com). Một điều cần lưu ý, trong kết nối HTTP không bền vững cần có một RTT để khởi tạo kết nối TCP. Ngoài ra, cần có một RTT cho bản tin HTTP yêu cầu và byte đầu tiên của bản tin HTTP trả lời được trả về. Tổng thời gian truyền tập tin = 2 * RTT + thời gian truyền Thời gian đáp ứng RTT là thời gian gửi một gói tin cơ bản từ client đến server rồi quay trở lại. RTT bao gồm độ trễ truyền gói và hàng đợi, trễ trong các bộ định tuyến trung gian, chuyển mạch và xử lý gói tin. 1.4.4. Firebase 1.4.4.1. Khái niệm Firebase là một dịch vụ cơ sở dữ liệu thời gian thực hoạt động trên nền tảng đám mây được cung cấp bởi Google nhằm giúp các lập trình viên phát triển nhanh các ứng dụng bằng cách đơn giản hóa các thao tác với cơ sở dữ liệu. Với Google Firebase, bạn có thể tạo ra các ứng dụng chat như Yahoo Message trước đây hoặc như Facebook Messager ngày nay trong thời gian cực ngắn, khoảng một ngày thậm chí là vài giờ bởi đơn giản là bạn chỉ cần lo phần client còn phần server và database đã có firebase lo. Firebase là sự kết hợp giữa nền tảng cloud với hệ thống máy chủ cực kì mạnh mẽ tới từ Google, để cung cấp cho chúng ta những API đơn giản, mạnh mẽ và đa nền tảng trong việc quản lý, sử dụng database [8]. 1.4.4.2. Chức năng chính Realtime Database – Cơ sở dữ liệu thời gian thực Firebase Authentication – Hệ thống xác thực của Firebase Firebase Hosting 1.4.4.3. Ưu điểm của việc sử dụng Google Firebase Triển khai ứng dụng cực nhanh Bảo mật Tính linh hoạt và khả năng mở rộng Sự ổn định Giá thành phù hợp 1.4.5. Heroku Server Heroku là dịch vụ cung cấp máy chủ đám mây miễn phí cho người dùng, giúp dễ dàng trong việc triển khai ứng dụng. Người dùng có thể sử dụng dịch vụ hoàn toàn miễn phí với các ứng dụng web không yêu cầu phải có tốc độ truy cập cao hay dung lượng lớn. Heroku hỗ trợ nhiều ngôn ngữ lập trình: NodeJS, Ruby, Python, PHP, Java, Scala, Clojure, Go, Kotlin [9]. Heroku Server cho phép trỏ domain về, hỗ trợ up code dùng Github với tốc độ rất nhanh. Thêm nữa, Heroku rất ổn định và chạy tốt với ứng dụng nodejs. Bên cạnh những điểm lợi, Heroku có những hạn chế nhất định: lưu trữu file trực tiếp trên ứng dụng sẽ bị mất, database hỗ trợ dạng plugin nên sử dụng phức tạp và đặc biệt HTTP timeout. 1.4.6. 000webhost. 1.4.6.1. Khái niệm 000webhost là một website cung cấp dịch vụ hosting hoàn toàn miễn phí, được xây dựng và phát triển bởi hostinger. Tại đây bạn có thể tạo một hosting và upload mã nguồn website được viết bằng ngôn ngữ PHP và MySQL [10]. Hình 1. 11. Giao diện trang 000webhost 1.4.6.2. Thông tin về gói hosting miễn phí của 000webhost Thông tin gói miễn phí: Dung lượng đĩa: 1000MB Băng thông: 10GB Số website: 2 Domain mặc định: tenwebsite.000webhostapp.com Không hỗ trợ email, SSL Hỗ trợ WordPress 3.2.6.3. Ưu và nhược điểm của 000webhost Ưu điểm: Miễn phí. Không chứa quảng cáo. Dung lượng khá so với giá của nó. Hỗ trợ wordpress. Nhược điểm: Băng thông ít nên người dùng không được thoải mái. Tốc độ truy cập web không được nhanh. Không phù hợp cho những người có ý định làm blog hoặc website lâu dài. Không tạo sử dụng được với tên miền riêng, phải sử dụng tên miền đuôi .000webhostapp.com. Hiển thị logo 000webhost ở cuối trang web. 1.4.7. Hệ điều hành Android 1.4.7.1. Hệ điều hành Android là gì? Android là một hệ điều hành di động dựa trên nền tảng Linux phiên bản 2.6 dành cho các dòng điện thoại Smartphone. Ban đầu, Android được phát triển bởi Tổng công ty Android, với sự hỗ trợ tài chính từ Google và sau này được chính Google mua lại vào năm 2005. Android ra mắt vào năm 2007 cùng với tuyên bố thành lập Liên minh thiết bị cầm tay mở: một hiệp hội gồm các công ty phần cứng, phần mềm, và viễn thông với mục tiêu đẩy mạnh các tiêu chuẩn mở cho các thiết bị di động. Chiếc điện thoại đầu tiên chạy Android được bán vào tháng 10 năm 2008 [11]. Android có mã nguồn mở và Google phát hành mã nguồn theo giấy phép Apache. Chính mã nguồn mở cùng với một giấy phép không có nhiều ràng buộc đã cho phép các nhà phát triển thiết bị, mạng di động và các lập trình viên nhiệt huyết được điều chỉnh và phân phối Android một cách tự do. Ngoài ra, Android còn có một cộng đồng lập trình viên đông đảo chuyên viết các ứng dụng để mở rộng chức năng của thiết bị, bằng một loại ngôn ngữ lập trình Java có sửa đổi. Vào tháng 10 năm 2012, có khoảng 700.000 ứng dụng trên Android, và số lượt tải ứng dụng từ Google Play, cửa hàng ứng dụng chính của Android, ước tính khoảng 25 tỷ lượt. Android đã phát triển qua nhiều năm với rất nhiều các phiên bản, tên của các phiên bản Android được đặt tên theo thứ tự ABC, hiện tại đã đến ký tự N. Tất cả đều là các món tráng miệng ngon lành: Aestro, Blender, Cupcake, Donut, Eclair, Froyo, Gingerbread, Honeycomb, Ice Cream Sandwitch, Jelly Bean, KitKat, Lollipop, Marshmallow và Nougat. Với các nhà phát triển ứng dụng, việc hệ điều hành android được sử dụng phổ biến đồng nghĩa với việc họ có thể thoải mái phát triển ứng dụng trên nền tảng android với sự tin tưởng ứng dụng đó có thể chạy trên nhiều dòng điện thoại của các hãng khác nhau. Tất cả những chương trình ứng dụng được viết bằng ngôn ngữ Java kết hợp với XML nên có khả năng khả chuyển cao. Một số hãng sản xuất điện thoại android nổi tiếng: SAMSUNG: các dòng máy Galaxy S, Galaxy Tab, Galxy Note LG: các dòng máy LG G, LG k SONY: các dòng máy Xperia HTC: các dòng máy HTC One, HTC Desire Và còn rất nhiều hãng sản xuất khác cũng sử dụng hệ điều hành android cho sản phẩm của mình. 1.4.7.2. Kiến trúc hệ điều hành Android Hình 1. 12. Các tầng của hệ điều hành Android Tầng Linux Kernel Hệ điều hành Android được phát triển dựa trên hạt nhân Linux, cụ thể là phiên bản hạt nhân 2.6, điều đó được thể hiện ở lớp dưới cùng này. Tầng này cung cấp chức năng hệ thống cơ bản như quản lý các tiến trình, quản lý bộ nhớ, giao tiếp phần cứng, thực hiện bảo mật. Tuy được phát triển dựa trên Linux nhưng đã được nâng cấp và chỉnh sửa rất nhiều để phù hợp với tính chất của những thiết bị cầm tay, như hạn chế về bộ vi xử lý, dung lượng bộ nhớ, kích thước màn hình, nhu cầu kết nối mạng không dây Tầng Library Tầng này có chứa nhiều thư viện được viết bằng C/C++ để các phần mềm có thể sử dụng, các thư viện đó được tập hợp thành một số nhóm như: Thư viện hệ thống: chỉ được sử dụng bởi hệ điều hành. Thư viện media: hỗ trợ việc phát và ghi các loại định dạng hình ảnh, âm thanh, video. Thư viện web: đây là thành phần để xem nội dung trên web, được sử dụng để xây dựng trình duyệt web cũng như để các ứng dụng khác có thể nhúng vào. Nó cực kỳ mạnh, hỗ trợ nhiều công nghệ mạnh như HTML5, JavaScript, CSS, AJAX Thư viện SQLite: hệ cơ sở dữ liệu để các ứng dụng có thể sử dụng. Tầng Android runtime Tầng này chứa các thư viện mà một chương trình viết bằng ngôn ngữ Java có thể hoạt động. Runtime có hai bộ phận tương tự như mô hình chạy Java trên máy tính thường. Thứ nhất là các thư viện lõi – chứa các lớp như Java IO, Collection, File Access. Thứ hai là một máy ảo Java. Tầng Application Framework Tầng này xây dựng bộ công cụ - các phần tử ở mức cao để các lập trình viên có thể nhanh chóng xây dựng ứng dụng. Nó được viết bằng Java, có khả năng sử dụng chung để tiết kiệm tài nguyên. Đây là một nền tảng mở, điều đó có hai điều lợi: Với các hãng điện thoại: có thể tùy biến để hợp với cấu hình điện thoại mà họ sản xuất cũng như để có nhiều mẫu mã, style hợp thị hiếu người dùng. Vì thể mà tuy cùng chung nền tảng Android nhưng điện thoại mỗi hãng sẽ có những đặc điểm riêng. Với các lập trình viên: có thể sử dụng các API ở tầng trên mà không cần phải rõ cấu trúc bên dưới, tạo điều kiện cho lập trình viên tự do sáng tạo bởi vì chỉ cần quan tâm đến nội dung mà họ làm việc. Tầng chứa một số dịch vụ quan trọng: Activity Manager − Quản lý tất cả các phần của vòng đời ứng dụng và các hoạt động ngăn xếp. Content Providers − Cho phép ứng dụng phát hành và chia sẻ dữ liệu với ứng dụng khác. Resource Manager − Cho phép truy cập tới những tài nguyên không phải là mã nguồn như chuỗi, cài đặt màu, bố cục giao diện. Notifications Manager − Giúp ứng dụng hiển thị thông báo và nhắc nhở người dùng. View System − Một tập hợp mở rộng giúp tạo giao diện người dùng. Tầng Application Đây là tầng giao tiếp với người sử dụng, bao gồm các ứng dụng như: danh bạ, tin nhắn, trò chơi 1.4.7.3. Hệ thống tệp tin trong Android Giới thiệu chung về hệ thống tệp tin trong Android Do được phát triển từ nhân Linux nên hệ thống tệp tin trên Android cực kỳ giống hệ thống tệp tin trên Linux về cách tổ chức, những quyền hạn của người sử dụng lên file. Trong android, các tệp tin được tổ chức thành nhiều thư mục, tuân theo mô hình phân cấp, tham chiếu đến file bằng một tên và đường dẫn. Các câu lệnh cho phép thao tác các chức năng như sao chép, dịch chuyển, xóa Tất cả các file trong android có cấu trúc vật lý là chuỗi byte. Cấu trúc thống nhất này cho phép android áp dụng khái niệm file cho mọi thành phần hệ thống. Thư mục cũng như các thiết bị được xem như file. Chính việc này cho phép android quản lý và chuyển đổi dữ liệu một cách dễ dàng. Các thành phần được xem như các file: ordinary file, directory file, character device file, block device file. Các kiểu file trong Android Trong hệ điều hành như window thì người ta phân biệt rõ tệp tin và thư mục, nhưng trong android thì directory cũng như file và nó là một loại file đặc biệt. Thực tế còn 1 số loại file nữa có thể liệt kê theo bảng sau: Bảng 1. 1. Các kiểu file trong Android Chữ cái biểu diễn Kiểu file d Thư mục (Directory) b File kiểu khối( Block-type special file) c File kiểu ký tự (Character-type special file) l Liên kết tượng trưng (Sysbolic link) p File đường ống (Pipe) s Socket - File bình thường (Regular file) Cây thư mục trong Android Thư mục root là thư mục gốc của tất cả các file, dưới nó có chứa một số file như thư mục hệ thống. Mỗi thư mục (trừ thư mục root) đều có một mục cha chứa nó và nó cũng có thể chứa nhiều thư mục con. Có thể mô tả bằng một cây thư mục có hình dáng như sau: Sơ đồ 1. 1. Mô tả cây thư mục trong hệ thống tệp tin Một vài thư mục tiêu biểu: /(root) : Là thư mục gốc. /mnt : Thư mục chứa thiết bị lưu động. /system : Chứa những thành phần cơ bản nhất của hệ thống. /ect : Chứa những file cấu hình của hệ thống. /system/lost + found: Chứa những tệp tin bị mất lúc khởi động máy. /system font: Chứa những font chữ hiển thị được. /system lib: Chứa những thư viện để các phần mềm hoạt động. /sysyem bin: Chứa các chương trình nội trú của hệ thống. /system app: Chứa các file apk của phần mềm. Kết luận chương Trong chương này, đã trình bày về khái niệm và các vấn đề cơ bản về hệ thống Internet of Things (IoT), mô hình nhà thông minh, đồng thời đưa ra một số giải pháp, một số cơ sở lý thuyết trong việc xây dựng hệ thống IoT trong nhà thông minh. CHƯƠNG II: THIẾT KẾ HỆ THỐNG Trải qua quá trình tìm hiểu nghiên cứu xây dựng phát triển đề tài em đã đưa ra thiết kế cuối cùng cho mạch điều khiển các thiết bị thông qua mạng internet. 2.1. Tổng quan hệ thống Hình 2. 1. Sơ đồ tổng quan hệ thống Cách thức hoạt động của hệ thống: Gửi dữ liệu lên WebServer và hiển thị trên app android và website: Bước 1: Module ESP tự động chuyển sang chế độ truy cập sóng wifi. Bước 2: Module ESP lấy tín hiệu trạng tái thiết bị, thông tin mỗi trường từ bộ xử lý trung tâm rồi gửi lên WebServer. Bước 3: WebServer lưu giá trị gửi lên vào file lưu dữ liệu. Bước 4: App Android hoặc Website sẽ lấy dữ liệu từ file lưu dữ liệu trên WebServer để hiển thị lên giao diện người dùng. Điều khiển qua app android hoặc website: Bước 1: App Android hoặc WebSite gửi lệnh điều khiển thiết bị đến server. Bước 2: Server nhận lệnh điều khiển xử lý các thông tin rồi lưu vào file lưu dữ liệu. Bước 3: Module ESP nhận lệnh điều khiển và thực thi gửi lệch lấy dữ liệu từ file lưu dữ liệu, sau đó module trả kết quả về cho bộ xử lý trung tâm. Bước 4: Bộ xử lý trung tâm chuyển tín hiệu nhậ được thành tín hiệu bật, tắt các thiết bị. 2.2. Chức năng và sơ đồ khối 2.2.1 Chức năng của toàn hệ thống. Điều khiển thiết bị phần cứng thông qua internet với WebSite hoặc App Android, có tích hợp điều khiển bằng giọng nói trên App. Hiển thị trạng thái thiết bị phần cứng (đèn, quạt) và các thông số môi trường như nhiệt độ, độ ẩm, độ an toàn của không khí. Bật tắt thiết bị phần cứng bằng nút bấm. Hiển thị thông số môi trường trên màn hình LCD. Tự động bật quạt khi nhiệt độ vượt quá 35 độ hoặc độ an toàn khí là không an toàn. 2.2.2 Sơ đồ khối Hình 2. 2. Sơ đồ khối hệ thống 2.2.3 Mạch nguyên lý Mạch nguyên lý toàn hệ thống: Hình 2. 2. Sơ đồ mạch nguyên lý toàn hệ thống Khối nguồn Hình 2. 3. Adapter 5V-2A Đầu vào: 220V AC, 50-60Hz Đầu ra: 5V DC, 2A. Thiết kế: Sử dụng nguồn điện dân dụng 220V AC, 50-60Hz vừa làm đầu vào cho mạch phần cứng. Đầu ra chân tròn có thể kết hợp với Jack 3 chân. IC nguồn AMS1117 để tạo ra điện áp 3.3V. Chức năng: Cấp nguồn cho toàn bộ module, linh kiện trên mạch. Hình 2. 4. Nguồn AMS1117 Đầu vào: 5V DC. Đầu ra: 3.3V DC. Thiết kế: IC nguồn AMS1117 để tạo ra điện áp 3.3V. Gồm 3 chân hoạt động: vào +5V, ra +3.3V, vào GND. Chức năng: Cấp nguồn cho ESP8266. Khối xử lý trung tâm: Hình 2. 5. Khối xử lý trung tâm Thiết kế: Sử dụng vi điều khiển PIC16F877A với 40 chân vào ra. Vi điều khiển được hàn cố định trên đế PCB. Hình 2. 6. Vi điều khiển PIC16F877A Chức năng: Xử lý toàn bộ tính năng của hệ thống. Khối truyền thông: Hình 2. 7. Khối truyền thông Thiết kế: Sử dụng nguồn điện 3.3V DC làm đầu vào, nhận tín hiều từ chân 26 (chân TX của VĐK) thông qua 2 điện trở bảo vệ dòng 2.2k và 3.3k, tín hiệu ra được gửi vào chân 27 (chân RX của VĐK). Hình 2. 8. Module ESP8266 thật Chức năng: Nhận tín hiệu điều khiển gửi từ VĐK (PIC16F877A), xử lý và gửi lên WebServer để thay đổi giá trị dữ liệu lưu trên WebServer hoặc để yêu cầu WebServer trả về một tín hiệu điều khiển thông qua việc lấy dữ liệu từ WebServer. Khối cảm biến: Hình 2. 9. Khối cảm biến Thiết kế: Sử dụng cảm biển nhiệt độ và độ ẩm DHT11 Thông số của DHT11: Điện áp hoạt động: 3-5.5V DC Dòng điện sử dụng: max 2.5mA Ngưỡng độ ẩm: 20 - 90% Sai số độ ẩm: ± 5% Ngưỡng nhiệt độ: 0 – 55oC Sai số nhiệt độ: ± 2oC Hình 2. 10. Cảm biến nhiệt độ độ ẩm DHT11 Chức năng: Đo nhiệt độ, độ ẩm và truyền tín hiệu về khối xử lý trung tâm. Khối Điều Khiển: Hình 2. 11. Khối điều khiển Thiết kế: Sử dụng 4 con Button 2 chân nối tiếp với 4 điện trở 1k và nối với các chân VĐK. Khi đóng Buttun thì sẽ có dòng điện 5V DC chạy tới chân VĐK để VĐK nhận, xử lý và xuất ra tín hiệu điều khiển với thiết bị. Hình 2. 12. Nút bấm Chức năng: Bật tắt các thiết bị. Khối ngoại vi: Hình 2. 13. Khối ngoại vi Thiết kế: Sử dụng 3 LED để hiển thị. Chức năng: Hiển thị trạng thái của các thiết bị qua màu LED, tích hợp khả năng bật tắt thiết bị bằng tay, cảnh báo nhiệt độ độ ẩm nếu vượt ngưỡng cho phép. Khối hiển thị: Hình 2. 14. Khối hiển thị Thiết kế: Sử dụng nguồn 5V DC với 16 chân cắm, một màn hình LCD với 2 dòng và mỗi dòng có 16 ô hiển thị. Hình 2. 15. LCD 16x2 Chức năng: Hiển thị các thông số của mạch. 2.3 Mạch in và sản phẩm thực tế 2.3.1 Mạch in Mạch layout Hình 2. 16. Mạch in lớp Top và Bottom Hình 2. 17. Mạch in 2 lớp Hình 2. 18. Mô hình mạch 3D 2.3.2 Hình ảnh sản phầm hoàn thiện Hình 2. 19. Hình ảnh sản phẩm 2.4. Tạo Web Server 2.4.1. Đăng ký hosting miễn phí trên 000webhost Bước 1: Truy cập vào trang chủ của 000webhost. Sau đó nhấn vào Free Sign Up để đăng ký [12]. Hình 2. 20. Trang chủ 000webhost. Bước 2: Bạn điền thông tin của bạn vào. Ở phần Website, đó là tên miền sử dụng cho webiste của bạn, nếu bạn điền “tenwebsite” thì tên miền website của bạn sẽ là “tenwebsite.000webhostapp.com”. Ví dụ của mình là “sonzim.000webhostapp.com”. Nhấn GET FREE HOSTING để tiếp tục. Hình 2. 21. Giao diện đăng ký Bước 3: Hệ thống sẽ gửi cho bạn một email, bạn mở email đó ra rồi nhấp vào Verify email để xác nhận. Hình 2. 22. Xác nhận Mail. 2.4.2. Tạo Web SerVer với hosting 000webhost Bước 1: Đăng nhập 000webhost bằng tài khoản đã đăng ký. Nhấn vào Manage Wevsite. Hình 2. 23. Giao diện web đăng nhập Bước 2: Nhấn vào UPLOAD NOW để vào trang tạo nội dung web. Hình 2. 24. Giao diện cài đặt. Bước 3: Tạo các file: Tạo các file den1.html, den2.html, den3.html, dc.html, nhietdo.html, doam.html, khi.html để lưu trạng trái đèn, quạt, an toàn khí và lưu giá trị độ, độ ẩm. Tạo file xuly.php để xử lý tín hiệu điều khiển. Tạo file index.html để tạo giao diện WebSite khi truy cập điều khiển bằng WebSite. Hình 2. 25. Các file được tạo 2.4.1. Điều khiển thiết bị qua WebSite Truy cập đường link laptrinholala.000webhostapp.com, nhấn START để vào giao diện điều khiển. Hình 2. 26. Giao diện khởi động Hình 2. 27. Giao diện điều khiển 2.5. Thiết kế App điều khiển 2.5.1. Phần mềm Android Studio Android Studio là một phầm mềm bao gồm các bộ công cụ khác nhau dùng để phát triển ứng dụng chạy trên thiết bị sử dụng hệ điều hành Android như các loại điện thoại smartphone, các tablet... Android Studio được đóng gói với một bộ code editor, debugger, các công cụ performance tool và một hệ thống build/deploy (trong đó có trình giả lập simulator để giả lập môi trường của thiết bị điện thoại hoặc tablet trên máy tính) cho phép các lập trình viên có thể nhanh chóng phát triển các ứng dụng từ đơn giản tới phức tạp [13]. Để tiến hành cài đặt được Android Studio cần phải tiến hành cài môi trường chạy Java là SDK trên trang chủ của Hình 2. 28. Cài đặt JDK trên Window Để tạo ra 1 Project với Android Studio cần thao tác với các file AndroidMandifest.xml, các file trong thư mục java, các file trong thư mục res. File AndroidMandifest.xml: Là file để bản kê khai trình bày những thông tin thiết yếu về ứng dụng với hệ thống Android, thông tin mà hệ thống phải có trước khi có thể chạy bất kỳ mã nào của ứng dụng.Hay nói cách khác, đây là file dùng để config những thuộc tính cho ứng dụng của bạn mà khi ứng dụng khởi chạy hệ điều hành có thể hiểu được và xử lí. Hình 2. 29. File AndroidMandifest.xml Các file trong thư mục “java”: Đây chính là nơi chứa các package của dự án, có thể tạo các package ở đây và bên trong là các class. Các Class được viết bởi ngôn ngữ Java Cores. Hình 2. 30. Các Class trong Android Studio Các file trong thư mục “res”: Là các file thiết kế phần giao diện trong Android Studio. Hình 2. 31. Thiết kế giao diện trong Android Studio 2.5.3. Phân tích thiết kế App Android Yêu cầu của App Việc truy cập và điều khiển thiết bị phải dễ dàng, nhanh chóng từ bất kỳ đâu. Tích hợp điều khiển thiết bị bằng giọng nói. Đưa ra các thông tin của thiết bị phải chính xác và đầy đủ. Việc thao tác trên App phải đơn giản và dễ sử dụng cho người dùng. Sử dụng được trên tất cả các thiết bị điện thoại thông minh. Các chức năng của App Điều khiển thiết bị qua mạng Internet Điều khiển thiết bị thông qua thao tác nhấn ô điều khiển trên App hoặc nhập giọng nói điều khiển. Hiển thị thông tin thiết bị Hiển thị thông tin về nhiệt độ, độ ẩm, tình trạng an toàn khí hiện tại (với mức an toàn với khí gas là dưới 1000ppm) và trạng thái của tất cả các thiết bị của từng phòng mà người dùng được quyền điều khiển. 2.5.4. Hình ảnh của App trên hệ điều hành Android Để sử dụng được App, người dung cần nhấn vào App AppDOAN với icon nền vàng có dòng chứ CD trên màn hình điện thoại thông minh. Hình 2. 32. AppDOAN Để bật tắt được thiết bị, ta sẽ nhấn vào các ô ON, OFF trên giao diện AppDOAN (Hình 2. 33). Hình 2. 33. Giao diện AppDOAN Để sử dụng được chức năng bật tắt bằng giọng nói, ta nhấn vào ô tròn với biểu tượng micro. Khi đó App sẽ kết nối với ứng dụng tìm kiếm bằng giọng nói của Google trên điện thoại, gửi tín hiệu giọng nói và nhận lại một đoạn text chứa nội dung đã nói. Hình 2. 34. Điều khiển bằng giọng nói. 2.6. Kiểm thử phần mạch và đánh giá 2.6.1. Kiểm thử Cho sản phẩm cấp nguồn liên tục trong 2 ngày, kiểm tra kết quả gửi, nhận tín hiệu tại 1 thời điểm vào mỗi ngày. Thời gian kiểm nghiệm từ 18h00 ngày 28/ 05/ 2018 đến 18h00 ngày 31/ 05/ 2018. Bảng kết quả khi test sản phẩm. Bảng 2. 1. Test lần 1 lúc 18h00 ngày 28/ 05/ 2019 Hiển thị App Mạch phần cứng Lần 1 Lần 2 Lần 3 Lần 1 Lần 2 Lần 3 Đèn 1 ON OFF OFF ON OFF OFF Đèn 2 OFF ON OFF OFF ON OFF Đèn 3 ON OFF ON ON OFF ON Quạt ON OFF OFF ON OFF OFF Nhiệt độ (oC) 28 28 28 28 28 28 Độ ẩm (%) 86 86 86 86 86 86 An toàn khí an toan an toan an toan co co co Trễ truyền nhận < 5s < 5s < 5s < 5s <5s < 5s Bảng 2. 2. Test lần 2 lúc 18h00 ngày 29/ 05/ 2019 Hiển thị App Mạch phần cứng Lần 1 Lần 2 Lần 3 Lần 1 Lần 2 Lần 3 Đèn 1 OFF OFF OFF OFF OFF OFF Đèn 2 ON ON ON ON ON ON Đèn 3 OFF ON OFF OFF ON OFF Quạt OFF OFF OFF OFF OFF OFF Nhiệt độ (oC) 27 27 27 27 27 27 Độ ẩm (%) 88 88 88 88 88 88 An toàn khí an toan an toan an toan co co co Trễ truyền nhận < 5s < 5s < 5s < 5s < 5s < 5s Bảng 2. 3. Test lần 3 lúc 18h00 ngày 30/ 05/ 2019 Hiển thị App Mạch phần cứng Lần 1 Lần 2 Lần 3 Lần 1 Lần 2 Lần 3 Đèn 1 ON OFF OFF ON OFF OFF Đèn 2 OFF ON ON OFF ON ON Đèn 3 ON OFF ON ON OFF ON Quạt ON ON OFF ON ON OFF Nhiệt độ (oC) 26 26 26 26 26 26 Độ ẩm (%) 91 91 91 91 91 91 An toàn khí an toan an toan an toan co co co Trễ truyền nhận < 5s < 5s < 5s < 5s < 5s < 5s Bảng 2. 4. Test lần 4 lúc 18h00 ngày 31/ 05/ 2019 Hiển thị App Mạch phần cứng Lần 1 Lần 2 Lần 3 Lần 1 Lần 2 Lần 3 Đèn 1 ON OFF OFF ON OFF OFF Đèn 2 ON ON OFF ON ON OFF Đèn 3 ON OFF OFF ON OFF OFF Quạt ON OFF OFF ON OFF OFF Nhiệt độ (oC) 29 29 29 29 29 29 Độ ẩm (%) 85 85 85 85 85 85 An toàn khí an toan an toan an toan co co co Trễ truyền nhận < 5s < 5s < 5s < 5s < 5s < 5s 2.6.2. Đánh giá Sản phẩm chạy ổn định, chính xác. Chi phí hoàn thành sản phẩm thấp (500.000đ). 2.7. Kết luận chương Trong chương này, em đã tiến hành lựa chọn giải pháp, đưa ra thiết kế, tiến hành xây dựng hệ thống điều khiển giám sát thiết bị, tham số môijtrường trong nhà. Trải qua thời gian nghiên cứu, kiểm thử em đã đưa ra sản phẩm và app điều khiển cuối cùng. Kết quả kiểm tra thực nghiệm đạt được kết quả cao. Sản phẩm chạy ổn định, chính xác. Đáp ứng được yêu cầu đã đặt ra ban đầu. KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN Qua qua trình tìm hiểu lý thuyết, nghiên cứu, vàjtiến hành thực hiện đề tài đồ án tốt nghiệp, em đã tiếp thu được nhiều kiến thức bổ ích, kinh nghiệm thực hành thực tế. Em đã hoàn thành cơ bản đề tài nghiênjcứu với các chức năng điều khiển bật tắt thiết bị từ xa bằng điện thoại kết hợp phần mềm. Về mặt phần cứng: Sản phẩm chạy ổn định, linh kiện không bị nóng nếu chạy lâu. Có thể điều khiển được nhiều thiết bị, nhận được nhiều tín hiệu cảm biến hơn. Về mặt phần mềm: Thiết kế phần App có giao diện thân thiệnjvới người dùng, dễ sử dụng, dễ mở rộng khi kết nối với thiết bị khác. App chạy ổn định. Trongjthời gian tới, các thành phần của hệ thống được hoàn thiện về chức năng và được tối ưu để đáp ứng với nhu cầu thực tế. Hướng mở rộng. Cải thiện chức năng của phần cứng, cho phép mở rộng thêm với các loại cảm biến khác như cảm biến ánh sáng, cảm biến chuyển động... Cải thiện thêmjphần App, thêm một số tính năng mới như vẽ biểu đồ tham số môi trường, lịch sử bật tắt điều khiển thiết bị... TÀI LIỆU THAM KHẢO [1] https://vi.wikipedia.org/wiki/Internet_V%E1%BA%A1n_V%E1%BA%ADt truy cập lần cuối ngày 01/06/2019. [2] truy cập lần cuối ngày 30/05/2019. [3] truy cập lần cuối ngày 02/06/2019. [4] truy cập lần cuối 30/05/2019. [5]https://tissmarthome.com.vn/6-hang-nha-thong-minh-tot-nhat-tren-thi-truong-viet-nam-hien-nay/ truy cập lần cuối ngày 30/05/2019. [6] https://iotmakervn.github.io/iot-starter-book/ truy cập lần cuối 30/05/2019. [7] https://vi.wikipedia.org/wiki/Hypertext_Transfer_Protocol truy cập lần cuối ngày 01/06/2018. [8]https://viblo.asia/p/gioi-thieu-google-firebase-realtime-database-system-phan-1-1Je5EMVm5nL truy cập lần cuối 30/05/2019. [9] https://www.codehub.vn/Express-js-Co-Ban/Deploy-Su-Dung-Heroku truy cập lần cuối 03/06/2019 [10] https://freetuts.net/huong-dan-dang-ky-hosting-mien-phi-000webhost-va-tro-domain-1517.htmltruy cập lần cuối 03/06/2019 [11] https://vi.wikipedia.org/wiki/Android_(h%E1%BB%87_%C4%91i%E1%BB%81u_h%C3%A0nh) truy cập lần cuối 02/06/2019 [12] https://sonzim.com/dang-ky-hosting-mien-phi-000webhost-lap-wordpress/ truy cập lần cuối 03/06/2019 [13 ] https://www.codehub.vn/Gioi-Thieu-Ve-Android-Studio truy cập lần cuối 03/06/2019

Các file đính kèm theo tài liệu này:

  • docxdo_an_ung_dung_cua_iot_trong_xay_dung_mo_hinh_nha_thong_minh.docx