Bắt đầu với OpenHAB Home Automation trên Raspberry Pi

Bắt đầu với OpenHAB Home Automation trên Raspberry Pi
Hướng dẫn này có sẵn để tải xuống dưới dạng PDF miễn phí. Tải xuống tệp này ngay bây giờ . Hãy sao chép và chia sẻ điều này với bạn bè và gia đình của bạn.

OpenHAB là một nền tảng tự động hóa gia đình mã nguồn mở trưởng thành, chạy trên nhiều phần cứng khác nhau và là giao thức bất khả tri, có nghĩa là nó có thể kết nối với gần như bất kỳ phần cứng tự động hóa gia đình nào trên thị trường hiện nay. Nếu bạn đã thất vọng với số lượng ứng dụng cụ thể của nhà sản xuất mà bạn cần chạy chỉ để điều khiển đèn, thì tôi có tin tuyệt vời cho bạn: OpenHAB là giải pháp bạn đang tìm kiếm - đó là ngôi nhà thông minh linh hoạt nhất trung tâm mà bạn sẽ tìm thấy.





Thật không may, đó là chừng mực bạn có thể nhận được từ sự thân thiện với người tiêu dùng - nhưng hơn bao giờ hết, đó là nơi MakeUseOf xuất hiện: chúng tôi sẽ chỉ cho bạn cách thiết lập và vận hành hệ thống nhà thông minh tối ưu mà tiền không cần mua (vì OpenHAB là 100% miễn phí - chỉ cung cấp phần cứng).





Phần đầu tiên của hướng dẫn này tập trung đặc biệt vào cách thiết lập OpenHAB với Raspberry Pi 2 , nhưng xa hơn, các hướng dẫn và lời khuyên có thể được áp dụng cho bất kỳ nơi nào cài đặt OpenHAB.





Hướng dẫn này bao gồm ba chủ đề giới thiệu và một chủ đề nâng cao hơn một chút.

  • Khởi động và chạy OpenHAB trên Pi, đồng thời cài đặt cấu hình nhà demo để kiểm tra các hệ thống lõi đang hoạt động.
  • Cách thêm ràng buộc và cấu hình cho thiết bị. Tôi sẽ làm việc với Philips Hue.
  • Cho phép truy cập từ xa và kết nối với IFTTT.
  • Thêm cảm biến hiện diện DIY bằng Bluetooth và giới thiệu về giao diện REST.
  • Định cấu hình ứng dụng OpenHAB dành cho thiết bị di động.

Những gì bạn cần

Ít nhất, bạn sẽ cần Raspberry Pi (tốt nhất là v2) và Ethernet hoặc bộ điều hợp không dây (ưu tiên Ethernet, hướng dẫn này sẽ không bao gồm hướng dẫn về cách làm cho bộ điều hợp Wi-Fi của bạn hoạt động). Mọi thứ khác là tùy chọn. Lưu ý rằng OpenHAB cũng sẽ chạy trên Raspberry Pi gốc, nhưng có một vấn đề đã biết với các thiết bị Z-Wave và xử lý chậm hơn. Nếu không có nhu cầu sử dụng Z-Wave, bạn có thể yên tâm bỏ qua cảnh báo này và tiếp tục với Raspberry Pi kiểu B hoặc B +, vì mọi thứ khác dường như hoạt động tốt. Bạn luôn có thể nâng cấp lên Pi mới nhất nếu và khi bạn thêm Z-Wave.



Điều nhỏ bé này có thể là trung tâm nhà thông minh tốt nhất mà bạn từng có!

Tại thời điểm viết bài, phiên bản ổn định mới nhất của OpenHAB là phiên bản 1.71; Dự kiến ​​sẽ sớm có phiên bản 1.8 và mọi thứ trong hướng dẫn này vẫn phải phù hợp, mặc dù một số ràng buộc nhất định có thể có nhiều tính năng hơn. Phiên bản 2 hiện cũng có sẵn dưới dạng bản xem trước alpha rất sớm, nhưng áp dụng kiến ​​trúc khác biệt đáng kể với loạt OpenHAB 1: hướng dẫn này không tương thích với phiên bản 2.





Tôi thực sự khuyên bạn nên làm theo hướng dẫn này một cách chậm rãi và có phương pháp - không cố gắng nhảy vào cuối sâu và thêm mọi thứ cùng một lúc. Vâng, đó là một hướng dẫn dài - OpenHAB là một hệ thống khó, thường yêu cầu điều chỉnh theo nhu cầu của bạn và cách tốt nhất để đảm bảo thành công là làm việc chậm rãi và hoàn thành từng phần một.

Tin tốt là một khi nó hoạt động, đó là một trải nghiệm vững chắc và vô cùng bổ ích.





Cài đặt OpenHAB

Không có hình ảnh được định cấu hình trước cho OpenHAB, vì vậy việc cài đặt được thực hiện theo cách cũ thông qua một dòng lệnh. Tôi khuyên bạn nên làm việc không mệt mỏi trên RPi - chi phí quản lý GUI mà bạn hiếm khi sử dụng là không đáng.

Bắt đầu với hình ảnh Raspbian SD mới nhất (đầy đủ) (không phải phiên bản 'lite', những phiên bản này không bao gồm Máy ảo Java). Cắm cáp mạng của bạn, sau đó khởi động và điều hướng qua SSH. Chạy:

