1. Tổng quan
openHAB là viết tắt của open Home Automation Bus, một nền tảng mã nguồn mở cho phép quản lý, tự động hóa mọi thứ trong ngôi nhà của bạn.
Một số điểm mạnh của openHAB:
- Khả năng tích hợp với vô số các thiết bị và hệ thống khác vào một giải pháp duy nhất.
- Cung cấp giao diện người dùng thống nhất và cách tiếp cận chung cho các quy tắc tự động hóa trong toàn bộ hệ thống.
- Cung cấp các công cụ linh hoạt có sẵn để biến hầu hết mọi mong muốn tự động hóa ngôi nhà thành hiện thực.
2. Các khái niệm chính
openHAB giao tiếp điện tử với các thiết bị thông minh và không thông minh, thực hiện các hành động do người dùng định nghĩa và cung cấp cho các trang web thông tin cũng như các công cụ để tương tác với tất cả các thiết bị. Dưới đây là bảng mô tả các khái niệm quan trọng trong openHAB
Định nghĩa | Ý nghĩa |
---|---|
Bindings | Là thành phần của openHAB cung cấp giao diện để tương tác điện tử với các thiết bị |
Things | Là đại diện cho thiết bị của bạn |
Channels | Là kết nối giữa các "Things" và "Items" |
Items | Là đại diện cho các thông tin về thiết bị |
Rules | Thực hiện các hành động tự động nếu thỏa mãn một điều kiện nào đấy |
Sitemap | Là giao diện người dùng (trang web) để hiển thị thông tin và cho phép tương tác trực tiếp trên đó |
Sau đây ta sẽ đi sâu hơn để tìm hiểu chi tiết về các thành phần trên.
2.1. Bindings
Bindings là các gói phần mềm được người dùng cài đặt trong openHAB. Mục đích chính của Bindings là thiết lập kết nối giữa thiết bị của bạn và Thing. Bindings giao tiếp với thiết bị và dịch tất cả các lệnh đến và từ openHAB giữa thiết bị và Thing.
Đối với mỗi binding, sẽ có hướng dẫn và ví dụ về cách cấu hình, giới thiệu các Thing được hỗ trợ và Channel mà những binding này cung cấp.
2.2. Things
Things là các thực thể có thể được thêm vào hệ thống và có khả năng cung cấp nhiều chức năng trong một. Things đại diện cho lớp vật lý của một hệ thống openHAB. Thông qua cấu hình, Things cho openHAB biết các thực thể vật lý (thiết bị, dịch vụ web, nguồn thông tin, v.v.) mà hệ thống sẽ quản lý.
Things được kết nối với openHAB thông qua các binding. Để thêm một Thing vào hệ thống, trước tiên bạn phải xác định binding thích hợp có hỗ trợ Thing mà bạn muốn thêm.
Thing cung cấp một hoặc nhiều Channel để truy cập đến chức năng của nó. Các channels này có thể được liên kết với Items. Items được sử dụng để điều khiển Thing và quản lý thông tin của chúng. Khi Items được liên kết với Channels trên Thing, chúng sẽ có sẵn giao diện người dùng và rule engine.
2.3. Channels
Channels là các liên kết logic của một Thing đến một Item. Channels xác định cách thức Thing có thể giao tiếp với Item (và ngược lại). Bạn sẽ tạo các channel khi định nghĩa Thing.
Trong định nghĩa Thing, bạn sẽ xác định Channel để liên kết đến Item. Điều này đảm bảo rằng openHAB có thể truyền thông tin từ Thing đến Item (và ngược lại). Ví dụ một Thing có 3 channel là temperature Channel, humidity Channel và pressure Channel để nhận thông tin nhiệt độ, độ ẩm và áp suất.
2.4. Items
Items đại diện cho chức năng, thuộc tính được ứng dụng sử dụng (chủ yếu là giao diện người dùng hoặc logic tự động hóa). Items có một trạng thái và được sử dụng thông qua các sự kiện.
Items là các kiểu dữ liệu cơ bản và có trạng thái, có thể được đọc hoặc ghi. Items có thể được liên kết với Binding để tương tác với thế giới bên ngoài. Ví dụ: một Item được gắn với cảm biến ánh sáng sẽ nhận giá trị đo của cảm biến và một Item được liên kết với light Channel để có thể thiết lập độ sáng cho bóng đèn.
Các kiểu Item có sẵn trong openHAB có thể tham khảo tại đây.
2.5. Rules
Rules được sử dụng để tự động hóa các quy trình: Mỗi rule khi được kích hoạt sẽ thực thi một tập các lệnh đã được định nghĩa, ví dụ: bật lò sưởi khi nhiệt độ < 20°C, thực hiện các phép tính toán học, bắt đầu tính giờ, v.v.
openHAB có một công cụ rules tích hợp cao, nhẹ nhưng mạnh mẽ. Các bạn có thể tìm hiểu thêm tại đây.
2.6. Sitemap
Trong openHAB, một tập các Things và Items đại diện cho các đối tượng vật lý và logic trong thiết lập tự động hóa nhà của người dùng. Sitemap được sử dụng để hiển thị các Things và Items này ra ngoài giao diện, để người dùng có thể nhìn thấy một cách trực quan và dễ dàng tương tác với chúng.
Dưới đây là một ví dụ đơn giản về sitemap:
3. Tổng kết
Trên đây mình vừa giới thiệu về nền tảng IoT openHAB và các khái niệm cơ bản trong openHAB. Trong bài viết tiếp theo, mình sẽ cài đặt openHAB và chạy thử một demo nhỏ cho các bạn theo dõi. Cảm ơn các bạn đã quan tâm.