ụ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
Trang 1Vũ Đức Duy 1610516Huỳnh Phúc Nghị 1612233Trần Thanh Lộc 1611910Giảng viên hướng dẫn: Tiến sĩ Phạm Quốc Cường
Tp Hồ Chí Minh, Tháng 07/2018
Trang 21.1 Tổng quan tài liệu 5
1.2 Quy mô đề tài 5
2 Công nghệ - Cơ sở lý thuyết 5 2.1 Phần cứng được sử dụng 5
2.1.1 ESP32 5
2.1.2 STM32F103 6
2.1.3 ACS712T 7
2.1.4 Module cảm ứng điện dung HTTM 8
2.2 Tạo Server bằng Node JS và Module Express 8
2.2.1 Node JS 8
2.2.2 Module Express 8
2.3 Database Postgres sql 9
2.3.1 Ưu điểm của Postgres sql 9
2.3.2 Tại sao sử dụng Postgres sql 9
2.4 Các giao thức truyền nhận dữ liệu 9
2.4.1 Giao thức Socket 9
2.4.2 Giao thức MQTT 9
2.5 React 10
2.5.1 React là gì? 10
2.5.2 Ưu điểm của React 10
2.5.3 React và Angular - Cái nhìn tổng quan về hai công nghệ đang được sử dụng nhiều 11
2.6 Thuật toán Kalman 12
2.7 Mã QR 12
2.7.1 Mã QR là gì? 12
2.7.2 Ưu điểm của mã QR 12
3 Cấu trúc 12 3.1 Môi trường hệ thống 12
3.2 Mô hình logic của hệ thống 12
3.3 Các khối chức năng 13
3.3.1 Sử dụng website 13
3.3.2 Điều khiển trực tiếp 13
3.4 Database 14
4 Hiện thực 15 4.1 Phần cứng 15
4.1.1 ESP8266 15
4.1.2 STM32F103 15
4.1.3 ACS712T 15
4.1.4 Cảm biến điện dung HTTM 15
4.2 Phần mềm 16
4.2.1 HTTP API 16
4.2.2 Socket API 17
4.2.3 MQTT API 17
Trang 34.3 Giao tiếp Serial giữa ESP8266 và STM32F103 18
4.4 Xử lý nhiễu khi đo cường độ dòng điện 18
5 Kết quả 18 5.1 Yêu cầu người dùng 18
5.2 Yêu cầu hệ thống 18
5.3 Hướng dẫn sử dụng 19
5.3.1 Giao diện người dùng 19
5.3.2 Hướng dẫn cài đặt 20
5.3.3 Cách thức hoạt động 20
Trang 52 Sơ đồ chân STM32F103 6
3 Mạch đo dòng ACS712T 7
4 Module cảm ứng điện dung HTTM 8
5 Code usuability 10
6 Scalability 11
7 So sánh hiệu suất hai công nghệ 11
8 Môi trường hệ thống 12
9 Mô hình logic hệ thống 13
10 Điều khiển thiết bị 13
11 Giám sát thiết bị 13
12 Điều khiển trực tiếp 14
13 Sơ đồ Database của hệ thống 14
14 Sản phẩm sau khi được hoàn thiện 19
15 Trang đăng nhập 19
16 Trang điều khiển 20
Trang 61 Chương 1: Giới thiệu đề tài.
1.1 Tổng quan tài liệu.
Mụ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àiliệ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 developersmuố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ốngInternet 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áovớ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ấtthườ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 chocá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ệcthiế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
Trang 7– Chuẩn giao tiếp nối tiếp UART với tốc độ Baud lên đến 115200.
– Hỗ trợ cả 2 giao tiếp TCP và 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 hơn so với các dòng ATmega khác
– On-board Mini USB interface
– Bộ xử lý nhỏ gọn (5.3x2.2cm) nhưng mạnh mẽ với 48 chân I/O
– Một nút reset, một LED chân PC13
– Hỗ trợ mạch nạp ST-Link, J-Link, USB to COM
Trang 8– Sử dụng nguồn 3.3V.
– Debug mode: Serial wire debug (SWD) và 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 do Bộ nhớ Flash của STM32 có thể được khóa để chống truy cập đọcFlash 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 là một IC cảm biến dòng tuyến tính dựa trên hiệu ứng Hall ACS xuất
ra 1 tín hiệu analog, Vout biến đổi tuyến tính theo sự thay đổi của dòng điện được lấy mẫu thứ cấp
DC (hoặc AC), trong phạm vi đã cho
Một số ưu điểm:
• Thời gian tăng của đầu ra để đáp ứng với đầu vào là 5µs
• Điện trở dây dẫn trong là 1.2mΩ
• Nguồn vận hành đơn là 5V
• Độ nhạy đầu ra từ 63-190mV/A
• Điện áp ra cực kỳ ổn định
Trang 92.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 trên nguyên lí cảm biến điện dung Các phầncảm biến có lớp cách điện Module dễ sử dụng, chỉ cần cấp nguồn vào 2 chân VCC và GND, sau đóngười dùng chỉ cần chạm vào màn hình module thì module sẽ đổi màu Module có cấu hình đẹp mắtvới 3 màu xanh, vàng, hồng và 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 ra pin: 3.3V ± 0.1V
• Dòng ra tối đa lớn: 500mA, có thể dùng để điều khiển relay, optocouplers, đèn LED,
• Tạo sao sử dụng Node JS?
– Có thể sinh ra nội dung của các trang web động
– Có thể tạo, mở, đọc, viêt, đóng file trên server
– Có thể thu thập các mẫu dữ liệu
– Có thể thêm, xóa, thay đổi dữ liệu trên cơ sở dữ liệu
Trang 102.3 Database Postgres sql
2.3.1 Ưu điểm của Postgres sql
• Là một chuẩn SQL phù hợp với hệ quản trị cơ sở dữ liệu quan hệ: PostgreSQL là hệ quản trị
cơ sở dữ liệu quan hệ mã nguồn mở, miễn phí và mạnh mẽ
• Cộng đồng mạnh: PostgreSQL được hỗ trợ bởi một cộng đồng nhiệt tình và đầy kinh nghiệm
• Hỗ trợ mạnh mẽ từ các bên thứ 3: Bất kể các tính năng tiên tiến thì PostgreSQL đều được hỗtrợ bởi các công cụ tuyệt vời của bên thứ 3 trong việc quản lý cơ sơ dữ liệu
• Đối tượng hóa: PostgreSQL không chỉ là một hệ quản trị cơ sở dữ liệu quan hệ, mà nó còn đốitượng hóa dữ liệu
2.3.2 Tại sao sử dụng Postgres sql
• Toàn vẹn dữ liệu: Khi độ tin cậy và tính toàn vẹn dữ liệu là tuyệt đối cần thiết thì PostgreSQL
là lựa chọn tốt hơn hết
• Sự đồng bộ: Trong tương lai, nếu có phải chuyển từ hệ quản trị cơ sở dữ liệu quan hệ này sangmột hệ quản trị cơ sở dữ liệu khác nhứ Oracle thì PostgreSQl cho việc chuyển đổi trong tươnglại đó
2.4 Các giao thức truyền nhận dữ liệu.
2.4.1 Giao thức Socket
Socket là một giao diện lập ứng dụng mạng Thông qua giao diện này, chúng ta có thể lập trìnhđiều khiển, truyền thông giữa 2 máy sử dụng giao thức TCP IP và UDP
Socket là thiết bị truyền thông hai chiều gửi và nhận dữ liệu từ máy khác
Trong project này ta sử dụng giao thức TCP IP
Đặc điểm:
• Có một đường kết nối (địa chỉ IP) giữa hai tiến trình
• Một tiến trình phải đợi tiến trình còn lại yêu cầu kết nối
• Mô hình client/server thì server lắng nghe và chấp nhận từ client
• Mỗi thông điệp gửi có xác nhận trả về
• Các gói thông tin đi tuần tự
2.4.2 Giao thức MQTT
Mqtt (Message Queuing Telementry Transport) là một giao thức gởi dạng publish/subscribe sử dụngcho các thiết bị Internet of Things với băng thông thấp, độ tin cậy cao và khả năng được sử dụngtrong mạng lưới không ổn định
Kiến trúc mức cao (high-level) của MQTT gồm 2 thành phần chính là Broker là Clients Trong đó:
• Broker được coi là trung tâm Nhiệm vụ chính của broker là nhận mesage từ publisher, xếp cácmessage theo hàng đợi rồi chuyển chúng tới một địa chỉ cụ thể
Trang 11• Client thì được chia thành 2 nhóm là publisher và subscriber Client là các software componentshoạt động tại edge device nên chúng được thiết kế để có thể hoạt động một cách linh hoạt.Client chỉ làm ít nhất một trong 2 việc là publish các message lên một topic cụ thể hoặcsubscribe một topic nào đó để nhận message từ topic này.
Quality of Service (QoS): MQTT hỗ trợ 3 mức QoS nhầm đảm bảo sự chắc chắn trong việc gửi vànhận giữa clietn và broker Bao gồm:
• QoS-0: Tất cả các message có QoS 0 sau khi được gửi đi bởi publisher sẽ không được kiểm traxem đã đến broker hay chưa
• QoS-1: Message được đảm bảo rằng đã đến nơi nhận ít nhất 1 lần
• QoS-2: Broker sẽ đảm bảo các message có QoS-2 sẽ đến nơi nhận chỉ 1 lần duy nhất, khôngtrùng lặp, không thất lạc
2.5 React.
2.5.1 React là gì?
React.js là 1 thư viện JavaScript tạo ra bởi Facebook
Như khái niệm trên trang web chính thức “A JavaScript library for building user interface”, React.js
là một thư viện sinh ra để xây dựng giao diện người dùng (UI) Nó không phải là Framework mà chỉ
là thư viện
Ngoài Facebook và Instagram – nơi làm ra và maintain React.js, Yahoo hay Airbnb là những ví dụnổi bật có sử dụng thư viện này Hiện nay, đây là một thư viện thu hút được rất nhiều sự quan tâm.2.5.2 Ưu điểm của React
• Khả năng tái sử dụng code
Hình 5: Code usuability
Trang 12Tất nhiên là nếu tất cả các component đều stateless thì chẳng khác nào 1 trang HTML tĩnh, vìthế ta cần cả những component có state nữa Tuy nhiên, quan điểm của React.js là tối giản nhữngcomponent như vậy và xây dựng UI dựa vào những component stateless là chủ yếu.
2.5.3 React và Angular - Cái nhìn tổng quan về hai công nghệ đang được 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 hơn Angular và khi có sự thay đổi về dữ liệu thì React có hiệu suấtcao hơn hẳn Angular vì nó không nhất thiết phải thay đổi render của cả mô hình như Angular màchỉ thay đổi những chỗ thực sự cần thiết
Trang 132.6 Thuật toán Kalman
Thuật toán nổi tiếng Kalman filtering hay còn gọi là linear quadratic estimation (LQE) là một phươngpháp thuật toán lọc nhiễu ra khỏi thông tin, và nó được dùng rất nhiều trong các lĩnh vực điều khiển,hàng không, quân sự, vũ trụ, v.v, ví dụ như để ước lượng và điểu khiển quĩ đạo của tên lửa, của phithuyền Nó còn được dùng trong rất nhiều lĩnh vực khác, từ nhận dạng tiếng nói cho đến marketing
2.7.2 Ưu điểm của mã QR
• Một mã QR có thể chứa đựng thông tin một địa chỉ web (URL), thời gian diễn ra một sự kiện,thông tin liên hệ (như vCard), địa chỉ email, tin nhắn SMS, nội dung ký tự văn bản hay thậmchí là thông tin định vị vị trí địa lý
• So với các mã vạch thẳng một chiều truyền thống thì mã QR có thể chứa được nhiều thôngtin hơn so với cùng một kích thước, có thể quét từ 2 chiều cả ngang và dọc mà không bị ảnhhưởng bởi chất liệu mà nó đang sử dụng
3.1 Môi trường hệ thống
Người dùng sẽ truy cập vào web site bằng 1 đường dẫn URL, thông qua các nút điều khiển trên giaodiện của trang web người dùng có thể điểu khiển thiết bị đóng ngắt điện bằng module ESP32 vàSTM32 Ngoài ra người dùng cũng có thể điều khiển thiết bị trực tiếp bằng cách chạm vào touchmodule trên ESP32 Trên trang web người dùng cũng có thể giám sát được tình trạng của thiết bịbằng 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 của hệ thống
Dưới đây là sơ đồ logic của hệ thống (các mũi tên ký hiệu chiều di chuyển của dữ liệu):
Trang 14Hì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 hoặc 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 có thể xem được đèn đang 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 hoặc tắt thiết bị
Trang 15Hình 12: Điều khiển trực tiếp
3.4 Database
Database gồm các bảng với các trường như sơ đồ bên dưới
Hình 13: Sơ đồ Database của hệ thống
Trong đó:
• Bảng User: là bảng dùng để chứa các record của người dùng Bao gồm:
– id: Mỗi user khi đăng ký tài khoản sẽ có một id và các id này không trùng với nhau.– username: Tên tài khoản dùng để đăng nhập, không trùng với các username khác.– password: Password dùng để đăng nhập
• Bảng Device: là bảng dùng để chứa các record của thiết bị Bao gồm:
– id: Mỗi thiết bị khi mua về sẽ có một id để quản lý
– name: Tên thiết bị được điều khiển
– status: Trạng thái của thiết bị bật/tắt
– timerStatusTurnOn: trạng thái hẹn giờ để bật thiết bị, nếu bằng true thì khi tới thời điểmtimeOn thiết bị sẽ tự động bật, nếu bằng false thì không có gì xảy ra
– timerStatusTurnOff: trạng thái hẹn giờ để bật thiết bị, nếu bằng true thì khi tới thời điểmtimeOff thiết bị sẽ tự động bật, nếu bằng false thì không có gì xảy ra
– timeOn: thời điểm hen giờ để bật thiết bị
– timeOff: thời điểm hẹn giờ để tắt thiết bị
– user_id: Id của user
• Bảng Session: là bảng dùng để chứa các record của user đang đăng nhập vào hệ thống trongmột phiên làm việc
– sid: Id của mỗi lần user đăng nhập trên một thiết bị điều khiển (web, app)
Trang 16– sesss: Dữ liệu của phiên đăng nhập (username, timeStatus, ).
– expire: Thời gian duy trì của phiên đăng nhập
• Bảng Register: là bảng dùng để chứa các record của các thiết bị đã đăng ký và chờ người sởhữu thêm thiết bị đó vào tài khoản của họ Khi người dùng mua thiết bị về và bật thiết bị lênthì nó sẽ gửi lên server để thêm thiết bị này vào Register, sau đó người dùng sẽ phải dùng webhoặc app để thêm thiết bị đó vào tài khoản của họ hay nói cách khác là chuyển thông tin củathiết bị từ bảng Register sang bảng Deviảng
– id: ID của thiết bị
– expire: Thời điểm hết hiệu lực của record, nếu sau thời gian này mà người dùng thêmthiết bị này thì sẽ không được chấp nhận
– active: biến Boolean dùng để chỉ record đã hết hiệu lực hay chưa, true là record còn hiệulực và ngược lại
Sử dụng chân 04-GPIO nối với một module touch, khi chạm vào sẽ sinh ra tính hiệu Đóng/Ngắtrelay để truyền sang STM32 điều khiển relay
Module STM32 sẽ giám sát tình trạng của dòng điện qua thiết bị bằng module detect dòng rồi gửithông tin về ESP8266, khi có sự thay đổi của dòng ESP8266 sẽ gửi thông tin lên server để cập nhậtlại trạng thái của nút nhấn trên giao diện web
Nhóm sử dụng module đo dòng để kiểm tra dòng điện chạy qua thiết bị được điều khiển Thông tin
đo được sẽ được truyền đến STM32F103 để xử lí xa hơn Module này được kết nối với STM quachâ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 của ESP8266 để thuận tiện choviệc điều khiển và tạo sự thú vị cho sản phẩm
Trang 17– username: tên tài khoản - string
– password: mật khẩu - string
• Response:
– id: Định danh của tài khoản trong Database - string
– devices: Danh sách thiết bị có trong tài khoản - array
2 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 khẩu - string
Trang 18• Tham số:
– id: Định danh của thiết bị mua - string
– name: Tên của thiết bị do người dùng đặtđặt - string
Các API sử dụng chung 1 topic tên là "webToServer" dùng để gửi data từ server đến client và
"serverToWeb" dùng để gửi data từ client đến server
Đinh dạng của dữ liệu như sau:
• id: Định danh của thiết bị của người dùng - string
• content: chứa nội dung tác vụ cần làm đối với thiết bị đó - string Content gồm những giá trinhư sau:
– "ON": Bật thiết bị
– "OFF": Tắt thiết bị
– "setTurnOn": Hẹn giờ bật thiết bị
– "setTurnOff": Hẹn giờ tắt thiết bị
– "cancelTurnOn": Hủy hẹn giờ bật thiết bị
– "cancelTurnOff": Hủy hẹn giờ tắt thiết bị
4.2.3 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 đổitrạng thái của thiết bị với là topic "ESP8266" Dữ liệu từ client (ESP8266) đến server: client gửi tínhiệu lên server thông báo trạng thái hiện tại của thiết bị với topic là "espToServer"
Định dạng của data như sau:
• id: Định danh của thiết bị của người dùng - string
• content: chứa nội dung tác vụ cần làm đối với thiết bị đó - string Content gồm những giá trinhư sau:
– "ACTIVE": Khi khởi động thiết bị thì thiết bị gửi đến server để kích hoạt
– "ACTIVED": Nếu thiết bị đã được kích hoạt thì server sẽ gửi đến thiết bị để thiết bị bắtđầu hoạt động bình thường
– "ON" và "OFF": Server gửi đến để điều khiển bật tắt thiết bị và thiết bị gửi lại để