sudo raspi-config

Mở rộng hệ thống tập tin; và từ menu nâng cao, hãy thay đổi phần chia bộ nhớ thành 16. Khi bạn hoàn tất, hãy khởi động lại và như một phương pháp hay, hãy chạy bản cập nhật đầy đủ

sudo apt-get update
sudo apt-get upgrade

Cách dễ dàng hơn để cài đặt thời gian chạy OpenHAB là thông qua apt-get , nhưng trước tiên chúng ta cần thêm khóa bảo mật và kho lưu trữ mới:

wget -qO - 'https://bintray.com/user/downloadSubjectPublicKey?username=openhab' |sudo apt-key add -
echo 'deb http://dl.bintray.com/openhab/apt-repo stable main' | sudo tee /etc/apt/sources.list.d/openhab.list
sudo apt-get update
sudo apt-get install openhab-runtime
sudo update-rc.d openhab defaults

Thật kỳ lạ, mọi thứ đã được cài đặt dưới quyền sở hữu của 'root'. Chúng ta cần khắc phục điều đó bằng các lệnh sau.

sudo chown -hR openhab:openhab /etc/openhab
sudo chown -hR openhab:openhab /usr/share/openhab

Tiếp theo, chúng tôi sẽ cài đặt Samba và chia sẻ cấu hình và thư mục người dùng - điều này sẽ giúp cài đặt tiện ích bổ sung và thay đổi sơ đồ trang web từ xa dễ dàng hơn.

sudo apt-get install samba samba-common-bin
sudo nano /etc/samba/smb.conf

Thay đổi tên nhóm làm việc nếu cần, nhưng nếu không hãy bật hỗ trợ WINS:

wins support = yes

(bạn sẽ cần bỏ ghi chú dòng và thay đổi không thành có)

sau đó thêm phần sau vào phần định nghĩa chia sẻ (cuộn hết cỡ xuống cuối tệp dài):

[OpenHAB Home]
comment= OpenHAB Home
path=/usr/share/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no
[OpenHAB Config]
comment= OpenHAB Site Config
path=/etc/openhab
browseable=Yes
writeable=Yes
only guest=no
create mask=0777
directory mask=0777
public=no

Tôi cũng nhận xét ra phần Máy in. Tôi đã thực hiện hai lần chia sẻ, vì các tệp cấu hình thực sự được lưu trữ riêng biệt với các tiện ích bổ sung.

Lưu và thoát. Cuối cùng, chúng tôi cần đặt mật khẩu Samba cho người dùng openhab:

sudo smbpasswd -a openhab

Tôi đề xuất 'openhab' làm mật khẩu chỉ để dễ sử dụng, nhưng nó không thực sự quan trọng.

Cảm ơn độc giả David L - có vẻ như phương pháp khởi động lại Samba đã thay đổi trong Raspian mới nhất. Đây là hướng dẫn được cập nhật:

sudo update-rc.d smbd enable
sudo update-rc.d nmbd enable
sudo service smbd restart

Sau khi khởi động lại Samba (cài đặt cũ hơn sử dụng dịch vụ sudo samba khởi động lại ), kiểm tra bạn có thể truy cập bộ nhớ dùng chung. Nó có thể không được tự động phát hiện trên máy Mac; nhưng bạn có thể sử dụng Người tìm kiếm -> Đi -> Kết nối với máy chủ và địa chỉ

smb://openhab@raspberrypi.local

Xác thực bằng openhab tên người dùng và mật khẩu bạn đã chọn, sau đó mở cả hai phần chia sẻ của bạn để xem xung quanh. Bạn thậm chí có thể mở http: //raspberrypi.local: 8080 / trong trình duyệt web của mình, nhưng bạn sẽ gặp lỗi vì chúng tôi chưa tạo sơ đồ trang web. Đó là bình thường.

Bây giờ sẽ là thời điểm tốt để học lệnh điều chỉnh nhật ký OpenHAB để bạn có thể theo dõi các lỗi.

tail -f /var/log/openhab/openhab.log

Tiếp tục chạy và mở trong một cửa sổ SSH riêng biệt mọi lúc trong khi bạn tiếp tục với hướng dẫn.

Cài đặt Nhà trình diễn

Trước khi chúng tôi đi sâu vào sự phức tạp của các tệp cấu hình, thêm thiết bị và liên kết, v.v.; hãy kiểm tra mọi thứ đang hoạt động bằng cách thêm nội dung demo. Bạn sẽ tìm thấy 'Thiết lập Demo' trong phần tải xuống của OpenHAB.org.

Khi bạn đã giải nén nó, có hai thư mục: addonscấu hình .

Sử dụng mạng chia sẻ, sao chép cấu hình đến Cấu hình OpenHAB chia sẻ và ghi đè lên thư mục hiện có. Sao chép addons đến người khác Trang chủ OpenHAB chia sẻ lại, ghi đè lên các thư mục hiện có. Nếu bạn không được nhắc ghi đè nội dung nào đó, bạn đang làm sai. Nếu bạn đã chú ý đến tệp nhật ký gỡ lỗi, bạn sẽ thấy một loạt hoạt động khi nó nhận thấy các ràng buộc mới và bắt đầu hoạt động. Mở raspberrypi.local: 8080 / openhab.app? Sitemap = demo để xem bản demo.

