20 Hình mơ tả cho bước trên

Một phần của tài liệu 367495209-bao-cao-do-an-5419 (Trang 37 - 39)

Trong file demo.item, file demo.sitemap file cấu hình giao diện web cho openhab và cấu hình điều khiển hoạt động giao tiếp của MQTT broker với MQTT client

- Cho 3 phịng trong nhà nằm trong nhóm “All”: Group All

Group Living "Living Room" <sofa> (All) Group Kitchen "Kitchen" <kitchen> (All)

Group Bedroom1 "Main Bedroom" <bedroom> (All) Group Bedroom2 "Second Bedroom" <bedroom> (All) /*Living room */

Number Temperature1 "Temperature [%.1f C]" <temperature> (Living) {mqtt="<[mymosquitto:/Living/Temperature:state:default]"}

Switch Light1 "Light" (Living)

{ mqtt="<[mymosquitto:/Living/Light/Status:state:default],>[mymosquitto:/Living/Light/Comma nd:command:ON:1],>[mymosquitto:/Living/Light/Command:command:OFF:0]" }

/*Kitchen */

Number Temperature2 "Temperature [%.1f C]" <temperature> (Kitchen) {mqtt="<[mymosquitto:/Kitchen/Temperature:state:default]"}

Switch Light2 "Light" (Kitchen)

{ mqtt="<[mymosquitto:/Kitchen/Light/Status:state:default],>[mymosquitto:/Kitchen/Light/Com mand:command:ON:1],>[mymosquitto:/Living/Light/Command:command:OFF:0]" }

/*Main Bedroom */

Number Temperature3 "Temperature [%.1f C]" <temperature> (MainBedroom) {mqtt="<[mymosquitto:/MainBedroom/Temperature:state:default]"}

Đồ án tốt nghiệp đại học Chương 3 Tổng quan về mơ hình smart home Switch Light3 "Light" (MainBedroom)

{ mqtt="<[mymosquitto:/MainBedroom/Light/Status:state:default],>[mymosquitto:/MainBedroo m/Light/Command:command:ON:1],>[mymosquitto:/Living/Light/Command:command:OFF:0]" }

/*Second Bedroom */

Number Temperature4 "Temperature [%.1f C]" <temperature> (SecondBedroom) {mqtt="<[mymosquitto:/SecondBedroom/Temperature:state:default]"}

Switch Light4 "Light" (SecondBedroom)

{ mqtt="<[mymosquitto:/SecondBedroom/Light/Status:state:default],>[mymosquitto:/SecondBed room/Light/Command:command:ON:1],>[mymosquitto:/Living/Light/Command:command:OFF :0]" }

Mỗi phịng đều có 1 cơng tắc đèn và cảm biến nhiệt độ. Ý nghĩa các tham số của cảm biến nhiệt độ:

Number: loại dữ liệu mà sensor này gửi/nhận, ta dùng Number vì nhiệt độ là số. Temperature1/2/3/4: tên của thiết bị (item).

“Temperature [%.1f C]”: format data mình muốn hiển thị. “%.1f” là hiển thị data là số thập phân 1 số lẻ và C là độ C).

<temperature>: icon hiển thị kèm với thiết bị này (hình nhiệt kế). (Living): nhóm mà thiết bị này thuộc về.

{mqtt=”<[mymosquitto:/Living/Temperature:state:default]”}: nguồn lấy dữ liệu. OpenHAB sẽ sử dụng MQTT tên là “mymosquitto” (giống như mình cấu hình ở phần trên) và lắng nghe data gửi tới channel tên là /Living/Temperature. “state” là loại, thể hiện là OpenHAB hiển thị trạng thái (một loại khác là “command” yêu cầu OpenHAB điều khiển) và “default” là công thức chuyển đổi data . Dấu < ở đầu ý nghĩa là yêu cầu OpenHAB đọc data từ channel thay vì gửi tới đó. Ý nghĩa các tham số của công tắc đèn:

Switch: thiết bị này là loại cơng tắc On/off Light1/2/3/4: Tên thiết bị

(Living): nhóm mà thiết bị này thuộc về

<[mymosquitto:/Living/Light/Status:state:default]: Dấu < là báo cho OpenHAB biết nguồn lấy trạng thái của công tắc. OpenHAB sẽ lắng nghe trạng thái của công tắc ở channel tương ứng để cập nhật lên giao diện người dùng. Sau này chúng ta sẽ lập trình cho các cơng tắc điện trong phịng gửi trạng thái On/Off (khi có người bật/tắt bằng công tắc) đến cho OpenHAB ở channel tương ứng

>[mymosquitto:/Living/Light/Command:command:ON:1]: Dấu > là báo cho OpenHAB biết khi người dùng bật công tắc trên giao diện web, OpenHAB sẽ gửi lệnh tên là 1 tới channel tương ứng. Khi đó ta sẽ lập trình cho cơng tắc điện lắng nghe trên channel này và bật lên nếu nhận được command 1 từ OpenHAB

>[mymosquitto:/Living/Light/Command:command:OFF:0]: Tương tự cho trường hợp OFF, OpenHAB sẽ gửi đến channel tương ứng command là 0

File sitemap nằm trong thư mục /opt/openhab/configurations/sitemaps/default.sitemap

Trong sitemap, ta sẽ add một frame cho toàn bộ giao diện. Bên trong gồm 4 frame dành cho 4 phòng tương ứng:

sitemap default label="My Smart Home" {

Frame label="Living Room" { Text item=Temperature1 Switch item=Light1 } Frame label="Kitchen" { Text item=Temperature2 Switch item=Light2 }

Frame label="Main Bedroom" { Text item=Temperature3 Switch item=Light3 }

Frame label="Second Bedroom" { Text item=Temperature4 Switch item=Light4 } } Bật OpenHAB bằng command: sudo /opt/openhab/start.sh

OpenHAB có thể cần 1-2 phút để khởi động. Màn hình hiển thị khi chạy của OpenHAB:

Một phần của tài liệu 367495209-bao-cao-do-an-5419 (Trang 37 - 39)

Tải bản đầy đủ (DOCX)

(60 trang)
w