Tài liệu báo cáo Hệ thống nhà thông minh

24 330 3
Tài liệu báo cáo Hệ thống nhà thông minh

Đ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

ục đích của tài liệu này là giới thiệu và mô tả chi tiết về dự án Nhà Thông Minh (Smart Home). Tài liệu sẽ giải thích mục đích và tính năng của hệ thống, giao diện của hệ thống, mô hình cấu trúc và cách hoạt động của hệ thống. Tài liệu này được dành cho người sử dụng hệ thống và các developers muốn chỉnh sửa và nâng cấp hệ thống. 1.2 Quy mô đề tài. Hệ thống Nhà Thông Minh (Smart Home) cung cấp cho người dùng sự tiện dụng của hệ thống Internet of Things (IoT) trong việc điều khiển các thiết bị trong nhà. Nó cho phép người sử dụng có thể điều khiển thiết bị từ xa thông qua mạng internet, bật tắt các thiết bị trong nhà như đèn, quạt, máy lạnh thông qua giao diện web trực quan và dễ sử dụng. Hệ thống còn có thể thông báo với người dùng về trạng thái hiện tại của thiết bị, kiểm tra tính ổn định của thiết bị, phát hiện bất thường trong hoạt động của thiết bi. Nhờ có hệ thống này, người dùng có thể kiểm soát được hoạt động của toàn bộ thiết bị trong nhà, giúp tăng hiệu suất sử dụng điên của gia đình và đảm bảo cho các thiết bị hoạt động tốt và lâu bền hơn. Hệ thống có thể được sử dụng trong bất kỳ hệ thống thiết bị điện nào, do đó nó dễ dàng đáp ứng được nhu cầu của nhiều loại mô hình nhà khác nhau và việc thiết lập hê thống cũng trở nên nhanh hơn, có thể mở rộng quy mô nhanh chóng hơn. 2 Công nghệ Cơ sở lý thuyết ục đích của tài liệu này là giới thiệu và mô tả chi tiết về dự án Nhà Thông Minh (Smart Home). Tài liệu sẽ giải thích mục đích và tính năng của hệ thống, giao diện của hệ thống, mô hình cấu trúc và cách hoạt động của hệ thống. Tài liệu này được dành cho người sử dụng hệ thống và các developers muốn chỉnh sửa và nâng cấp hệ thống. 1.2 Quy mô đề tài. Hệ thống Nhà Thông Minh (Smart Home) cung cấp cho người dùng sự tiện dụng của hệ thống Internet of Things (IoT) trong việc điều khiển các thiết bị trong nhà. Nó cho phép người sử dụng có thể điều khiển thiết bị từ xa thông qua mạng internet, bật tắt các thiết bị trong nhà như đèn, quạt, máy lạnh thông qua giao diện web trực quan và dễ sử dụng. Hệ thống còn có thể thông báo với người dùng về trạng thái hiện tại của thiết bị, kiểm tra tính ổn định của thiết bị, phát hiện bất thường trong hoạt động của thiết bi. Nhờ có hệ thống này, người dùng có thể kiểm soát được hoạt động của toàn bộ thiết bị trong nhà, giúp tăng hiệu suất sử dụng điên của gia đình và đảm bảo cho các thiết bị hoạt động tốt và lâu bền hơn. Hệ thống có thể được sử dụng trong bất kỳ hệ thống thiết bị điện nào, do đó nó dễ dàng đáp ứng được nhu cầu của nhiều loại mô hình nhà khác nhau và việc thiết lập hê thống cũng trở nên nhanh hơn, có thể mở rộng quy mô nhanh chóng hơn. 2 Công nghệ Cơ sở lý thuyết ục đích của tài liệu này là giới thiệu và mô tả chi tiết về dự án Nhà Thông Minh (Smart Home). Tài liệu sẽ giải thích mục đích và tính năng của hệ thống, giao diện của hệ thống, mô hình cấu trúc và cách hoạt động của hệ thống. Tài liệu này được dành cho người sử dụng hệ thống và các developers muốn chỉnh sửa và nâng cấp hệ thống. 1.2 Quy mô đề tài. Hệ thống Nhà Thông Minh (Smart Home) cung cấp cho người dùng sự tiện dụng của hệ thống Internet of Things (IoT) trong việc điều khiển các thiết bị trong nhà. Nó cho phép người sử dụng có thể điều khiển thiết bị từ xa thông qua mạng internet, bật tắt các thiết bị trong nhà như đèn, quạt, máy lạnh thông qua giao diện web trực quan và dễ sử dụng. Hệ thống còn có thể thông báo với người dùng về trạng thái hiện tại của thiết bị, kiểm tra tính ổn định của thiết bị, phát hiện bất thường trong hoạt động của thiết bi. Nhờ có hệ thống này, người dùng có thể kiểm soát được hoạt động của toàn bộ thiết bị trong nhà, giúp tăng hiệu suất sử dụng điên của gia đình và đảm bảo cho các thiết bị hoạt động tốt và lâu bền hơn. Hệ thống có thể được sử dụng trong bất kỳ hệ thống thiết bị điện nào, do đó nó dễ dàng đáp ứng được nhu cầu của nhiều loại mô hình nhà khác nhau và việc thiết lập hê thống cũng trở nên nhanh hơn, có thể mở rộng quy mô nhanh chóng hơn. 2 Công nghệ Cơ sở lý thuyết