Hiện tại, nó hơi cơ bản nhưng bản chất mở của OpenHAB có nghĩa là chúng ta có thể cài đặt một chủ đề mới đáng yêu sau này hoặc một giao diện thay thế hoàn toàn. Hiện tại, chúng tôi chỉ cần biết rằng tất cả đều đang hoạt động. Lưu ý rằng những gì chúng ta đang xem được gọi là sơ đồ trang web (không liên quan gì đến sơ đồ trang web). Sơ đồ trang web mô tả giao diện người dùng - không phải các thiết bị thực tế trên mạng hoặc cảm biến của bạn - chỉ là giao diện để xem chúng. Mọi phần của nó hoàn toàn có thể tùy chỉnh. Để xem cách tạo cái này, hãy mở sitemaps / demo.sitemap trên phần chia sẻ Cấu hình OpenHAB.

Nó khá khó khăn, nhưng phần lớn bạn sẽ sao chép các đoạn mã dán từ các ví dụ ở nơi khác để tạo giao diện tùy chỉnh của riêng bạn. Đây là Tổng quan về kỹ thuật của tất cả các phần tử sơ đồ trang web có thể có, nhưng bây giờ chỉ cần bắt đầu suy nghĩ về loại giao diện bạn muốn xây dựng và thông tin bạn muốn hiển thị là đủ.

Khi bạn ở đó, hãy mở ra items / demo.items quá. Một lần nữa, trông có vẻ đáng sợ, nhưng đây là nơi bạn tạo các mục để điều khiển và xác định các cảm biến để theo dõi.

Vậy OpenHAB hoạt động như thế nào?

Bây giờ bạn đã hiểu nhanh sơ đồ trang web và thư mục mục, hãy phân tích chính xác những tệp này là gì và các thành phần chính khác của OpenHAB kết hợp để tạo ra ngôi nhà thông minh hoàn chỉnh của bạn. Bạn sẽ tìm thấy các thư mục con cho mỗi thư mục này trong thư mục chia sẻ Cấu hình OpenHAB.

vật phẩm là kho của mọi thiết bị điều khiển, cảm biến hoặc phần tử thông tin mà bạn muốn có trong hệ thống của mình. Nó cũng không cần phải là một thiết bị vật lý - bạn có thể xác định một nguồn web như thời tiết hoặc giá chứng khoán. Mỗi mục có thể được đặt tên, được gán nhiều nhóm (hoặc không có nhóm nào) và được kết nối với ràng buộc cụ thể. (Mẹo cho người mới bắt đầu: Viết hoa rất quan trọng khi nói đến các ràng buộc. Tôi đã dành một thời gian dài để cố gắng tìm ra lý do tại sao bóng đèn 'Hue' của tôi không hoạt động; đó là vì chúng đáng lẽ phải là 'hue').

Sơ đồ trang web chỉ quan tâm đến giao diện bạn sẽ thấy khi mở ứng dụng web hoặc thiết bị di động OpenHAB. Bạn có thể kiểm soát chính xác cách bạn muốn các nút được bố trí và thông tin được trình bày. Bạn có thể xác định các nhóm cấp cao nhất cho từng phòng trong ngôi nhà của mình; nhấp vào từng cái sẽ hiển thị cho bạn danh sách mọi thiết bị trong phòng đó. Hoặc bạn có thể thích hiển thị các nhóm cho từng loại thiết bị: một nút dành cho đèn, một nút khác dành cho ổ cắm điện. Có thể có một số thiết bị bạn sử dụng thường xuyên đến mức bạn chỉ muốn có một nút chuyển cho chúng ngay trên màn hình chính.

Quy tắc là nơi mà khía cạnh tự động hóa gia đình phát huy tác dụng, nơi bạn có thể xác định lịch trình hoặc điều kiện để một hành động xảy ra. Những sự kiện đơn giản như bật đèn phòng ngủ lúc 10 giờ tối thành màu đỏ ấm áp; hoặc logic phức tạp hơn như bật lò sưởi không gian nếu nhiệt độ nhỏ hơn 0 và có người trong phòng đó. Bạn cũng sẽ tìm thấy một tập lệnh thư mục, cung cấp chức năng tương tự như các quy tắc nhưng ở cấp độ logic có thể lập trình phức tạp hơn.

Sự bền bỉ là một chủ đề nâng cao mà chúng tôi sẽ không đề cập trong hướng dẫn này, nhưng tính kiên trì xác định dữ liệu bạn muốn lưu giữ. Theo mặc định, OpenHAB sẽ chỉ hiển thị trạng thái hiện tại của một thứ gì đó; nếu bạn muốn theo dõi giá trị đó theo thời gian, bạn cần thiết lập định nghĩa độ bền cho nguồn dữ liệu đó. Trong phần này, bạn sẽ chỉ định những thứ như tần suất đo một điểm dữ liệu hoặc khi nào nên loại bỏ các điểm dữ liệu cũ - bạn cũng sẽ cần cho nó biết loại công cụ bền bỉ nào sẽ sử dụng, chẳng hạn như MySQL hoặc đăng nhập đơn giản vào tệp .

Biến đổi chứa các ánh xạ cho các giá trị dữ liệu đến các nhãn. Ví dụ, humidex.scale tệp xác định một loạt các giá trị chỉ số độ ẩm và cách chúng được hiển thị bằng tiếng Anh: 29-38 là 'một số khó chịu'.

Các sơ đồ trang webmặt hàng các tệp cần thiết để OpenHAB chạy; phần còn lại là tùy chọn. Bạn có thể có nhiều sơ đồ trang web và các mục, vì vậy bạn có thể giữ lại nội dung demo và tham khảo lại bất kỳ lúc nào hoặc thử một bố cục mới cho giao diện điều khiển tại nhà của bạn. Đừng lo lắng nếu tất cả điều này có vẻ hơi quá sức ngay bây giờ, chúng tôi sẽ chia nó thành các phần có thể quản lý được và tôi hứa vào cuối hướng dẫn này, bạn sẽ tự tin để tạo thiết lập OpenHAB của riêng mình.

Tiếp theo, chúng tôi sẽ hướng dẫn bạn cách thêm một số bộ công cụ nhà thông minh phổ biến, bắt đầu từ đầu trong một sơ đồ trang web mới. Mỗi phần sẽ giới thiệu một số khái niệm cốt lõi như cách cài đặt các ràng buộc và định nghĩa mục, vì vậy tôi thực sự khuyến khích bạn đọc qua các hướng dẫn này ngay cả khi bạn không sở hữu những thiết bị cụ thể đó .

Bắt đầu bằng cách tạo mới (trống) home.items tệp và một tệp mới home.sitemap tập tin trong các thư mục có liên quan. Mở ra home.sitemap và dán vào đoạn mã sau. Điều này chỉ hoạt động như một khung cơ bản mà chúng ta sẽ thêm các bit vào sau.

sitemap home label='My Home'
{

}

Bạn sẽ thấy một thông báo để báo cáo rằng OpenHAB đã xác định một sơ đồ trang web và tệp mục mới.

aligncenter size-large wp-image-496593

Bật chế độ gỡ lỗi

Trong khi bạn vẫn đang cố gắng để OpenHAB hoạt động chính xác, có thể hữu ích khi bật một nhật ký gỡ lỗi dài hơn liệt kê mọi thứ chứ không chỉ những thứ quan trọng. Để bật chế độ này, hãy mở thư mục chia sẻ Cấu hình OpenHAB và chỉnh sửa logback.xml . Trên dòng 40, thay đổi dòng sau thành GỢI Ý thay vì THÔNG TIN. Bạn sẽ cần phải khởi động lại sau khi thay đổi điều này.

Đây là một thay đổi toàn cầu, vì vậy bạn sẽ nhận được nhiều thông tin hơn sau khi chỉnh sửa tệp nhật ký.

Thêm Philips Hue

Tôi sẽ bắt đầu với Philips Hue. Giống như hầu hết những thứ bạn muốn tương tác trong OpenHAB, bóng đèn Hue yêu cầu bạn cài đặt ràng buộc - nghĩ về các ràng buộc giống như một trình điều khiển thiết bị. Tại thời điểm viết bài, có khoảng 160 ràng buộc có sẵn cho OpenHAB 1, đó là lý do tại sao OpenHAB là một hệ thống mạnh mẽ như vậy - nó có thể giao tiếp với bất kỳ thứ gì, kết hợp tất cả các hệ thống điều khiển khác nhau thành một giao diện thống nhất duy nhất. Đây là bản demo và tổng quan nhanh về các bước liên quan.

Đầu tiên bạn phải tải xuống các ràng buộc và cách dễ nhất để thực hiện việc này trên Pi đang sử dụng apt-get , sau đó buộc quyền sở hữu cho người dùng openhab.

sudo apt-get install openhab-addon-binding-hue
sudo chown -hR openhab:openhab /usr/share/openhab

Tiếp theo, bạn cần yêu cầu OpenHAB tải trong ràng buộc đó và định cấu hình bất kỳ biến nào cần thiết. Duyệt đến thư mục cấu hình và tạo một bản sao của openhab-default.cfg , đặt tên cho nó openhab.cfg . Mở nó lên, tìm kiếm HUẾ và thay thế toàn bộ phần bằng đoạn mã sau. Điều duy nhất bạn cần thay đổi là giá trị IP của cầu nối của bạn - nếu bạn chưa biết nó, hãy thử công cụ khám phá trực tuyến. Giá trị bí mật không thực sự quan trọng, nó chỉ là một loại tên người dùng mà OpenHAB sẽ sử dụng để xác định chính nó với cầu nối.

Mẹo nhanh : để kích hoạt một dòng, chỉ cần xóa dấu # từ đầu. Theo mặc định, dòng chỉ định địa chỉ IP của cầu nối bị tắt (hoặc về mặt kỹ thuật, 'đã nhận xét'). Ngoài ra, nếu bạn đang thử một cấu hình thay thế, có thể hữu ích nếu bạn chỉ cần sao chép dòng hiện có và đặt dấu # ở đầu để đánh dấu nó là một nhận xét, vì vậy bạn có thể hoàn nguyên dễ dàng nếu có sự cố.