TRƯỜNG ĐẠI HỌC BÁCH KHOA TP HCM KHOA KHOA HỌC VÀ KỸ THUẬT MÁY TÍNH ĐỒ ÁN MÔN HỌC THIẾT KẾ LUẬN LÝ Tài liệu báo cáo Hệ thống nhà thông minh Sinh viên thực hiện: Trần Việt Toản Nguyễn Nhật Minh Trần Nhựt Tân Vũ Đức Duy Huỳnh Phúc Nghị Trần Thanh Lộc Giảng viên hướng dẫn: Tp Hồ Chí Minh, Tháng 07/2018 1613611 1612041 1613096 1610516 1612233 1611910 Tiến sĩ Phạm Quốc Cường Mục lục Chương 1: Giới thiệu đề tài 1.1 Tổng quan tài liệu 1.2 Quy mô đề tài Công nghệ - Cơ sở lý thuyết 2.1 Phần cứng sử dụng 2.1.1 ESP32 2.1.2 STM32F103 2.1.3 ACS712T 2.1.4 Module cảm ứng điện dung HTTM 2.2 Tạo Server Node JS Module Express 2.2.1 Node JS 2.2.2 Module Express 2.3 Database Postgres sql 2.3.1 Ưu điểm Postgres sql 2.3.2 Tại sử dụng Postgres sql 2.4 Các giao thức truyền nhận liệu 2.4.1 Giao thức Socket 2.4.2 Giao thức MQTT 2.5 React 2.5.1 React gì? 2.5.2 Ưu điểm React 2.5.3 React Angular - Cái nhìn tổng quan nhiều 2.6 Thuật toán Kalman 2.7 Mã QR 2.7.1 Mã QR gì? 2.7.2 Ưu điểm mã QR Cấu 3.1 3.2 3.3 trúc Môi trường hệ thống Mơ hình logic hệ thống Các khối chức 3.3.1 Sử dụng website 3.3.2 Điều khiển trực tiếp 3.4 Database Hiện thực 4.1 Phần cứng 4.1.1 ESP8266 4.1.2 STM32F103 4.1.3 ACS712T 4.1.4 Cảm biến điện 4.2 Phần mềm 4.2.1 HTTP API 4.2.2 Socket API 4.2.3 MQTT API dung 5 5 5 8 8 9 9 9 10 10 10 hai công nghệ sử dụng 11 12 12 12 12 12 12 12 13 13 13 14 HTTM 15 15 15 15 15 15 16 16 17 17 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính 4.3 4.4 Kết 5.1 5.2 5.3 Giao tiếp Serial ESP8266 STM32F103 Xử lý nhiễu đo cường độ dòng điện 18 18 Yêu cầu người dùng Yêu cầu hệ thống Hướng dẫn sử dụng 5.3.1 Giao diện người dùng 5.3.2 Hướng dẫn cài đặt 5.3.3 Cách thức hoạt động 18 18 18 19 19 20 20 Tài liệu tham khảo Báo cáo đồ án Thiết kế luận lý 23 Trang 2/23 Danh sách bảng Danh sách hình vẽ 10 11 12 13 14 15 16 Sơ đồ chân Esp8266 Sơ đồ chân STM32F103 Mạch đo dòng ACS712T Module cảm ứng điện dung HTTM Code usuability Scalability So sánh hiệu suất hai công nghệ Môi trường hệ thống Mơ hình logic hệ thống Điều khiển thiết bị Giám sát thiết bị Điều khiển trực tiếp Sơ đồ Database hệ thống Sản phẩm sau hoàn thiện Trang đăng nhập Trang điều khiển 10 11 11 12 13 13 13 14 14 19 19 20 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính Chương 1: Giới thiệu đề tài 1.1 Tổng quan tài liệu Mục đích tài liệu giới thiệu mô tả chi tiết dự án Nhà Thông Minh (Smart Home) Tài liệu giải thích mục đích tính hệ thống, giao diện hệ thống, mơ hình cấu trúc cách hoạt động hệ thống Tài liệu dành cho người sử dụng hệ thống developers muốn chỉnh sửa nâng cấp hệ thống 1.2 Quy mô đề tài Hệ thống Nhà Thông Minh (Smart Home) cung cấp cho người dùng tiện dụng hệ thống Internet of Things (IoT) việc điều khiển thiết bị nhà Nó cho phép người sử dụng điều khiển thiết bị từ xa thơng qua mạng internet, bật tắt thiết bị nhà đèn, quạt, máy lạnh thông qua giao diện web trực quan dễ sử dụng Hệ thống thông báo với người dùng trạng thái thiết bị, kiểm tra tính ổn định thiết bị, phát bất thường hoạt động thiết bi Nhờ có hệ thống này, người dùng kiểm sốt hoạt động tồn thiết bị nhà, giúp tăng hiệu suất sử dụng điên gia đình đảm bảo cho thiết bị hoạt động tốt lâu bền Hệ thống sử dụng hệ thống thiết bị điện nào, dễ dàng đáp ứng nhu cầu nhiều loại mơ hình nhà khác việc thiết lập thống trở nên nhanh hơn, mở rộng quy mơ nhanh chóng Công nghệ - Cơ sở lý thuyết 2.1 2.1.1 Phần cứng sử dụng ESP32 • Một số tính năng: Hình 1: Sơ đồ chân Esp8266 Báo cáo đồ án Thiết kế luận lý Trang 5/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính – CPU ESP8266 – Hỗ trợ kết nối WiFi – Tương thích Arduino – Có thể lập trình C/C++, Arduino IDE, Micropython, NodeMCU - Lua – Nguồn 9-24V hay 5V từ USB – 11 IO, Analog in – Mbytes Flash – Module ESP-12F 3.3VDC (tối đa 3.6 VDC ) • Một số ưu điểm: – Mạch tích hợp nhiều tính => dễ nâng cấp mở rộng thêm chức cho sản phẩm – Kết nối wifi ổn định – Chuẩn giao tiếp nối tiếp UART với tốc độ Baud lên đến 115200 – Hỗ trợ giao tiếp TCP UDP – Có bảo mật phần cứng 2.1.2 STM32F103 • Một số tính năng: Hình 2: Sơ đồ chân STM32F103 – Board ARM 32 Cortex M3 CPU dòng Performance, tần số hoạt động lên tới 72 MHz, với 64 KB Flash Memory, 32 kHz Real time clock crystal – Hỗ trợ 20 KB RAM, lớn so với dòng ATmega khác – On-board Mini USB interface – Bộ xử lý nhỏ gọn (5.3x2.2cm) mạnh mẽ với 48 chân I/O – Một nút reset, LED chân PC13 – Hỗ trợ mạch nạp ST-Link, J-Link, USB to COM Báo cáo đồ án Thiết kế luận lý Trang 6/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính – Sử dụng nguồn 3.3V – Debug mode: Serial wire debug (SWD) JTAG • Một số ưu điểm: – Mạch tích hợp nhiều tính năng, thiết bị ngoại vi – Dung lượng Ram lớn – Sử dụng điện áp thấp an toàn, hệ thống bảo vệ xung clock – Tính bảo mật cao Bộ nhớ Flash STM32 khóa để chống truy cập đọc Flash thông qua cổng debug 2.1.3 ACS712T Hình 3: Mạch đo dòng ACS712T Cảm biến dòng điện ACS712 IC cảm biến dòng tuyến tính dựa hiệu ứng Hall ACS xuất tín hiệu analog, Vout biến đổi tuyến tính theo thay đổi dòng điện lấy mẫu thứ cấp DC (hoặc AC), phạm vi cho Một số ưu điểm: • Thời gian tăng đầu để đáp ng vi u vo l 5às in tr dõy dẫn 1.2mΩ • Nguồn vận hành đơn 5V • Độ nhạy đầu từ 63-190mV/A • Điện áp ổn định Báo cáo đồ án Thiết kế luận lý Trang 7/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính 2.1.4 Module cảm ứng điện dung HTTM Hình 4: Module cảm ứng điện dung HTTM Module cảm ứng điện dung HTTM làm việc dựa nguyên lí cảm biến điện dung Các phần cảm biến có lớp cách điện Module dễ sử dụng, cần cấp nguồn vào chân VCC GND, sau người dùng cần chạm vào hình module module đổi màu Module có cấu hình đẹp mắt với màu xanh, vàng, hồng chi phí thấp Một số ưu điểm: • Điện áp làm việc: 2.7 - 6V • Nhiệt độ hoạt động: 30 - 70 ℃ • Điện áp đầu pin: 3.3V ± 0.1V • Dòng tối đa lớn: 500mA, dùng để điều khiển relay, optocouplers, đèn LED, • Gồm màu: xanh, vàng, hồng 2.2 2.2.1 Tạo Server Node JS Module Express Node JS • Node JS mơi trường lập trình server mã nguồn mở chạy nhiều platforms (Windows, Linux, Mac OS) sử dụng mã Javascript để tạo server • Tạo sử dụng Node JS? – Có thể sinh nội dung trang web động – Có thể tạo, mở, đọc, viêt, đóng file server – Có thể thu thập mẫu liệu – Có thể thêm, xóa, thay đổi liệu sở liệu 2.2.2 Module Express Express application framework cung cấp nhiều tính mạnh mẽ tảng web di động Express hỗ trợ phương thức HTTP middleware tạo API mạnh mẽ sử dụng dễ dàng hơn.Khi tiếp cận với Express thực bị hút API nó,từ cách sử dụng route,template dễ tùy chọn làm việc Báo cáo đồ án Thiết kế luận lý Trang 8/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính 2.3 Database Postgres sql 2.3.1 Ưu điểm Postgres sql • Là chuẩn SQL phù hợp với hệ quản trị sở liệu quan hệ: PostgreSQL hệ quản trị sở liệu quan hệ mã nguồn mở, miễn phí mạnh mẽ • Cộng đồng mạnh: PostgreSQL hỗ trợ cộng đồng nhiệt tình đầy kinh nghiệm • Hỗ trợ mạnh mẽ từ bên thứ 3: Bất kể tính tiên tiến PostgreSQL hỗ trợ công cụ tuyệt vời bên thứ việc quản lý sơ liệu • Đối tượng hóa: PostgreSQL khơng hệ quản trị sở liệu quan hệ, mà đối tượng hóa liệu 2.3.2 Tại sử dụng Postgres sql • Tồn vẹn liệu: Khi độ tin cậy tính tồn vẹn liệu tuyệt đối cần thiết PostgreSQL lựa chọn tốt hết • Sự đồng bộ: Trong tương lai, có phải chuyển từ hệ quản trị sở liệu quan hệ sang hệ quản trị sở liệu khác nhứ Oracle PostgreSQl cho việc chuyển đổi tương lại 2.4 2.4.1 Các giao thức truyền nhận liệu Giao thức Socket Socket giao diện lập ứng dụng mạng Thông qua giao diện này, lập trình điều khiển, truyền thông máy sử dụng giao thức TCP IP UDP Socket thiết bị truyền thông hai chiều gửi nhận liệu từ máy khác Trong project ta sử dụng giao thức TCP IP Đặc điểm: • Có đường kết nối (địa IP) hai tiến trình • Một tiến trình phải đợi tiến trình lại u cầu kết nối • Mơ hình client/server server lắng nghe chấp nhận từ client • Mỗi thơng điệp gửi có xác nhận trả • Các gói thơng tin 2.4.2 Giao thức MQTT Mqtt (Message Queuing Telementry Transport) giao thức gởi dạng publish/subscribe sử dụng cho thiết bị Internet of Things với băng thông thấp, độ tin cậy cao khả sử dụng mạng lưới không ổn định Kiến trúc mức cao (high-level) MQTT gồm thành phần Broker Clients Trong đó: • Broker coi trung tâm Nhiệm vụ broker nhận mesage từ publisher, xếp message theo hàng đợi chuyển chúng tới địa cụ thể Báo cáo đồ án Thiết kế luận lý Trang 9/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính • Client chia thành nhóm publisher subscriber Client software components hoạt động edge device nên chúng thiết kế để hoạt động cách linh hoạt Client làm việc publish message lên topic cụ thể subscribe topic để nhận message từ topic Quality of Service (QoS): MQTT hỗ trợ mức QoS nhầm đảm bảo chắn việc gửi nhận clietn broker Bao gồm: • QoS-0: Tất message có QoS sau gửi publisher không kiểm tra xem đến broker hay chưa • QoS-1: Message đảm bảo đến nơi nhận lần • QoS-2: Broker đảm bảo message có QoS-2 đến nơi nhận lần nhất, không trùng lặp, không thất lạc 2.5 2.5.1 React React gì? React.js thư viện JavaScript tạo Facebook Như khái niệm trang web thức “A JavaScript library for building user interface”, React.js thư viện sinh để xây dựng giao diện người dùng (UI) Nó khơng phải Framework mà thư viện Ngoài Facebook Instagram – nơi làm maintain React.js, Yahoo hay Airbnb ví dụ bật có sử dụng thư viện Hiện nay, thư viện thu hút nhiều quan tâm 2.5.2 Ưu điểm React • Khả tái sử dụng code Hình 5: Code usuability Báo cáo đồ án Thiết kế luận lý Trang 10/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính • Khả mở rộng Hình 6: Scalability Đặc tính React.js khiến component trạng thái stateless cách nhiều có thể, khiến ta dễ dàng quản lí chúng Các component nhận data từ lớp mẹ dựa vào để xây dựng View Điểm mấu chốt thân component không mang trạng thái Nó có việc xuất hiển thị dựa vào đầu vào từ bên (thường từ component mẹ) Do component dễ quản lí, dễ test dễ tái sử dụng Tất nhiên tất component stateless chẳng khác trang HTML tĩnh, ta cần component có state Tuy nhiên, quan điểm React.js tối giản component xây dựng UI dựa vào component stateless chủ yếu 2.5.3 React Angular - Cái nhìn tổng quan hai cơng nghệ sử dụng nhiều Hình 7: So sánh hiệu suất hai cơng nghệ React có tốc độ render nhanh Angular có thay đổi liệu React có hiệu suất cao hẳn Angular khơng thiết phải thay đổi render mơ Angular mà thay đổi chỗ thực cần thiết Báo cáo đồ án Thiết kế luận lý Trang 11/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính 2.6 Thuật tốn Kalman Thuật tốn tiếng Kalman filtering hay gọi linear quadratic estimation (LQE) phương pháp thuật toán lọc nhiễu khỏi thơng tin, dùng nhiều lĩnh vực điều khiển, hàng không, quân sự, vũ trụ, v.v, ví dụ để ước lượng điểu khiển quĩ đạo tên lửa, phi thuyền Nó dùng nhiều lĩnh vực khác, từ nhận dạng tiếng nói marketing 2.7 2.7.1 Mã QR Mã QR gì? QR Code viết tắt Quick response code hiểu mã phản hồi nhanh dạng mã vạch chiều đọc hiểu máy quét mã QR code đơn giản smartphone có cài ứng dụng đọc mã vạch QR 2.7.2 Ưu điểm mã QR • Một mã QR chứa đựng thông tin địa web (URL), thời gian diễn kiện, thông tin liên hệ (như vCard), địa email, tin nhắn SMS, nội dung ký tự văn hay chí thơng tin định vị vị trí địa lý • So với mã vạch thẳng chiều truyền thống mã QR chứa nhiều thông tin so với kích thước, qt từ chiều ngang dọc mà không bị ảnh hưởng chất liệu mà sử dụng 3.1 Cấu trúc Môi trường hệ thống Người dùng truy cập vào web site đường dẫn URL, thông qua nút điều khiển giao diện trang web người dùng điểu khiển thiết bị đóng ngắt điện module ESP32 STM32 Ngoài người dùng điều khiển thiết bị trực tiếp cách chạm vào touch module ESP32 Trên trang web người dùng giám sát tình trạng thiết bị module xác định dòng điện chạy qua thiết bị điện Hình 8: Mơi trường hệ thống 3.2 Mơ hình logic hệ thống Dưới sơ đồ logic hệ thống (các mũi tên ký hiệu chiều di chuyển liệu): Báo cáo đồ án Thiết kế luận lý Trang 12/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính Hình 9: Mơ hình logic hệ thống 3.3 3.3.1 Các khối chức Sử dụng website Use case: Điều khiển thiết bị Sơ đồ: Hình 10: Điều khiển thiết bị Mô tả: Người dùng truy cập vào trang web, nhấn vào nút điều khiển thiết bị điện để tắt mở thiết bị Use case: Giám sát thiết bị Sơ đồ: Hình 11: Giám sát thiết bị Mơ tả: Người dùng truy cập vào trang web xem đèn tắt hay mở 3.3.2 Điều khiển trực tiếp Use case: Điều khiển thiết bị Sơ đồ: Mô tả: Người chạm vào nút touch để bật tắt thiết bị Báo cáo đồ án Thiết kế luận lý Trang 13/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính Hình 12: Điều khiển trực tiếp 3.4 Database Database gồm bảng với trường sơ đồ bên Hình 13: Sơ đồ Database hệ thống Trong đó: • Bảng User: bảng dùng để chứa record người dùng Bao gồm: – id: Mỗi user đăng ký tài khoản có id id khơng trùng với – username: Tên tài khoản dùng để đăng nhập, không trùng với username khác – password: Password dùng để đăng nhập • Bảng Device: bảng dùng để chứa record thiết bị Bao gồm: – id: Mỗi thiết bị mua có id để quản lý – name: Tên thiết bị điều khiển – status: Trạng thái thiết bị bật/tắt – timerStatusTurnOn: trạng thái hẹn để bật thiết bị, true tới thời điểm timeOn thiết bị tự động bật, false khơng có xảy – timerStatusTurnOff: trạng thái hẹn để bật thiết bị, true tới thời điểm timeOff thiết bị tự động bật, false khơng có xảy – timeOn: thời điểm hen để bật thiết bị – timeOff: thời điểm hẹn để tắt thiết bị – user_id: Id user • Bảng Session: bảng dùng để chứa record user đăng nhập vào hệ thống phiên làm việc – sid: Id lần user đăng nhập thiết bị điều khiển (web, app) Báo cáo đồ án Thiết kế luận lý Trang 14/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính – sesss: Dữ liệu phiên đăng nhập (username, timeStatus, ) – expire: Thời gian trì phiên đăng nhập • Bảng Register: bảng dùng để chứa record thiết bị đăng ký chờ người sở hữu thêm thiết bị vào tài khoản họ Khi người dùng mua thiết bị bật thiết bị lên gửi lên server để thêm thiết bị vào Register, sau người dùng phải dùng web app để thêm thiết bị vào tài khoản họ hay nói cách khác chuyển thông tin thiết bị từ bảng Register sang bảng Deviảng – id: ID thiết bị – expire: Thời điểm hết hiệu lực record, sau thời gian mà người dùng thêm thiết bị khơng chấp nhận – active: biến Boolean dùng để record hết hiệu lực hay chưa, true record hiệu lực ngược lại 4.1 4.1.1 Hiện thực Phần cứng ESP8266 Nhóm sử dụng ESP38266 vật trung gian để nhận giữ liệu từ server phương thức giao tiếp MQTT thông qua mạng wifi, sau truyền sang module STM32 để xử lý điểu khiển thiết bị khác phương thức giao tiếp UART qua chân GPIO 3-RX 1-TX Sử dụng chân 04-GPIO nối với module touch, chạm vào sinh tính hiệu Đóng/Ngắt relay để truyền sang STM32 điều khiển relay Module STM32 giám sát tình trạng dòng điện qua thiết bị module detect dòng gửi thơng tin ESP8266, có thay đổi dòng ESP8266 gửi thông tin lên server để cập nhật lại trạng thái nút nhấn giao diện web 4.1.2 STM32F103 Nhóm sử dụng STM32F103 xử lí trung tâm, đọc xử lí tín hiệu từ module cảm biến dòng feedback trạng thái thiết bị cho server STM 32 đồng thời nhận tín hiệu touch từ ESP8266 giao thức UART thông qua chân A9(TX) A10(RX) để điều khiển trạng thái thiết bị qua relay đóng ngắt 4.1.3 ACS712T Nhóm sử dụng module đo dòng để kiểm tra dòng điện chạy qua thiết bị điều khiển Thông tin đo truyền đến STM32F103 để xử lí xa Module kết nối với STM qua chân analog A0 4.1.4 Cảm biến điện dung HTTM Nhóm sử dụng module cảm biến điện dung để nối với chân GPIO 10 ESP8266 để thuận tiện cho việc điều khiển tạo thú vị cho sản phẩm Báo cáo đồ án Thiết kế luận lý Trang 15/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính 4.2 Phần mềm 4.2.1 HTTP API Client truy cập vào link Url để thực chức web app URL: /signin • Method: POST • Mơ tả: Đăng nhập • Tham số: – username: tên tài khoản - string – password: mật - string • Response: – id: Định danh tài khoản Database - string – devices: Danh sách thiết bị có tài khoản - array URL: /signup • Method: POST • Mơ tả: Đăng ký tài khoản • Tham số: – username: tên tài khoản - string – password: mật - string • Response: – id: Định danh tài khoản database - string URL: /signout • Method: GET • Mơ tả: Đăng xuất khỏi tài khoản • Tham số: none • Response: – HTTP status code: 200 URL: /getDevice • Method: POST • Mô tả: Lấy danh sách thiết bị tài khoản sau đăng nhập • Tham số: none • Response: – devices: Danh sách thiết bị có tài khoản - array URL: /addDevice • Method: POST • Mơ tả: Thêm thiết bị vào tài khoản Báo cáo đồ án Thiết kế luận lý Trang 16/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính • Tham số: – id: Định danh thiết bị mua - string – name: Tên thiết bị người dùng đặtđặt - string • Response: – HTTP status code: 200 URL: /removeDevice • Method: POST • Mơ tả: Xóa thiết bị khỏi tài khoản • Tham số: – id: Định danh thiết bị - string • Response: – HTTP status code: 200 4.2.2 Socket API Các API sử dụng chung topic tên "webToServer" dùng để gửi data từ server đến client "serverToWeb" dùng để gửi data từ client đến server Đinh dạng liệu sau: • id: Định danh thiết bị người dùng - string • content: chứa nội dung tác vụ cần làm thiết bị - string Content gồm giá tri sau: – – – – – – 4.2.3 "ON": Bật thiết bị "OFF": Tắt thiết bị "setTurnOn": Hẹn bật thiết bị "setTurnOff": Hẹn tắt thiết bị "cancelTurnOn": Hủy hẹn bật thiết bị "cancelTurnOff": Hủy hẹn tắt thiết bị MQTT API Dữ liệu từ server đến client (ESP8266): server gửi tín hiệu cho client thông báo yêu cầu thay đổi trạng thái thiết bị với topic "ESP8266" Dữ liệu từ client (ESP8266) đến server: client gửi tín hiệu lên server thơng báo trạng thái thiết bị với topic "espToServer" Định dạng data sau: • id: Định danh thiết bị người dùng - string • content: chứa nội dung tác vụ cần làm thiết bị - string Content gồm giá tri sau: – "ACTIVE": Khi khởi động thiết bị thiết bị gửi đến server để kích hoạt – "ACTIVED": Nếu thiết bị kích hoạt server gửi đến thiết bị để thiết bị bắt đầu hoạt động bình thường – "ON" "OFF": Server gửi đến để điều khiển bật tắt thiết bị thiết bị gửi lại để feedback trạng thái thật Báo cáo đồ án Thiết kế luận lý Trang 17/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính 4.3 Giao tiếp Serial ESP8266 STM32F103 Kết nối ESP8266 STM32F103 thông qua giao tiếp UART Chân GPIO (TX STM) kết nối với chân GPIO (RX ESP8266) GPIO 10 (RX STM) kết nối với GPIO (TX ESP8266) Khi server gửi tín hiệu điều khiển thiết bị ESP8266 thông qua MQTT channel, ESP8266 sinh tín hiệu Serial để truyền đến mạch STM32 Định dạng liệu truyền đến STM32 String có giá trị “ON” “OFF” Ở phía STM32, sau nhận tín hiệu từ ESP266, điều khiển thiết bị dựa trạng thái nhận Để đảm bảo thiết bị hoạt động theo điều khiển, module đo dòng ACS712T 5A đưa vào để đo cường độ dòng điện chạy qua thiết bị đó, sau feedback ngược STM32 STM32 liên tục gửi cho ESP8266 trạng thái hoạt động thiết bị sau khoảng thời gian nhằm đồng liệu toàn hệ thống Nhờ bên client (web), người dùng có trạng thái thiết bị 4.4 Xử lý nhiễu đo cường độ dòng điện Dữ liệu thu từ module đo dòng raw data nên gây nhiều khó khăn việc xử lý, chủ yếu xử lý nhiễu Để giải vấn đề trên, thuật toán xử lý nhiễu tiếng Kalman filtering hay gọi linear quadratic estimation (LQE) đưa vào sử dụng Sau đưa qua tầng Kalman liệu trở nên ổn định sử dụng để định trạng thái thật thiết bị Nhờ thuật toán Kalman, module STM32 lấy xác hoạt động thiết bị dựa vào giá trị này, sau khoảng thời gian, STM32 gửi “ON” “OFF” ESP8266 để tiến hành đồng liệu 5.1 Kết Yêu cầu người dùng Phải người có quyền điều khiển thiết bị Là người có đường dẫn đến trang web sử dụng trang web kết nối với internet Là người nắm vị trí nút touch thiết bị điều khiển 5.2 Yêu cầu hệ thống Server phải hoạt động liên tục 24/24 để cập nhật trang thái thiết bị điều khiển người dùng truy cập sử dụng trang web Server hoạt động tốc độ ổn định với độ trễ tối đa giây sau người dùng thao tác Việc quản lý thiết bị thơng qua internet bảo đảm an tồn thơng qua giao thức HTTPS cung cấp miễn phí Heroku Nên thông tin truyền node mã hóa khơng bị làm giả ESP8266 phải kết nối với wifi ổn định, hoạt động 24/24 Touch có độ nhạy phù hợp, khơng q nhạy tránh trường hợp nhiễu làm đóng ngắt thiết bị liên tục gây giảm tuổi thọ cho phần cứng, ngược lại tránh gây khó khăn cho người dùng Báo cáo đồ án Thiết kế luận lý Trang 18/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính Hình 14: Sản phẩm sau hoàn thiện 5.3 Hướng dẫn sử dụng 5.3.1 Giao diện người dùng Giao diện web phải hiển thị nút bấm gồm trạng thái bật/tắt Thông tin web hiển thị thời gian thực Hình 15: Trang đăng nhập Báo cáo đồ án Thiết kế luận lý Trang 19/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính Hình 16: Trang điều khiển 5.3.2 Hướng dẫn cài đặt • Khi người dùng mua thiết bị, dán mã QR để add thiết bị vào tài khoản người dùng • Sau mua về, người dùng bật thiết bị lên, tạo access point giống wifi router để máy tính điện thoại kết nối • Người dùng sau kết nối vào access point truy cập vào địa ip thiết bị 192.168.1.1 nhập tên mật mạng wifi người dùng sử dụng • Sau thiết bị kết nối với wifi tự động sau 5s publish message chứa thông tin thiết bị đến broker server nhận thơng tin • Sau server nhận thơng tin từ thiết bị, lưu vào record database server, sau 30s mà server khơng nhận message từ thiết bị xóa khỏi database • Sau server có thơng tin thiết bị đăng kí, người dùng truy cập vào trang web scan mã QR dán thiết bị, server tìm kiếm database để chọn record chứa thiết bị q trình đăng ký hồn tất, khơng tìm thấy báo lỗi 5.3.3 Cách thức hoạt động ∇ Thiết lập ban đầu: – Người dùng truy cập vào app web nhà phát hành cung cấp – Đăng ký tài khoản – Scan mã QR dán thiết bị nhập thông tin thiết bị Báo cáo đồ án Thiết kế luận lý Trang 20/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính ∇ Điều khiển web: – Kích hoạt: Khi người dùng truy cập vào trang web – Điều kiện web hoạt động tốt: Web hiển thị nút điều khiển thiết bị trạng thái – Các bước sử dụng: Truy cập vào trang web Người dùng xem trạng thái thiết bị (đang tắt hay mở) Đăng nhập vào hệ thống Sử dụng chức hệ thống Bao gồm: ∗ Click vào nút nhấn để đổi trạng thái cho thiết bị ∗ Hẹn bật tắt thiết bị cách chọn nhập trực tiếp Sau click chọn nút kích hoạt Chờ kết trả tình trạng thiết bị – Trường hợp ngoại lệ: ∗ Xảy bước 1: Nếu khơng thể truy cập vào đường link, nhiều người truy cập Liên hệ với người cung cấp web, đường link có lỗi ∗ Xảy bước 4: Nếu không nhận tín hiệu trả lại đúng, có thẻ hệ thống tải, chờ thời gian Liên hệ với nhà cung cấp để xem xét lại hệ thống phần cứng ∇ Giám sát thiết bị qua web: – Kích hoạt: Khi người dùng truy cập vào trang web – Điều kiện web hoạt động tốt: Web hiển thị nút điều khiển thiết bị trạng thái – Các bước sử dụng: Truy cập vào trang web Người dùng xem trạng thái thiết bị (đang tắt hay mở) – Trường hợp ngoại lệ: ∗ Xảy bước 1: Nếu truy cập vào đường link, nhiều người truy Liên hệ với người cung cấp web, đường link hỏng ∗ Xảy bước 2: Nếu khơng nhận tín hiệu trả lại đúng, liên hệ với nhà cung cấp để xem xét lại hệ thống ∇ Điều khiển touch: – Kích hoạt: Khi người dùng chạm vào module touch – Điều kiện web hoạt động tốt: Nút touch hoạt động, đèn báo sáng – Các bước sử dụng: Chạm vào nút touch Xem trạng thái thiết bị sau chạm Báo cáo đồ án Thiết kế luận lý Trang 21/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính – Trường hợp ngoại lệ: ∗ Xảy bước 2: Nếu khơng thấy thiết bị thay đổi trạng thái, chưa đủ độ tiếp xúc, chạm lại để lâu Kiểm tra lại kết nối phần cứng, bị lỏng dây Liên hệ với nhà cung cấp để sửa chữa Báo cáo đồ án Thiết kế luận lý Trang 22/23 Trường ĐH Bách Khoa TP HCM – Khoa Khoa học Kỹ thuật Máy tính Tài liệu Internet Of Things (IoT): cho người bắt đầu https://iotmakervn.github.io/iot-starter-book 2.Giao thức MQTT https://techmaster.vn/posts/34394/iot-giao-thuc-mqtt-va-ung-dung-trong-iot Thư viện MQTT.js https://github.com/mqttjs/MQTT.js 4.Lập trình socket https://kipalog.com/posts/Tim-hieu-ve-lap-trinh-socket -Buoc-dau-lam-quen Thư viện socket.io https://socket.io/ Thư viện React.js https://reactjs.org/docs Giới thiệu Node.js https://techmaster.vn/posts/33428/nodejs-la-gi-va-tai-sao-toi-nen-hoc\ -lap-trinh-nodejs Thư viện Express.js https://expressjs.com/ STM32F103 Datasheet http://www.st.com/resource/en/datasheet/CD00161566.pdf 10 Lập trình MQTT ESP8266 https://techtutorialsx.com/2017/04/09/esp8266-connecting-to-mqtt-broker/ 11 Thuật toán Kalman http://arduino.vn/tutorial/1492-bo-loc-kalman-giai-phap-chong-nhieu-tuyet-voi\ -cho-moi-du-su-dung-cam-bien 12 Module cảm biến dòng điện http://arduino.vn/bai-viet/1183-huong-dan-su-dung-cam-bien-dong-dien-\ acs712-voi-arduino 13 QR react https://github.com/zpao/qrcode.react 14 PostgresSQL Documentation https://www.postgresql.org/ Báo cáo đồ án Thiết kế luận lý Trang 23/23 ... động hệ thống Tài liệu dành cho người sử dụng hệ thống developers muốn chỉnh sửa nâng cấp hệ thống 1.2 Quy mô đề tài Hệ thống Nhà Thông Minh (Smart Home) cung cấp cho người dùng tiện dụng hệ thống. .. Giới thiệu đề tài 1.1 Tổng quan tài liệu Mục đích tài liệu giới thiệu mô tả chi tiết dự án Nhà Thông Minh (Smart Home) Tài liệu giải thích mục đích tính hệ thống, giao diện hệ thống, mơ hình... chạy qua thiết bị điện Hình 8: Mơi trường hệ thống 3.2 Mơ hình logic hệ thống Dưới sơ đồ logic hệ thống (các mũi tên ký hiệu chiều di chuyển liệu) : Báo cáo đồ án Thiết kế luận lý Trang 12/23 Trường

Ngày đăng: 11/12/2018, 09:20

Từ khóa liên quan

Mục lục

  • Chương 1: Giới thiệu đề tài.

    • Tổng quan tài liệu.

    • Quy mô đề tài.

    • Công nghệ - Cơ sở lý thuyết

      • Phần cứng được sử dụng.

        • ESP32

        • STM32F103

        • ACS712T

        • Module cảm ứng điện dung HTTM

        • Tạo Server bằng Node JS và Module Express.

          • Node JS.

          • Module Express.

          • Database Postgres sql

            • Ưu điểm của Postgres sql

            • Tại sao sử dụng Postgres sql

            • Các giao thức truyền nhận dữ liệu.

              • Giao thức Socket.

              • Giao thức MQTT.

              • React.

                • React là gì?

                • Ưu điểm của React.

                • React và Angular - Cái nhìn tổng quan về hai công nghệ đang được sử dụng nhiều

                • Thuật toán Kalman

                • Mã QR

                  • Mã QR là gì?

                  • Ưu điểm của mã QR

                  • Cấu trúc

                    • Môi trường hệ thống

                    • Mô hình logic của hệ thống

Tài liệu cùng người dùng

Tài liệu liên quan