################################ HUE Binding ######################################### # IP of the Hue bridge
hue:ip=192.168.1.216
hue:secret=makeuseofdotcom
hue:refresh=10000

Lưu và thoát. Giống như bất kỳ ứng dụng Hue của bên thứ ba nào, bạn sẽ cần phê duyệt OpenHAB trên Hue Bridge bằng cách nhấn vào nút ở mặt trước - bạn chỉ cần thực hiện việc này một lần. Bạn sẽ thấy một thông báo về chờ đợi để được ghép nối nếu bạn đang theo dõi tệp nhật ký, nhưng nếu bạn quên hoặc bỏ lỡ việc đếm ngược, chỉ cần đặt lại Pi - bạn sẽ nhận được bộ đếm thời gian 100 giây kể từ khi bắt đầu ràng buộc Hue. Đảm bảo bạn đã ghép nối thành công trước khi tiếp tục.

Tiếp theo, mở home.items tệp, mà chúng tôi sẽ thêm một số bóng đèn Huế. Đây là một định nghĩa mục mẫu:

Color Bedroom_Hue 'Bedroom Hue' (Bedroom) {hue='1'}
  • Các Màu sắc từ chỉ định loại kiểm soát chúng tôi có đối với mặt hàng này. Bóng đèn RGB Hue là 'Màu', vì chúng tôi có toàn quyền kiểm soát màu sắc của chúng. Các đèn khác có thể chỉ là một Công tắc.
  • Tiếp theo là tên mã của mặt hàng: Tôi đã chọn Phòng ngủ_Hue , nhưng theo nghĩa đen thì mọi thứ đều ổn - chỉ cần một cái gì đó mang tính mô tả mà bạn cảm thấy tự nhiên, vì bạn sẽ cần nhớ nó sau này khi tạo sơ đồ trang web. Tên mã không được có khoảng trắng.
  • Giữa các dấu ngoặc kép là nhãn. Trong trường hợp này của chúng tôi thì đơn giản, nhưng đối với một số mục như nhiệt độ hoặc thứ gì đó báo cáo giá trị, bạn sẽ thêm một số mã đặc biệt cho nó biết cách hiển thị giá trị đó hoặc sử dụng những gì biến đổi. Nhãn dành cho giao diện và nó có thể có khoảng trắng.
  • Giữa các dấu ngoặc nhọn là tên của biểu tượng. Bạn sẽ tìm thấy tất cả các biểu tượng có sẵn trong phần chia sẻ OpenHAB, bên dưới ứng dụng web / hình ảnh danh mục. Trên thực tế, có một loạt các biểu tượng màu đại diện cho các độ sáng hoặc bật / tắt khác nhau. Chỉ cần chỉ định tên biểu tượng cơ sở - OpenHAB sẽ biết tự động tìm kiếm các biểu tượng bật / tắt khác nhau nếu đây là một mục được chuyển đổi. Đây là tùy chọn.
  • Trong dấu ngoặc tròn, chúng tôi cho biết nhóm nào nên tham gia - trong trường hợp này, chỉ Phòng ngủ tập đoàn.
  • Cuối cùng và quan trọng, chúng tôi kết nối mục với ràng buộc thích hợp với bất kỳ biến nào cần thiết. Trong trường hợp này, màu sắc ràng buộc, và số lượng bóng đèn là 1. Bạn có thể tìm số bằng cách mở ứng dụng Hue chính thức và nhìn vào tab đèn. Mỗi bóng đèn có một số duy nhất.

Tôi đã thêm tổng cộng bốn bóng đèn, cũng như một khai báo đơn giản về các nhóm mà chúng ta sẽ mở rộng sau. Đây là hoàn chỉnh của tôi home.items tại thời điểm này:

Group Bedroom
Group Office
Group Kai
Group Living_Room
Group Cinema
Group Secret
Group Lights /* Lights */
Color Bedroom_Hue 'Bedroom Hue' (Bedroom,Lights) {hue='1'}
Color Office_Hue 'Office Hue' (Office, Lights) {hue='2'}
Color Secret_Hue 'Secret Hue' (Secret, Lights) {hue='3'}
Color Kai_Hue 'Kai's Hue' (Kai, Lights) {hue='4'}

Các / * Đèn * / text chỉ là comment, nó không có chức năng gì khác ngoài việc giúp chúng ta quét file sau này khi nó lớn hơn. Bây giờ chúng tôi đã thêm các thiết bị, nhưng việc mở http: //raspberrypi.local: 8080 /? Sitemap = home dẫn đến giao diện trống - tất nhiên, vì chúng tôi chưa thực sự tạo các phần tử giao diện trong sơ đồ trang web. Bây giờ hãy bắt đầu thật đơn giản. Mở ra home.sitemap .

Mã được sử dụng để mô tả giao diện khác với các mục, nhưng hiện tại chúng tôi sẽ tạo một 'khung' mới và thêm một vài điều khiển nhóm cùng với một số biểu tượng.

sitemap home label='My Home'
{
Frame {
Group item=Lights label='All lighting' icon='hue'
Group item=Bedroom label='Bedroom' icon='bedroom'
Group item=Office label='Office' icon='desk'
}
}

Nhóm là một công cụ hữu ích để kiểm tra nhanh, nhưng trên thực tế, bạn sẽ muốn kiểm soát nhiều hơn cách hiển thị của các mục. Bây giờ, điều này sẽ đủ. Lưu và tải lại sơ đồ trang chủ của bạn trong trình duyệt. Bạn sẽ thấy điều này (hoặc bất kỳ nhóm nào bạn đã thêm).

Bấm vào Tất cả ánh sáng để xem mọi ánh sáng Huế, vì chúng tôi đã xác định tất cả chúng thuộc nhóm đèn bao quát đó.

Lưu ý rằng mục Office Hue được hiển thị với một biểu tượng khác - đó là vì đèn văn phòng của tôi đã bật và OpenHAB biết điều này khi nó nói với cầu Hue và đủ thông minh để điều chỉnh biểu tượng này thành phiên bản 'bật' của tệp. Thật không may, nó không phản ánh màu sắc, nhưng nếu bạn đã cài đặt ứng dụng dành cho thiết bị di động, nó sẽ phản ánh màu sắc hiện tại.

Nếu bạn thấy nhiều mục hơn bạn nghĩ là bạn đã xác định hoặc nhận được lỗi về nhiều định nghĩa, hãy biết rằng mặc dù bạn chỉ có thể tải một sơ đồ trang tại một thời điểm trên trang tất cả các sơ đồ trang web sẽ lấy các mục từ tất cả các tệp .item , vì vậy nếu bạn đã để tệp các mục demo ở đó, bạn cũng có thể có một số mục bổ sung hiển thị trong nhóm của mình. Tại thời điểm này, tôi khuyên bạn nên sao lưu nội dung các mục demo và chuyển nó ra khỏi thư mục để tránh lỗi trùng lặp.

Truy cập từ xa và IFTTT với My.OpenHAB

Ngay bây giờ, bạn cần phải ở trên cùng một mạng cục bộ để truy cập hệ thống OpenHAB của mình, nhưng nếu bạn muốn điều khiển thiết bị của mình và kiểm tra các cảm biến khi nằm ngoài phạm vi phủ sóng của Wi-Fi thì sao? Đối với điều đó, chúng tôi sẽ cần thiết lập quyền truy cập từ xa - và chúng tôi sẽ thực hiện điều đó một cách dễ dàng, với dịch vụ web My.OpenHAB [Đã xóa URL bị hỏng], loại bỏ nhu cầu lộn xộn với cấu hình bộ định tuyến và chuyển tiếp cổng. Ngoài ra, dịch vụ My.OpenHAB cũng có kênh IFTTT, mang đến cho bạn khả năng điều khiển từ xa và tự động hóa vô hạn.

Đầu tiên: cài đặt ràng buộc. Mẹo nhanh: nếu bạn không biết tên chính xác của một gói cài đặt cụ thể, hãy thử tìm kiếm bằng apt-cache.

sudo apt-get install openhab-addon-io-myopenhab
sudo chown -hR openhab:openhab /usr/share/openhab

Trước khi có thể đăng ký trên trang My.OpenHAB, bạn cần tạo một khóa bí mật và tìm UUID của mình, mã này xác định duy nhất cài đặt của bạn. Kiểm tra dưới Trang chủ OpenHAB chia sẻ -> ứng dụng web -> tĩnh và bạn sẽ tìm thấy tệp UUID chứa mã định danh duy nhất của bạn. Tại thời điểm này, tôi phát hiện ra rằng Pi của tôi đang sử dụng phiên bản Java cũ hơn, phiên bản này không tạo khóa bí mật một cách chính xác. Kiểu

java -version

để kiểm tra. Nếu nó không hiển thị 1.7 hoặc cao hơn, bạn có phiên bản sai. Thật kỳ lạ, phiên bản mới nhất của Raspbian có cài đặt Oracle Java 8, nhưng không được đặt làm mặc định.

sudo update-Alternatives --config java

tôi có thể kiếm bao nhiêu tiền để khai thác bitcoin

Chọn tùy chọn cho biết jdk-8-oracle , sau đó khởi động lại OpenHAB. Phần thưởng: Oracle Java 8 nhanh hơn OpenJDK mặc định!

Bây giờ bạn cũng sẽ tìm thấy một tệp bí mật trong ứng dụng web / tĩnh thư mục. Mở cả hai bí mậtuuid và sẵn sàng sao chép dán.

Bây giờ, hãy tạo tài khoản My.OpenHAB, sử dụng các chi tiết đó, sau đó quay lại - bạn cũng sẽ cần xác nhận email của mình trước khi mọi thứ hoạt động. Còn một vài bước nữa để thực hiện bước này. Trước tiên, chúng ta cần đặt công cụ bền bỉ mặc định thành myopenhab (tính bền bỉ là thứ cần hướng dẫn sau, nhưng bất kể, chúng ta cần thiết lập một cái gì đó cơ bản để 'xuất' dữ liệu của mình sang dịch vụ trực tuyến và hiển thị nó với IFTTT) . Để thực hiện việc này, hãy mở openhab.cfg và tìm biến cho biết kiên trì: mặc định = và thay đổi nó thành kiên trì: default = myopenhab . Cứu.

Cuối cùng, tạo một tệp mới trong cấu hình / sự bền bỉ thư mục được gọi là myopenhab.persist và dán vào quy tắc sau.

Strategies {
default = everyChange
}
Items {
* : strategy = everyChange
}

Bạn không cần phải hiểu điều này ngay bây giờ, nhưng hãy biết rằng nó nói 'lưu mọi trạng thái của mục khi nó thay đổi'.

Để kết nối với IFTTT, hãy truy cập Kênh OpenHAB - bạn sẽ cần xác thực và cấp cho nó quyền truy cập vào tài khoản MyOpenHAB của bạn. Cũng lưu ý rằng cho đến khi các mục của bạn đã thay đổi ít nhất một lần, chúng sẽ không hiển thị trong danh sách các mục trên IFTTT, vì vậy nếu nó không hiển thị, hãy bật và tắt một cái gì đó, sau đó tải lại. Xin chúc mừng, bây giờ bạn có quyền truy cập IFTTT hoàn chỉnh vào mọi thứ trong hệ thống OpenHAB của mình!

Cảm biến hiện diện Bluetooth sử dụng REST

Cách đây không lâu, tôi đã hướng dẫn bạn cách tạo khóa cửa văn phòng tự động bằng cách sử dụng tính năng quét Bluetooth để phát hiện sự hiện diện của người dùng - Tôi muốn đưa một thứ tương tự như vậy vào OpenHAB.

Trên bất kỳ nền tảng nào khác ngoài Raspberry Pi, điều này sẽ trở nên đơn giản nhờ vào liên kết Bluetooth được tạo sẵn; Thật không may, nó không hoạt động trên Pi do một tệp Java quan trọng cần được biên dịch lại cho kiến ​​trúc ARM, thêm vào liên kết và sau đó xây dựng lại liên kết. Chỉ cần nói rằng, tôi đã thử điều đó, và nó rất phức tạp và không hiệu quả. Tuy nhiên, có một giải pháp dễ dàng hơn nhiều và cũng đóng vai trò như một lời giới thiệu tốt về khả năng mở rộng tuyệt đối của OpenHAB: chúng tôi chỉ cần điều chỉnh tập lệnh Python trước đó của chúng tôi để nó báo cáo trực tiếp đến giao diện OpenHAB RESTful.

Bên cạnh đó: giao diện RESTful có nghĩa là bạn có thể tương tác với một hệ thống bằng cách sử dụng nó được xây dựng trong máy chủ web, chỉ đơn giản bằng cách gọi URL và chuyển vào hoặc tìm nạp dữ liệu. Bạn có thể truy cập URL này để xem một ví dụ đơn giản về điều này trên máy chủ của riêng bạn: http: //raspberrypi.local: 8080 / rest / items - xuất ra danh sách được mã hóa của tất cả các mục đã xác định của bạn. Điều này cực kỳ mạnh mẽ, vì nó thể hiện toàn bộ tiềm năng của OpenHAB và cho phép bạn viết các giao diện tùy chỉnh; hoặc ngược lại đã sử dụng, để báo cáo trạng thái của các cảm biến mà không có ràng buộc cụ thể. Chúng tôi sẽ sử dụng khả năng này để báo cáo sự hiện diện của một thiết bị Bluetooth cụ thể mà không cần dùng đến ràng buộc Bluetooth.

Bắt đầu bằng cách thêm mới Chuyển mục của bạn home.items tập tin. Tôi đã gọi là 'JamesInOffice' và tôi đã đặt nó thành một công tắc thay vì bật / tắt liên hệ đơn giản để tôi có thể kiểm soát sự hiện diện của mình theo cách thủ công trong trường hợp điện thoại của tôi bị chết.

Switch JamesInOffice 'James in Office' (Office)

Lưu ý rằng tôi chưa xác định một biểu tượng hoặc liên kết một ràng buộc cụ thể. Nó chỉ là một công tắc chung.

Tiếp theo, lắp một dongle USB Bluetooth tương thích và cài đặt một số công cụ cơ bản để tương tác với nó.

sudo apt-get install bluez python-bluez python-pip
sudo pip install requests
hcitool dev

Lệnh cuối cùng sẽ hiển thị bộ điều hợp Bluetooth của bạn. Nếu không có gì được liệt kê, hãy thử một bộ điều hợp khác, bộ điều hợp của bạn không tương thích với Linux. Bước tiếp theo là tìm địa chỉ phần cứng Bluetooth của thiết bị của bạn.

wget https://pybluez.googlecode.com/svn/trunk/examples/simple/inquiry.py
python inquiry.py

Đảm bảo điện thoại của bạn đang mở trên trang cài đặt Bluetooth (đặt điện thoại ở chế độ ghép nối / công khai) và rõ ràng là Bluetooth đã được kích hoạt. Bạn sẽ tìm thấy một địa chỉ phần cứng hệ thập lục phân được liệt kê.

Từ thư mục chính của người dùng Pi của bạn, hãy tạo một tập lệnh Python mới và dán vào mã này .

Có một số thứ bạn cần chỉnh sửa, bắt đầu với địa chỉ thiết bị cụ thể của bạn:

result = bluetooth.lookup_name('78:7F:70:38:51:1B', timeout=5)

Cũng như dòng này, ở hai vị trí (vâng, dòng này có thể được cấu trúc tốt hơn). Thay đổi JamesInOffice thành tên mã của công tắc bạn đã xác định.

r = requests.put('http://localhost:8080/rest/items/JamesInOffice/state',data=payload)

Bước cuối cùng là yêu cầu tập lệnh này khởi chạy tại thời điểm khởi động.

sudo nano /etc/rc.local

Cuộn xuống dưới cùng và ngay trước lối ra 0, thêm các dòng sau:

python /home/pi/detect.py &

Dấu & có nghĩa là 'làm điều này trong nền'. Hãy tiếp tục và chạy tập lệnh nếu bạn chưa có và mở giao diện OpenHAB của bạn. Nếu bạn đã thêm nó vào một nhóm, hãy nhấp qua vào nhóm đó. Quá trình cập nhật mất khoảng 10 giây nhưng bạn sẽ thấy biểu tượng bóng đèn mặc định bật hoặc tắt tùy thuộc vào việc điện thoại của bạn có được phát hiện hay không. Kiểm tra tệp nhật ký nếu không có gì xảy ra, có thể bạn đã sử dụng sai tên Mục.

Ứng dụng di động OpenHAB

Mặc dù tất nhiên bạn có thể sử dụng giao diện web từ thiết bị di động, OpenHAB có các ứng dụng gốc cho cả hai iosAndroid - và họ trông một nhiều đẹp hơn giao diện trình duyệt mặc định. Trên màn hình cài đặt, hãy nhập URL cục bộ làm IP nội bộ mà bạn đang sử dụng cho đến bây giờ, bao gồm cả số cổng. Đối với URL từ xa, hãy nhập https://my.openhab.org , và tên người dùng (email) và mật khẩu mà bạn đã nhập khi đăng ký. Nếu bạn chưa đăng ký MyOpenHAB, chỉ cần để trống xác thực và URL từ xa, nhưng bạn sẽ chỉ truy cập vào hệ thống của mình từ Wi-Fi cục bộ.

Tiến lên phía trước và nhận trợ giúp

Số lượng tùy chỉnh và các tính năng gọn gàng mà bạn có thể thêm vào bộ điều khiển OpenHAB của mình thực sự rất hoành tráng. Cũng như danh sách rộng lớn các thiết bị được hỗ trợ có ràng buộc, bạn có thể sử dụng giao diện RESTful, tiện ích mở rộng HTTP và IFTTT để đọc hoặc kiểm soát theo nghĩa đen bất kỳ loại thiết bị IoT nào và sau đó là một số (thử một số ý tưởng chiếu sáng sáng tạo của chúng tôi). Vâng, thật khó để cài đặt, nhưng không một hệ thống thương mại nào có thể đạt được sức mạnh của một hệ thống OpenHAB tùy chỉnh.

Điều đó nói rằng, chuyến đi không hề dễ dàng đối với tôi, đó chính là lý do tại sao tôi viết hướng dẫn này, để dễ dàng quá trình cho bạn. Và nếu bạn thấy hệ thống OpenHAB áp đảo, có các tùy chọn khác khi nói đến tự động hóa nhà Raspberry --- chẳng hạn như sử dụng Raspberry Pi để tự động hóa cửa nhà để xe của bạn.

Hãy theo dõi MakeUseOf để biết hướng dẫn nâng cao bao gồm Z-Wave và các thủ thuật thú vị khác mà bạn có thể thiết lập.

Nếu bạn cần trợ giúp về một phần cụ thể của hướng dẫn này, vui lòng hỏi trong phần nhận xét. Nếu bạn muốn trợ giúp về một ràng buộc khác hoặc một số chủ đề nâng cao mà chúng tôi chưa đề cập, diễn đàn OpenHAB chính thức là một nơi chào đón.

Đăng lại Đăng lại tiếng riu ríu E-mail 5 mẹo để nạp đầy năng lượng cho máy VirtualBox Linux của bạn

Bạn mệt mỏi với hiệu suất kém do các máy ảo cung cấp? Đây là những gì bạn nên làm để tăng hiệu suất VirtualBox của mình.

Đọc tiếp
Chủ đề liên quan
  • DIY
  • Nhà thông minh
  • Tự động hóa gia đình
  • Longform
  • Hướng dẫn Longform
  • Trung tâm thông minh
Giới thiệu về tác giả James Bruce(707 bài báo đã xuất bản)

James có bằng Cử nhân về Trí tuệ nhân tạo và được chứng nhận CompTIA A + và Network +. Khi không bận rộn với tư cách là Biên tập viên đánh giá phần cứng, anh ấy thích LEGO, VR và các trò chơi trên bàn cờ. Trước khi gia nhập MakeUseOf, anh ấy là kỹ thuật viên ánh sáng, giáo viên tiếng Anh và kỹ sư trung tâm dữ liệu.

Xem thêm từ James Bruce

Theo dõi bản tin của chúng tôi

Tham gia bản tin của chúng tôi để biết các mẹo công nghệ, đánh giá, sách điện tử miễn phí và các ưu đãi độc quyền!

Bấm vào đây để đăng ký