DANH MỤC: Hướng dẫn

Raspberry Pi trong Hệ sinh thái Gia đình: Tính năng và Ví dụ (Phần 1)

Cách đây một thời gian tôi đã mua máy tính mini bo mạch đơn Raspberry Pi 4 (còn gọi là "quả mâm xôi»Trong số những người nghiệp dư), đặc biệt không hiểu nó có thể được sử dụng ở nhà như thế nào và để làm gì. Đúng hơn, nó là một món đồ chơi công nghệ khác và với mức tiền hoàn toàn có thể chấp nhận được, vì vậy bạn có thể đủ khả năng để thử nghiệm. Nhìn về phía trước, tôi có thể nói rằng tôi hiện có các dịch vụ như trình chặn quảng cáo trên toàn mạng chạy trên RPi4 của mình Trang chủ AdGuard, hệ thống lưu trữ dự phòng Apple Time MachineQuê hương để thêm các thiết bị không được chứng nhận vào hệ sinh thái Apple HomeKit, một chương trình để tải xuống torrent truyền tải, máy chủ phương tiện PLEX và một bảng điều khiển trò chơi cổ điển RetroPie. Tôi dự định thử nghiệm với trình quản lý mật khẩu tự lưu trữ Bitwarden, một mã nguồn mở tương tự của 1Password nổi tiếng. Không quá ít đối với một con nhỏ như một bao thuốc lá, phải không?

Trong chu kỳ này với hai , tôi sẽ cố gắng kể càng chi tiết càng tốt cách tôi đã cài đặt và cấu hình tất cả những điều này.

Người đầu tiên bài báo sẽ hữu ích hơn cho những người nông dân trồng cây thuốc phiện, vì nó liên quan đến vấn đề cụ thể cho hệ sinh thái Apple điểm, mặc dù phần giao dịch với AdGuard sẽ được người dùng của bất kỳ hệ điều hành máy tính để bàn hoặc thiết bị di động nào quan tâm.

Trong bài báo thứ hai xem xét các dịch vụ phổ quát có thể hữu ích cho tất cả mọi người mà không có ngoại lệ. Và bạn và tôi sẽ tiến bộ như những người bình thường - từ đơn giản đến phức tạp.

Chuẩn bị Raspberry Pi

Cần lưu ý rằng các phiên bản đầu tiên của Raspberry Pi khá yếu về phần cứng, vì vậy mọi nhà phát triển phần mềm đều coi chiếc máy tính này như một cỗ máy đơn tác vụ. Do đó, bất kỳ dịch vụ nào có thể chạy trên RPi theo mặc định sẽ được cung cấp dưới dạng hình ảnh tạo sẵn của hệ điều hành. Tôi đã tải xuống, ghi lại trên thẻ SD, lắp vào RPi và bật máy tính được tạo sẵn với dịch vụ đã cài đặt. Nhưng nhiệm vụ của chúng tôi là khởi chạy một số dịch vụ cùng một lúc, vì bản sửa đổi hiện tại cho phép điều đó. Do đó, chúng tôi sẽ cài đặt chúng dưới dạng ứng dụng.

Giả sử rằng bạn đã kết nối Raspberry Pi với hệ thống Raspbian "sạch" với mạng cục bộ. Nếu bạn là người mới bắt đầu và không biết bắt đầu từ đâu, thì hãy bắt đầu với  hướng dẫn chính thức (theo liên kết - một trình hướng dẫn từng bước tuyệt vời với rất nhiều hình ảnh minh họa tương tác), và sau đó chuyển sang giai đoạn tiếp theo.

Bước 1

Trước hết, bạn cần kích hoạt quyền truy cập bằng SSH vào Raspberry Pi của bạn. Để làm điều này, bạn cần thực hiện một số bước đơn giản:

  • Mở cửa sổ Cấu hình Raspberry Pi trong menu Tùy chọnces" hệ điều hành
  • Bấm vào "Giao diệnces»
  • Chọn Bật bên cạnh SSH
  • Nhấp vào nút "OK" để các thay đổi có hiệu lực

Nếu bạn đã cài đặt Raspbian Lite mà không có giao diện đồ họa, trong Terminal trên chính Raspberry Pi, hãy thực hiện các lệnh sau:

sudo systemctl kích hoạt ssh sudo systemctl start ssh

Đã bật quyền truy cập.

Tôi có một máy tính macOS, vì vậy tôi có thể chuyển ngay sang các bước tiếp theo, giống như chủ sở hữu máy tính Linux. Người dùng Windows 10 cũng đã nhận được một ứng dụng khách OpenSSH tích hợp sẵn như một phần của hệ điều hành của họ cách đây một thời gian, nhưng có thể phải thực hiện một số thao tác để kích hoạt nó.

Mở dấu nhắc lệnh Windows hoặc trình bao PowerShell (tùy bạn thích) và nhập lệnh sau:

Get-WindowsCapability -Online | ? Tên giống như 'OpenSSH *'

Nếu máy khách SSH được cài đặt, phản hồi cho lệnh sẽ giống như sau:

Nếu OpenSSH.Client cho chúng ta biết trong trường State rằng nó không phải là NotPresent, thì cách nhanh nhất để kích hoạt nó là nhập lệnh sau:

Add-WindowsCapability -Online -Tên OpenSSH.Client *

Điều này hoàn thành giai đoạn chuẩn bị đầu tiên, bao gồm cả đối với người dùng Windows. Với bản chất của Raspberry Pi và thực tế là hệ điều hành Raspbian thực sự là một phiên bản khác của Linux, chúng tôi sẽ phải thực hiện khá nhiều thao tác trên dòng lệnh. Nó có vẻ bất thường đối với một số người, nhưng tin tôi đi, không có gì khó hoặc không thể sửa chữa được trong việc này, vì vậy hãy dũng cảm lên. Mọi thứ sẽ được giải quyết.

Bước 2

Bây giờ bạn cần đảm bảo rằng Raspberry Pi của bạn luôn nhận được cùng một địa chỉ IP nội bộ trên mạng cục bộ. Cách dễ nhất để làm điều này là trong cài đặt bộ định tuyến.

Tôi sử dụng hệ thống MESH ba thành phần  ASUS ZenWiFi Mini với giao diện web tiêu chuẩn của bất kỳ bộ định tuyến nào của công ty này. Để liên kết địa chỉ MAC và IP, bạn cần chọn một thiết bị từ danh sách các thiết bị được kết nối và trong cửa sổ bật lên, chỉ cần chỉ định IP mong muốn. Trong trường hợp của tôi, tôi đã chọn 192.168.50.10 chỉ để dễ nhớ.

Trong các bộ định tuyến của các nhà sản xuất khác, mục menu có thể được gọi theo cách khác, nhưng bản chất của nó sẽ vẫn giống nhau - cấp IP cục bộ tĩnh cho các thiết bị được kết nối.

Bước 3

Chúng tôi khởi chạy Terminal (dòng lệnh, PowerShell, v.v.) trên máy tính của bạn từ bộ tiêu chuẩn của macOS, Linux hoặc Windows.

Chúng tôi giết đội

ssh pi @

(thay vì ở đâu <ip address of your server> chèn IP của "quả mâm xôi" từ bước trước) và xem gần như hình sau:

Tại đây, bạn cần phải loại bỏ mật khẩu của Raspberry Pi, mật khẩu mà bạn đã chỉ định trong quá trình thiết lập ban đầu.

Quan trọng! Mật khẩu sẽ không hiển thị trên màn hình khi bạn nhập. Và các "ngôi sao" cũng sẽ không được hiển thị. Bạn cần gõ mật khẩu theo nghĩa đen là "mù quáng" và nhấn Enter.

Nếu mật khẩu được nhập chính xác, kết quả sẽ như thế này:

Xin chào, bạn đang ở bên trong Raspberry Pi của mình. Chào mừng! Bạn có thể tiến hành cài đặt của các dịch vụ riêng lẻ. Và chúng tôi sẽ bắt đầu với những gì đơn giản nhất.

Cài đặt và cấu hình AdGuard Home trên Raspberry Pi

Trang chủ AdGuard, theo lời khai của nhà phát triển - “một công cụ mạng mạnh mẽ chống lại quảng cáo và theo dõi. Với vai trò ngày càng tăng của Internet of Things, việc quản lý toàn bộ hệ thống mạng của bạn ngày càng trở nên quan trọng hơn. Sau khi thiết lập, AdGuard Home sẽ bao phủ TẤT CẢ các thiết bị gia đình của bạn mà không cần phần mềm phía máy khách ”.

Nói một cách đơn giản, đó là một bộ lọc quảng cáo không hoạt động như các ứng dụng hoặc plugin trình duyệt riêng biệt trên mỗi thiết bị của bạn, nhưng là một giải pháp chung bao phủ toàn bộ mạng LAN gia đình của bạn với các bộ lọc.

Hãy quay lại cửa sổ Terminal (Hãy đồng ý rằng Windows PowerShell và các trình bao khác để nhập lệnh, trong văn bản tôi sẽ gọi đơn giản là Terminal, được chứ?), Chúng tôi thực hiện các lệnh sau sẽ tải xuống và giải nén kho lưu trữ AdGuard Home:

cd $ HOME wget https://static.adguard.com/adguardhome/release/AdGuardHome_linux_armv6.tar.gz tar xvf AdGuardHome_linux_armv6.tar.gz

Tất cả những gì còn lại là cài đặt dịch vụ và chạy nó:

cd AdGuardHome sudo ./AdGuardHome -s cài đặt

Kết quả sẽ giống như sau:

AdGuard Home đã được cài đặt! Thật đơn giản phải không?

Bây giờ bạn cần truy cập giao diện web của dịch vụ mới được cài đặt. Khởi động trình duyệt (Safari, Chrome, Firefox hoặc bất cứ thứ gì bạn có - điều đó không quan trọng) và trong thanh địa chỉ sẽ tắt https://<ip address of your server>:3000. Trong trường hợp của tôi, như chúng ta nhớ, https: //192.168.50.10: 3000.

Bạn sẽ thấy trình hướng dẫn thiết lập ban đầu từng bước. Nếu bạn cảm thấy thoải mái hơn với giao diện bằng ngôn ngữ khác, bạn có thể chuyển ngay sang ngôn ngữ mong muốn. Danh sách bao gồm, trong số những người khác, tiếng Ukraina, tiếng Ba Lan và tiếng Nga.

Trong bước thứ ba, bạn sẽ được yêu cầu tạo người dùng AdGuard Home và nhập mật khẩu. Ở phần thứ tư, sẽ giải thích rằng địa chỉ IP Raspberry Pi (giống 192.168.50.10 trong trường hợp của tôi) phải được đăng ký làm DNS trong phần thích hợp của cài đặt bộ định tuyến. Làm cái này:

Trong các bộ định tuyến của các nhà sản xuất khác, điểm cài đặt mong muốn sẽ được đặt gần như trên cùng một đường dẫn.

Tiếp theo, chúng tôi đi đến cài đặt của AdGuard Home, cài đặt này vẫn hoàn toàn sạch sẽ.

Nếu bạn có TV thông minh Samsung, LG, hoặc tương tự, hãy chuyển đến menu "Bộ lọc - Thêm danh sách đen" và ở đó "Chọn từ danh sách". Kích hoạt Danh sách chặn tương ứng.

Bây giờ bạn cần thêm các bộ lọc quảng cáo tiếng Nga / tiếng Ukraina theo cách thủ công. Nhấp lại vào "Thêm danh sách đen", sau đó "Thêm danh sách của bạn" và nhập tuần tự các giá trị sau vào các trường tương ứng:

Ім'я Địa chỉ URL
Bộ lọc AdGuard Base https://filters.adtidy.org/extension/chromium/filters/2.txt
Bộ lọc tiếng Nga AdGuard https://filters.adtidy.org/extension/chromium/filters/1.txt
Bộ lọc Bảo vệ Theo dõi AdGuard https://filters.adtidy.org/extension/chromium/filters/3.txt

Để bắt đầu, những bộ lọc này là khá đủ.

Để so sánh, tôi thường sử dụng exler.ru, một trang web chứa đầy các biểu ngữ cổ điển. Ở bên trái - trước, bên phải - sau khi áp dụng các bộ lọc.

Bản cập nhật của AdGuard Home được thực hiện ở chế độ thủ công, nhưng nó bắt đầu theo nghĩa đen bằng một nút và mất vài giây mà không cần can thiệp.

Đó là tất cả, nói chung. Từ giờ trở đi, tất cả các thiết bị trong nhà của bạn hầu như không có quảng cáo. Một ngoại lệ khó chịu ở đây là chương trình khách YouTube trên bảng điều khiển Apple TV, nhưng ở đây những hạn chế của kiến ​​trúc tvOS có hiệu lực, vì vậy AdGuard bất lực trong trường hợp này.

Cài đặt và cấu hình Time Machine trên Raspberry Pi

Theo Wikipedia, Cỗ máy thời gian là một hệ thống sao lưu được phát triển Apple và được tích hợp trong Mac OS X Leopard và các phiên bản macOS mới hơn, cũng như một chương trình cùng tên cho phép bạn xem nội dung của các bản sao lưu và khôi phục cả tệp riêng lẻ và toàn bộ hệ điều hành.

Nói một cách đơn giản, đó là một hệ thống sao lưu hàng giờ được tích hợp trong macOS yêu cầu một máy chủ tệp tương thích. Bạn có thể biến Raspberry Pi thành một máy chủ như vậy nếu bạn kết nối ổ cứng USB bên ngoài với nó.

Để Time Machine hoạt động chính xác, chỉ Raspberry Pi 4 trở lên mới phù hợp với cổng USB 3.0 (ở các mẫu máy cũ hơn, cổng chậm hơn) và ổ cứng HDD phù hợp có dung lượng 1-3 terabyte (với nguồn điện bên ngoài, nếu có một đĩa 3,5 inch).

Quan trọng! Có hai giao thức mạng cho phép macOS lưu trữ dữ liệu Time Machine trên mạng cục bộ. Netatalk lỗi thời, hoặc Samba hiện đại hơn. Về nguyên tắc, bạn có thể sử dụng bất kỳ công cụ nào trong số chúng cho các tác vụ Cỗ máy thời gian. Internet có đầy đủ các hướng dẫn để tổ chức quy trình thông qua Netatalk, và tất cả các hướng dẫn này ở các mức độ khác nhau, nhưng nhiệm vụ của tôi là đưa ra phương án làm việc đảm bảo và đơn giản nhất. Và nhiệm vụ của bạn là chọn một trong những thuận tiện cho bạn. Vì vậy, trong bài viết chúng tôi sẽ xem xét cả hai.

Chuẩn bị ổ cứng

Chúng tôi kết nối HDD với cổng USB 3.0 của Raspberry Pi, truy cập nó trong Terminal thông qua SSH và chạy lệnh lsblk, sẽ hiển thị danh sách các ổ đĩa được kết nối trong bảng điều khiển. Chúng tôi chú ý đến kích thước của đĩa để đảm bảo chúng tôi sẽ làm việc với cái nào, tên và điểm gắn kết của nó, trong trường hợp của tôi, nó đơn giản sda, bạn vẫn sẽ có điểm gắn kết, rất có thể /dev/sda‌. Chúng tôi cần cô ấy.

Nhập lệnh sudo fdisk /dev/sda (hoặc với bất kỳ điểm gắn kết nào khác có liên quan trong trường hợp của bạn), sau đó nhấp vào bàn phím m, để xem danh sách đầy đủ các lệnh. Bạn thậm chí có thể sao chép nó vào một tệp văn bản riêng biệt (hoặc sử dụng gợi ý bên dưới).

GPT M nhập bảo vệ / kết hợp MBR Chung d xóa phân vùng F danh sách không gian trống chưa phân vùng l liệt kê các loại phân vùng đã biết n thêm phân vùng mới p in bảng phân vùng t thay đổi loại phân vùng v xác minh bảng phân vùng i in thông tin về phân vùng Khác m in menu này x chức năng bổ sung (chỉ dành cho chuyên gia) Tập lệnh Tôi tải bố cục đĩa từ tệp tập lệnh sfdisk O kết xuất bố cục đĩa sang tệp tập lệnh sfdisk Lưu & Thoát w ghi bảng vào đĩa và thoát q thoát mà không lưu thay đổi Tạo nhãn mới g tạo mới bảng phân vùng GPT trống G tạo một bảng phân vùng SGI (IRIX) trống mới o tạo một bảng phân vùng DOS trống mới s tạo một bảng phân vùng Sun trống mới

Nhiệm vụ của chúng ta là làm delete a partition nhiều lần nếu cần để làm sạch hoàn toàn đĩa khỏi các phân vùng, sau đó tạo một cái mới bằng cách sử dụng add a new partition. Đừng quên ghi lại những thay đổi, tức là write table to disk and exit. Bạn đã quản lý? Hoàn hảo.

Bây giờ chúng ta tạo một hệ thống tệp trên đĩa. Ext4 thông thường là khá đủ, mặc dù có nhiều ý kiến ​​trên mạng rằng đĩa phải được định dạng theo một trong các hệ thống tệp Apple. Trong thực tế, điều này chỉ làm phức tạp quá trình chuẩn bị mà không mang lại bất kỳ lợi ích nào.

Nhập lệnh sudo mkfs.ext4 /dev/sda1... Làm xong.

Bây giờ chúng ta cần tìm UUID của phân vùng mới.
Vào đi ls -lha /dev/disk/by-uuid và chúng tôi thấy một cái gì đó như thế này:

Sao chép UUID từ của chúng tôi sda1 vào một tệp văn bản riêng biệt nếu bạn không sử dụng khay nhớ tạm nâng cao với lịch sử.

Bây giờ chúng ta cần tạo một thư mục, trong đó chúng ta sẽ gắn đĩa của mình và cấp cho nó các quyền truy cập thích hợp.

sudo mkdir / mnt / tm && sudo chmod -R 777 / mnt / tm && sudo chown pi: pi / mnt / tm

Gắn đĩa. Để thực hiện việc này, hãy chỉnh sửa tệp cấu hình bằng lệnh

sudo nano / etc / fstab

nano trong trường hợp này, tên của trình chỉnh sửa được cài đặt trong hệ thống, mà tôi thích sử dụng hơn.

Thực hiện các thay đổi đối với tệp đã mở bằng cách thêm dòng sau vào tệp đó

UUID=b32c00d8-0aa8-4ec4-b01f-18cbade45e7c /mnt/tm ext4 nofail,defaults 0 2

nhưng với UUID của bạn từ bước trước. Nó sẽ giống như thế này:

Lưu các thay đổi bằng cách nhấp vào Ctrl + O і đăng ký hạng mục thivà sau đó thoát khỏi trình chỉnh sửa bằng cách nhấp vào Ctrl + X.

Khởi động lại Raspberry Pi bằng lệnh sudo khởi động lại và sau khi khởi động lại, hãy đăng nhập lại qua SSH.

Giết đội df -h và đảm bảo rằng ổ đĩa được gắn vào hệ thống tại điểm /mnt/tm.

Tuyệt vời, đĩa đã sẵn sàng để làm việc.


Cài đặt và cấu hình NETATALK (tùy chọn 1)

Chúng tôi cài đặt:

sudo apt-get cài đặt netatalk -y

Chúng tôi định cấu hình mọi thứ trong cùng một trình chỉnh sửa nano:

sudo nano /etc/netatalk/afp.conf

Và chúng tôi làm cho nội dung của tệp cấu hình chính xác như sau:

‌; ; Tệp cấu hình Netatalk 3.x; [Toàn cầu] ; Mô hình bắt chước cài đặt máy chủ toàn cầu = TimeCapsule6,106 [Time Machine] path = / mnt / tm time machine = yes valid users = pi; [Những ngôi nhà]; dựa trên regex = / xxxx; [Tập AFP của tôi]; path = / path / to / volume; [Âm lượng Cỗ máy thời gian của tôi]; path = / path / to / backup; cỗ máy thời gian = có`

Đừng quên lưu kết quả với sự trợ giúp Ctrl + O → Nhập → Ctrl + X

Tệp hiện đã được chỉnh sửa nsswitch.conf, thêm vào cuối dòng hosts: giá trị bổ sung mdns4 mdns.

sudo nano /etc/nsswitch.conf

Kết quả sẽ như thế này:

# /etc/nsswitch.conf
#
# Cấu hình ví dụ về chức năng Chuyển đổi dịch vụ tên GNU.
# Nếu bạn đã cài đặt gói `glibc-doc-reference' và `info', hãy thử:
# `info libc "Name Service Switch"' để biết thông tin về tệp này.

mật khẩu: tập tin
nhóm: tập tin
bóng: tập tin
gshadow: tập tin

máy chủ: tập tin mdns4_minimal [NOTFOUND=return] dns mdns4 mdns
mạng: tập tin

giao thức: tập tin db
dịch vụces: tập tin db
ete: tập tin db
rpc: tập tin db

nhóm mạng: nis

Một lần nữa, chúng tôi lưu các thay đổi thông qua Ctrl + O → Nhập → Ctrl + X

Sau đó, nó vẫn chỉ để bắt đầu các dịch vụ:

dịch vụ sudo avahi-daemon bắt đầu dịch vụ sudo netatalk bắt đầu

Và kiểm tra hiệu suất của họ theo nhóm:

trạng thái netatalk dịch vụ sudo

trạng thái avahi-daemon của dịch vụ sudo

Kết quả sẽ như thế này:

Tất cả những gì còn lại là vào Cài đặt macOS, chọn phần Cỗ máy thời gian và xem Raspberry Pi của chúng tôi trong các ổ đĩa có sẵn.

Chúng tôi chỉ định như một thông tin đăng nhập pi, làm mật khẩu - mật khẩu được sử dụng để truy cập SSH.

Xong, tùy chọn tiêu chuẩn thông qua Netatalk được cấu hình. Giờ đây, bất cứ khi nào máy Mac của bạn kết nối cùng mạng Wi-Fi cục bộ với Raspberry Pi, các bản sao lưu sẽ tự động được thực hiện vào ổ đĩa của bạn.

Bây giờ hãy xem xét một giải pháp thay thế dưới dạng giao thức Samba, được coi là đáng tin cậy hơn.

Cài đặt và định cấu hình SAMBA (tùy chọn 2)

Chúng tôi cài đặt Samba:

‌Sudo apt-get install samba

Chúng tôi đặt mật khẩu người dùng (cho cùng một người dùng pi) và chỉnh sửa cấu hình. Mật khẩu đầu tiên:

‌sudo smbpasswd -a pi (bạn có thể sử dụng tương tự như cho SSH).

Và sau đó, cấu hình Samba đều nằm trong cùng một trình soạn thảo nano:

‌Sudo nano /etc/samba/smb.conf

Chặn nội dung [global] cuối cùng sẽ trông như thế này:

[global] security = người dùng mã hóa mật khẩu = bản đồ đích thực đến khách = tài khoản khách của người dùng xấu = không ai

Ở cuối tệp cấu hình, thêm một khối mới:

[TimeCapsule] comment = Đường dẫn Time Capsule = / mnt / tm có thể duyệt = có thể ghi = có tạo mặt nạ = 0600 mặt nạ thư mục = 0700 spotlight = không có vfs đối tượng = catia fruit Stream_xattr fruit: aapl = yes fruit: time machine = yes

Và chúng tôi lưu kết quả: Ctrl + O, đăng ký hạng mục thi, Ctrl + X.

Khởi động lại dịch vụ:

‌Sudo systemctl khởi động lại smb.service

xong Như trong trường hợp của Netatalk, nó vẫn tìm đĩa trong danh sách được trình bày trong bảng cài đặt Cỗ máy thời gian.

Cài đặt và cấu hình Homebridge trên Raspberry Pi

Chà, chúng tôi đã tiếp cận thành công khối lớn nhất của bài báo.

Quê hương là một máy chủ dựa trên NodeJS sử dụng API Homekit để tích hợp thiết bị chưa được chứng nhận và hỗ trợ ban đầu cho Apple Trang chủKit.

Khó khăn khi định cấu hình Homebridge là các plugin của nó hỗ trợ nhiều loại giao thức và thiết bị, giúp chúng hiển thị và có thể quản lý được từ Apple HomeKit. Theo đó, mỗi plugin được cấu hình theo cách riêng của nó, thường hoàn toàn khác với bản sao của nó cho một thiết bị khác.

Hãy bắt đầu. Như thường lệ, chúng tôi truy cập Raspberry Pi thông qua SSH và thực hiện một số bước.

Cài đặt Node.js

Bạn có khả năng sao chép và dán toàn bộ khối mã vào Terminal. Trong phần lớn các trường hợp, điều này là đủ. Nhưng nếu điều đó xảy ra mà ở một số giai đoạn cài đặt không thành công, thì hãy nhập lần lượt các lệnh còn lại từ khối.

# setup repo curl -sL https://deb.nodesource.com/setup_14.x | sudo bash - # install Node.js sudo apt install -y nodejs gcc g ++ make python net-tools # nút kiểm tra đang hoạt động nút -v # nâng cấp npm (phiên bản 6.13.4 có vấn đề với phụ thuộc git) sudo npm install -g npm

Cài đặt Homebridge và Homebridge Config UI X

Để bắt đầu, hãy thiết lập nền tảng bằng lệnh sau ...

‌Sudo npm install -g --unsafe-perm homebridge homebridge-config-ui-x

... và chạy nó như một dịch vụ hệ thống.

‌Sudo hb-service install - user homebridge

Cấu hình Homebridge thông qua giao diện web

Truy cập địa chỉ trong trình duyệt trên máy tính của bạn http://<ip address of your server>:8581 thay vì ở đâu <ip address of your server> vẫn giữ nguyên IP từ đầu bài viết, trong trường hợp của tôi

Giá trị mặc định của người dùng và mật khẩu giống nhau: admin

Tôi khuyên bạn nên ngay lập tức chuyển đến mục menu "Người dùng" và thay đổi các giá trị mặc định ở đó thành các giá trị an toàn hơn.

Bạn đa lam điêu đo? Tuyệt vời, chúng tôi sẽ định cấu hình các plugin tiếp theo.

Có nhiều thiết bị ở nhà sẽ quyết định chúng ta cần cài đặt plugin nào. Rất có thể trong trường hợp của bạn, bộ plugin sẽ hơi khác một chút, nhưng bằng cách sử dụng ví dụ về cấu hình của tôi, bạn có thể biết được những sắc thái nào bạn có thể gặp phải trong quá trình thiết lập chúng.

Bộ plugin của tôi tại thời điểm viết bài:

  • Giao diện người dùng Homebridge (bao gồm trong cấu hình cơ bản và không có cài đặt riêng)
  • Huế (để điều khiển ánh sáng Philips Huế)
  • Apple Điều khiển TV (để điều khiển các hộp giải mã tín hiệu số Apple TRUYỀN HÌNH)
  • Mqttthing (để quản lý Đèn của Guyver з phần sụn từ Whilser)
  • Samsung Tizen (để điều khiển TV thông minh Samsung với Tizen OS)
  • Thời tiết Plus (để tự động hóa ngôi nhà thông minh tùy thuộc vào điều kiện thời tiết)
  • Wi-Fi Yeelight (để điều khiển đèn Xiaomi Yeelight)

Hãy đi từng người một.

Cài đặt plugin Huế

Để cài đặt bất kỳ plug-in nào trong Homebridge, bạn chỉ cần vào tab tương ứng của giao diện web, nhập tên của bàn ủi mong muốn vào thanh tìm kiếm và chọn plug-in từ danh sách những cái có sẵn. Tôi khuyên bạn nên chú ý đến nhãn "🛡Verified", phiên bản và ngày cập nhật của plugin (nếu tác giả không cập nhật nó trong vài năm, rất có thể nó sẽ không hoạt động) và hãy chắc chắn mở liên kết đến trang chủ của plugin, thường được mô tả trong quá trình cài đặt chi tiết.

Nhấp vào nút "Cài đặt" trên trình cắm được yêu cầu và đợi một hoặc hai phút cho đến khi trình cắm được cài đặt.

Cắm vào Homebridge Huế khá dễ dàng để thiết lập. Bạn chỉ cần đặt tên mặc định sẽ được hiển thị trong nhật ký Homebridge và chọn loại thiết bị tương thích nào sẽ được plugin xử lý. Trong trường hợp của tôi, nó chỉ là ánh sáng Philips Huế, và ngay cả phiên bản đầu tiên của trung tâm, là hình tròn.

Sau khi điền dữ liệu và nhất thiết phải lưu kết quả, bạn chỉ cần nhấn nút trung tâm trên hub Philips Hue và đợi 15 giây cho đến khi plugin nhận ra trung tâm. Xong!

Tất cả những gì còn lại là nhấc iPhone lên, hướng camera của nó vào mã QR nằm trên tab "Trạng thái" của giao diện web Homebridge và thêm nó làm cầu nối với HomeKit của bạn.

Nếu HomeKit như vậy đã được cấu hình trước (đã chọn Apple TV hoặc iPad làm trung tâm chính, các phòng bổ sung, v.v.), sau đó trình hướng dẫn từng bước sẽ ngay lập tức đề nghị phân phối tất cả các thiết bị chiếu sáng Huế được tìm thấy cho các phòng tương ứng và đặt tên cho từng thiết bị. Ví dụ: trong phòng khách của tôi, tôi có đèn "Trần 1", "Trần 2" và "Trần 3", nhưng bằng chính HomeKit trên iPhone (mục "Kết hợp với các thiết bị khác"), tôi đã kết hợp chúng thành một nhóm hợp lý "Ánh sáng trên", nó là thuận tiện hơn cho tôi. Đồng thời, trong cùng một phòng khách, tôi có "Đèn sàn" và "Đèn ngủ" - các thiết bị riêng biệt, nhưng Siri hoàn toàn hiểu được nhiều loại lệnh mà không cần đào tạo thêm:

  • "Bật đèn trong phòng khách (tất cả các đèn trong phòng khách đều sáng)"
  • "Bật đèn sàn"
  • "Độ sáng của đèn ngủ là hai mươi phần trăm"
  • "Bật đèn ngủ"
  • "Tắt đèn trên cao"
  • "Màu xanh trên đèn sàn"
  • "Tắt đèn trong phòng khách (tắt tất cả đèn trong phòng khách)"
  • "Tắt tất cả đèn (tắt đèn trong toàn bộ căn hộ)"

Và như thế. Nếu bạn đã cấu hình đúng Apple-các lệnh gia đình, có liên quan và hoàn toàn hợp lý sẽ tự động có sẵn cho tất cả các thành viên tham gia vào gia đình của bạn Apple TÔI.

Cài đặt plugin Apple Điều khiển TV

Tôi sử dụng plugin này cho một mục đích duy nhất: tạo một công tắc bổ sung cho bảng điều khiển Apple TV. Thực tế là trong Apple HomeKit có khả năng lập trình, chẳng hạn như bao gồm phát lại album hoặc danh sách phát theo một điều kiện định trước, chẳng hạn như "Khi tôi về nhà". Và mọi thứ sẽ ổn thôi, nhưng nếu set-top box đang ngủ vào lúc này, sự hiện diện của một kịch bản như vậy không thể đánh thức nó. Nhưng một công tắc ảo bổ sung là có thể. Chúng tôi đã đi:

Bước 1. Chúng tôi cài đặt một dịch vụ để nắm bắt thông tin xác thực Apple TV

Sudo npm cài đặt -g nút-appletv-x

Bước 2. Chúng tôi đang tìm kiếm các hộp giải mã tín hiệu có sẵn trên mạng cục bộ Apple TV

sudo applecặp tv

Bước 3. Chúng tôi tạo một cặp với tiền tố mong muốn. Đầu ra của bảng điều khiển sẽ trông giống như sau:

% applecặp tv ✔ Kết nối với Phòng khách ✔ Bắt đầu ghép nối? Nhập mã pin 4 chữ số hiện đang được hiển thị trên Phòng khách

Trên bước ‌? Enter the 4-digit pin that's currently being displayed on... trên màn hình của set-top box bạn đã chọn Apple TV, một mã gồm bốn chữ số tiêu chuẩn sẽ xuất hiện để ghép nối với điều khiển từ xa (trong ví dụ của chúng tôi, nó sẽ là 1234), mà phải bị giết ngay tại đó trong bảng điều khiển.

% applecặp tv ✔ Kết nối với Phòng khách ✔ Bắt đầu ghép nối? Nhập mã pin 4 chữ số hiện đang được hiển thị trên Phòng khách 1234 ✔ Hoàn thành thông tin đăng nhập ghép nối: 77346115-ED48-46A8-A288-

Thay vì <snip> sẽ có một số dòng hỗn hợp các chữ cái và số, chúng cần được sao chép toàn bộ vào một tệp văn bản riêng biệt, bắt đầu từ số đầu tiên trong dòng Credentials:. Một chút sau, những điều này giống nhau Credentials chúng tôi sẽ rất cần nó.

Bước 4. Thêm khối sau vào phần cấu hình của giao diện web Homebridge trên tab "Cấu hình" "platforms": [

{ "nền tảng": "AppleTvPlatform "," tên ":"Apple Nền tảng truyền hình",
   "Devices": [
      {
         "tên": "Nhà khách",
         "thông tin xác thực": "77346115-ED48-46A8-A288-",
         "isOnOffSwitchEnabled": đúng,
         "onOffSwitchName": "Apple TV" } ] },

... và trong một dòng "credentials": chỉ cần chèn nội dung đầy đủ của tệp văn bản từ bước trước.

Chúng tôi chọn bất kỳ tên nào cho tiền tố, "Nhà khách" ở đây chỉ là ví dụ.

Bước 5. Chúng tôi tự cài đặt plugin.

Trên tab "Mô-đun" của giao diện web Homebridge, nhập vào thanh tìm kiếm  Apple TV Remote và nhấn nút "Cài đặt". Sau khi cài đặt plugin, bạn sẽ được nhắc khởi động lại Homebridge, việc này được thực hiện bằng cách nhấn nút tương ứng.

Vậy là xong, một công tắc mới đã xuất hiện trên iPhone trong HomeKit, hiện có thể được thêm vào tất cả các trường hợp mà bạn cần tự động bật hộp giải mã.

Các khẩu lệnh như “Siri, bật Apple TV "hoặc" Siri, tắt Apple TV "cũng được hỗ trợ tự động. Hơn nữa, nếu bạn định cấu hình một số hộp giải mã tín hiệu trong các phòng khác nhau, Siri cũng sẽ tự động bắt đầu hiểu yêu cầu tắt nó Apple TV trong một phòng cụ thể hoặc tất cả cùng một lúc.

Trên thực tế, plugin này đang phát triển nhanh chóng, nó đã biết cách nhận ra ID gói cho các ứng dụng chạy trên bảng điều khiển và can thiệp vào công việc của chúng, ví dụ như tạm dừng một bộ phim trên Netflix. Nhưng bạn sẽ tự mình giải quyết việc này, nếu có mong muốn.

Định cấu hình plugin Mqttthing

Tôi sử dụng plugin này với đèn Guyver được đề cập ở trên - một đèn tự chế với bảng Arduino và ma trận 16x16 của đèn LED địa chỉ. Bản thân đèn phải được lấp đầy bằng phần mềm cơ sở từ Whilser. Mạnh mẽ lên!

Bước 1. Cài đặt nhà môi giới MQTT

Chúng tôi thực hiện một số lệnh. Chúng không hoạt động theo lô, vì vậy chúng tôi nhập chúng vào bảng điều khiển tại một thời điểm.

sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
sudo apt-key thêm mosquitto-repo.gpg.key
cd /etc/apt/nguồnces.list.d/
sudo wget 
sudo apt update
sudo apt cài đặt mosquitto mosquitto-client
Sudo /etc/init.d/mosquitto dừng lại
sudo nano /etc/mosquitto/mosquitto.conf

Lệnh cuối cùng khởi động trình soạn thảo đã quen thuộc nano, trong đó chúng tôi thay thế nội dung của tệp đã mở bằng nội dung sau:

# Đặt cấu hình cục bộ của bạn vào /etc/mosquitto/conf.d/ # # Mô tả đầy đủ về tệp cấu hình có tại # /usr/share/doc/mosquitto/examples/mosquitto.conf.example # pid_file / var / run / mosquitto.pid allow_anonymous true nghe 1883 kiên trì true Persence_location / var / lib / mosquitto / log_dest topic log_type error log_type cảnh báo log_type thông báo log_type information connect_messages true log_timestamp true include_dir /etc/mosquitto/conf.d

Như thường lệ, Ctrl + O, đăng ký hạng mục thi, Ctrl + X, và sau đó khởi động lại nhà môi giới bằng lệnh

‌Sudo /etc/init.d/mosquitto start

Đã cài đặt nhà môi giới MQTT.

Bước 2. Cài đặt plugin Mqttthing

Chúng ta thường vào tab "Mô-đun" trong giao diện web Homebridge, tìm kiếm Mqttthing và nhấp vào "Cài đặt".

Bước 3. Cấu hình plugin Mqttthing

Mỗi đèn Guyver có ID chip ESP riêng. Ví dụ: ESP-3bd20b. Nếu bạn tự làm và nháy đèn thì bạn hoàn toàn được thông báo về nó, nếu không thì hãy chuyển đèn sang chế độ ghép nối và khi kết nối với mạng Wi-Fi của bạn, hộp thoại thích hợp trên iPhone sẽ hiển thị ID được yêu cầu . Viết nó ra.

  1. Tắt nguồn cho đèn;
  2. Tắt bộ định tuyến;
  3. Bật nguồn của đèn;
  4. Trên iPhone, đi tới "Cài đặt → WiFi"
  5. Chọn mạng không bảo mật có SSID như "ESP12345678" và nhấp vào "Định cấu hình WiFi" trong hộp thoại
  6. ID chip sẽ được yêu cầu ở cuối cửa sổ cấu hình

Nếu đèn đã được cấu hình trước đó, bạn chỉ cần tắt nó đi, bật bộ định tuyến và bật lại đèn - các cài đặt cũ sẽ được chọn. Nếu đây là lần kết nối đầu tiên của đèn, hãy bật bộ định tuyến và chọn mạng của bạn trong danh sách cài đặt, sau đó nhập tất cả dữ liệu cần thiết, chẳng hạn như mật khẩu của Wi-Fi gia đình và địa chỉ IP của Raspberry Pi.

Mở tab "Cấu hình" của giao diện web Homebridge và trong phần "accessories": [ nhập một đoạn mã lớn như vậy, thay thế ID trước đó bằng ESP-3bd20b tự mình:

{
    "ACcessory": "mqttthing", "type": "bóng đèn", "name": "Đèn ngủ", "url": "http://127.0.0.1:1883", "mqttPubOptions": { "retain": false } , "topics": { "getOn": "homeassistant/light/ESP-3bd20b/status", "setOn": "homeassistant/light/ESP-3bd20b/switch", "getBrightness": "homeassistant/light/ESP-3bd20b /brightness/status", "setBrightness": "homeassistant/light/ESP-3bd20b/brightness/set", "getRGB": "homeassistant/light/ESP-3bd20b/rgb/status", "setRGB": "homeassistant/light /ESP-3bd20b/rgb/set" }, "onValue": "BẬT", "offValue": "TẮT" }, { "accessory": "mqttthing", "type": "tivi", "name": "Hiệu ứng ánh sáng ban đêm", "url": "http://127.0.0.1:1883", "topics": { "setActive" : " homeassistant/light/ESP-3bd20b/switch", "getActive": "homeassistant/light/ESP-3bd20b/status", "setActiveInput": "homeassistant/light/ESP-3bd20b/effect/set", "getActiveInput" : " homeassistant/light/ESP-3bd20b/effect/status" }, "inputs": [ { "name": "Confetti", "value": "Confetti" }, { "name": "Fire", "value ": "Fire" }, { "name": "Rainbow Vert.", "value": "Rainbow Vert." }, { "name": "Rainbow Horrors.", "value": "Rainbow Horrors." } , { "name": "Thay đổi màu", "value": "Thay đổi màu" }, { "name": "3D Madness", "value": "3D Madness" }, { "name": "3D Clouds" , " value": "3D Clouds" }, { "name": "3D Bench", "value": "3D Bench" }, { "name": "3D Plasma", "value": "3D Plasma" } , { "name": "Rainbow 3D", "value": "Rainbow 3D" }, { "name": "Peacock 3D", "value": "Peacock 3D" }, { "name": "Zebra 3D" , " value": "Zebra 3D" }, { "name": "Forest 3D", "value": "Forest 3D" }, { "name": "Ocean 3D", "value": "Ocean 3D" } , { "name": "Tuyết rơi", "value": "Tuyết rơi" }, { "name": "Ma trận", "value": "Ma trận" }, { "name": "Đom đóm", "value": "Đom đóm " }, { "name": "Thủy cung", "value": "Thủy cung" }, { "name": "Starfall", "value": "Starfall" }, { "name": "Paintball", "value ": "Paintball" }, { "name": "Xoắn ốc", "value": "Xoắn ốc" }, { "name": "Ánh sáng ấm áp", "value": "Ánh sáng ấm áp" }, { "name ": "Con lắc", "value": "Con lắc" }, { "name": "Blink", "value": "Blink" }, { "name": "Còi cảnh sát", "value": "Còi cảnh sát " } , { "name": "Drift", "value": "Drift" }, { "name": "Flock", "value": "Flock" } ], "onValue": "ON", "offValue ": "TẮT" }

xong TRONG Apple Hai thiết bị mới đã xuất hiện trong HomeKit, đèn "Night Light" và "Night Light Effects". Chúng liên kết với nhau và mục đích của chúng khá rõ ràng. Nếu muốn, bạn có thể đổi tên chúng trong cấu hình.

Thật không may, tác giả của phần sụn đã viết các thông số bằng tiếng Nga, vì vậy với cấu hình như vậy, bạn sẽ phải liên lạc với Siri bằng tiếng Nga. Nhưng nếu bạn đang nói chuyện với Siri bằng tiếng Anh, bạn có thể sửa từng điểm mã như sau:

{"name": "Fire", "value": "Ogon"},

Sau đó, kết quả trên iOS sẽ như thế này:

Cài đặt plugin Samsung Tizen

Bước 1. Kiểm tra tính tương thích của TV

Trong bảng điều khiển của bộ định tuyến, hãy cấp cho TV một IP cục bộ tĩnh, như chúng tôi đã làm cho Raspberry Pi ngay từ đầu. Ví dụ, trong trường hợp của tôi, nó là 192.168.50.100.

Truy cập địa chỉ trong trình duyệt trên máy tính của bạn  http://TV_IP:8001/api/v2, trong trường hợp của tôi có nghĩa là http://192.168.50.100:8001/api/v2/

Nếu bạn thấy một trang có nhiều thông tin dịch vụ giống như thế này…

{"device":{"FrameTVSupport":"false","GamePadSupport":"true","ImeSyncedSupport":"true","OS":"Tizen","TokenAuthSupport":"true","VoiceSupport":"false","countryCode":"UA","description":"Samsung DTV RCR","developerIP":"0.0.0.0","developerMode":"0","duid": ......

... thì điều này có nghĩa là có cơ hội thành công. Nhưng bạn cần hiểu rằng không phải tất cả các mẫu TV Samsung tương thích với plugin. Ví dụ, những người yêu cầu nhận dạng mã PIN sẽ không hoạt động.

Sao chép giá trị trường từ trang dịch vụ"wifiMac": và chuẩn bị điều khiển từ xa từ TV, để nó trong tầm tay.

Bước 2. Cài đặt plugin

Không có gì mới, chúng tôi đang tìm kiếm một plugin theo yêu cầu Samsung Tizen, chọn cái mong muốn (quyền tác giả @tavicu) và cài đặt.

Sau khi khởi chạy, hãy chuyển đến cài đặt và nhập các giá trị sau vào đó:

Cái tên "TV" là khá đủ, vì Siri hoàn toàn hiểu được yêu cầu bật TV trong phòng khách, trong đó bạn hầu như không có 2 TV. Cô cũng hoàn toàn hiểu lệnh "bật TV trong phòng ngủ", mà không kéo TV trong phòng khách thêm một lần nào nữa.

Bước 3. Kết nối với TV

Mọi thứ rất đơn giản ở đây: nhấc điều khiển từ xa của TV lên và đợi menu ngữ cảnh xuất hiện trên màn hình với cảnh báo về việc một thiết bị nào đó cố gắng chiếm quyền điều khiển TV. Tất nhiên, TV phải được bật. Khi một yêu cầu tương ứng xuất hiện ở góc trên bên phải của màn hình, hãy sử dụng điều khiển từ xa của TV để chọn nút Allow... Làm xong.

Bước 4. Thêm TV vào Apple HomeKit

Có, không giống như các trường hợp trước, TV sẽ không xuất hiện một cách kỳ diệu trong danh sách các thiết bị trong nhà bạn. Do đó, chúng tôi cầm iPhone trên tay và từng bước:

  1. Khởi chạy ứng dụng Home và trên trang chính, nhấn + ở góc trên bên phải;
  2. Chọn "Thêm phụ kiện";
  3. Ở cuối màn hình, nhấp vào "Không có mã hoặc quét";
  4. Trên màn hình tiếp theo, hãy chọn TV của bạn;
  5. Khi được nhắc nhập mã thiết lập HomeKit, hãy nhấp vào "Sử dụng Máy ảnh";
  6. Hướng máy ảnh vào mã QR trên tab Trạng thái cầu chủ.

Bước 5. Cài đặt plugin

Đã đào sâu vào tài liệu vào plugin, bạn có thể làm cho Siri chạy các chương trình cụ thể trên TV từ danh sách các chương trình đã cài đặt, tạm dừng chúng, v.v. Bây giờ, như một bài tập, chúng tôi sẽ thay đổi chức năng của một nút duy nhất trong điều khiển từ xa ảo Apple Điều khiển từ xa, được tích hợp trong "bức màn" của Trung tâm điều khiển iOS.

Đây là nút ℹ︎ (thông tin), theo mặc định, nó hiển thị thông tin về chế độ hình ảnh hiện tại ở phần trên của màn hình TV. Đồng thời, tiếp cận từ điều khiển từ xa Apple Không có cách nào để thêm Remote vào danh sách các chương trình đã cài đặt trên TV. Và chúng tôi sẽ sửa chữa nó ngay bây giờ.

Đi tới cài đặt plugin, phần "Bản đồ khóa", tìm trường "THÔNG TIN" và thay đổi giá trị của nó thành KEY_HOME. Khởi động lại Homebridge và thì đấy - nút ℹ︎ trong điều khiển từ xa ảo sẽ hiển thị menu ứng dụng chính! Điều khiển từ xa ảo có ý nghĩa.

Thiết lập plugin Weather Plus

Bước 1. Tạo tài khoản OpenWeather

Hãy đi đến trang web https://home.openweathermap.org và đăng ký một tài khoản, điều tốt là nó miễn phí.

Bước 2. Tạo khóa API

Chuyển đến tab mong muốn của tài khoản cá nhân OpenWeather và sau khi chỉ định tên của khóa, hãy nhấp vào nút "Tạo".

Bước 3. Cài đặt và định cấu hình plugin Weather Plus

Chúng tôi tìm kiếm và cài đặt plugin mong muốn bằng phương pháp thông thường, sau đó tiến hành cài đặt của nó. Kết quả sẽ giống như sau:

Trong dự báo, cá nhân tôi chỉ quan tâm đến các giá trị trong giờ tới, vì vậy những giá trị khác chỉ đơn giản là bị vô hiệu hóa:

Và để các cảm biến thời tiết ảo không cần thiết không gây khó chịu với các kích hoạt không cần thiết, chúng tôi vô hiệu hóa chúng trong phần Ẩn Giá trị tương ứng. Bạn nên tắt:

  • Áp suất không khí
  • Mây che phủ
  • Điểm sương
  • Nhiệt độ biểu kiến
  • Hướng gió
  • Chỉ số UV
  • Tốc độ gió
  • Tốc độ gió tối đa

Và nhấp vào "Lưu" ở cuối cửa sổ cài đặt.

Do đó, trong giao diện Apple HomeKit sẽ hiển thị các giá trị nhiệt độ và độ ẩm trong giờ tiếp theo, cũng như hai cảm biến ảo "Snow" và "Rain", có thể được sử dụng trong các tình huống khác nhau. Ví dụ: tôi đã lập trình tự động hóa HomeKit, trong đó, khi mưa hoặc tuyết xuất hiện trong dự báo cho tương lai gần, đèn Guyver sẽ hiển thị hiệu ứng vũng nước hoặc bông tuyết rơi tương ứng trong một phút. Đồng thời, hiệu ứng sẽ chỉ được kích hoạt trong khoảng thời gian từ 8 giờ sáng đến 00 giờ đêm và chỉ khi có người ở nhà. Vào những lúc khác, cảnh báo mang ô hoặc mặc quần áo chống thấm nước là không cần thiết.

Thiết lập plugin Yeelight WiFi

Theo yêu cầu Yeelight Homebridge cung cấp rất nhiều plugin để cài đặt, trong đó có một plugin đã được xác minh. Nhưng tôi thích một cái khác, trong đó sự chuyển đổi giữa các trạng thái được thực hiện suôn sẻ nhất có thể, và không theo kiểu "đêm đã buông xuống trong trại". Ngoài ra, nó hỗ trợ ánh sáng thích ứng từ Apple, nhưng đây là ứng dụng tiêu chuẩn Xiaomi chưa bao giờ học được điều này trong năm kể từ khi tính năng này xuất hiện trong HomeKit.

Quan trọng! Chỉ để một bóng đèn trên Xiaomi, để tránh nhầm lẫn lúc đầu. Chúng tôi sẽ làm việc với cô ấy.

Sau khi cài đặt plugin, hãy khởi động lại Homebridge và tìm thứ gì đó giống như thế này trong nhật ký: ‌[Yeelight] Received advertisement from ab1234. Đây là điều kiện ab1234 và có bóng đèn của bạn. Có lẽ giá trị sẽ là color-ab1234, sau đó bạn sẽ làm việc với anh ta.

Đi tới cài đặt plugin và dán đoạn mã sau vào đó:

{"platform": "yeelight", "name": "Yeelight", "transitions": {"power": 400, "morning": 400, "color": 1500, "nhiệt độ": 1500}, "đa hướng" : {"interface": "0.0.0.0"}, "defaultValue": {"color-ab1234": {"name": "Đèn sàn", "danh sách đen": ["set_hsv"]}}}

Thay vì ở đâu color-ab1234 phải là giá trị từ nhật ký của bạn và thay vào đó ‌"name": "Торшер" bất kỳ tên nào phản ánh nơi lắp đèn: Đèn ngủ, Đèn treo tường, Đèn trần, v.v.

Lưu mã đã dán bằng cách nhấp vào nút Lưu và khởi động lại Homebridge. Xong, bóng đèn đã xuất hiện trong HomeKit với tên bạn đã chọn. Phần còn lại của các bóng đèn Yeelight được thêm từng bóng một bằng cách nhấn nút "+ THÊM NỀN TẢNG" ở đó trong cài đặt plugin theo cách chính xác.

Cập nhật Homebridge và Node.JS trên Raspberry Pi

Việc cập nhật (và quay lại phiên bản) của Homebridge khá đơn giản: bạn cần nhấp vào số phiên bản hiện tại trong giao diện web và chọn phiên bản mong muốn từ danh sách trong hộp thoại.

Nhưng với bản cập nhật của Node.JS và NPM, những thứ sớm muộn sẽ cần thiết khi cài đặt bản cập nhật của một số plugin, thì mọi chuyện không dễ dàng như vậy. Chính xác hơn, các lệnh không chính xác như được mô tả trong các hướng dẫn tiêu chuẩn.

Node.JS được cập nhật bằng lệnh:

nút cập nhật dịch vụ sudo hb

Và NPM bao nhiêu là hai liên tiếp:

Sudo npm cache clean -f
Sudo npm cài đặt -g npm

Thật không may, bản thân Homebridge cũng như các plugin của nó cũng như "đường ray" mà nó sử dụng đều không thể cập nhật tự động. Và việc truy cập vào bảng điều khiển mỗi ngày và kiểm tra xem có điều gì mới sớm hay muộn sẽ trở nên nhàm chán. Vì vậy, để tự động hóa quy trình, họ đã đưa ra một widget đặc biệt cho iOS 14 để giám sát trạng thái của tất cả các nút Homebridge và có thể báo hiệu sự hiện diện của các bản cập nhật hoặc bất kỳ sự cố nào một cách trực quan và bằng các thông báo PUSH.

Cài đặt tiện ích Trạng thái cầu nhà

Như bạn có thể thấy, tiện ích hiển thị rất nhiều thông tin hữu ích và không quá hữu ích về Homebridge của bạn, nhưng phần giá trị nhất của nó là thông tin về trạng thái của chính Homebridge, các plugin của nó và Node.JS.

Để có được chính tiện ích con, trước tiên chúng ta cần ứng dụng mẹ của nó. Cài đặt nó trên iPhone của bạn từ App Store.

Nhà phát triển: Simon B. Stovring
Giá: Miễn phí+

Và bây giờ quá trình cài đặt tiện ích con khá dài nhưng thú vị bắt đầu. Chúng tôi sẽ cài đặt nó với sự trợ giúp của một tập lệnh khác có tên ScriptDude bên trong chương trình Scriptable. ScriptDude tốt vì nó theo dõi những thay đổi trong mã của hàng loạt tập lệnh nằm trong thư viện tại địa chỉ scriptables.net. Có lẽ bạn sẽ tìm thấy thứ khác hữu ích cho mình ở đó, nhưng bây giờ chúng ta có một nhiệm vụ và chúng ta sẽ giải quyết nó.

Bước 1. Cài đặt Scriptable.app từ App Store.

Bước 2. Mở trang web trong trình duyệt iPhone scriptdu.de và nhấp vào nút Install ScriptDude.

Bước 3. Trên trang mở ra, hãy nhấp vào nút Copy Installer và sau khi nhận được thông báo về mã tập lệnh trong khay nhớ tạm thời của chúng tôi, hãy nhấp vào nút Open Scriptable.

Bước 4. Chèn nội dung của khay nhớ tạm vào trường trống với tiêu đề Tập lệnh không có tiêu đề và nhấn nút Phát ▶ ️.

Bước 5. Trên màn hình mở ra, hãy nhấp vào liên kết Duyệt qua scriptables.net và trên trang tiếp theo, hãy nhấn vào thẻ (Công nghệ). Hoan hô, tập lệnh Trạng thái cầu nhà đầu tiên có trong danh sách! Vui lòng nhấp vào nút Tải xuống với ScriptDude.

Bước 6. Chúng tôi nhấn Cài đặt và sau khi đồng ý với hai cảnh báo, chúng tôi sẽ thấy tập lệnh mong muốn trong danh sách Đã cài đặt. Màn hình Scriptables chính bây giờ trông giống như ảnh chụp màn hình thứ tư bên dưới, và chúng tôi nhấp vào ba dấu chấm trong ô Trạng thái cầu nhà và đi đến các tùy chọn chỉnh sửa.

Bước 7. Trước hết, chúng tôi thay đổi giá trị overridePersistedConfig з sai trên đúng

overridePersistedConfig = true

để lưu cài đặt tập lệnh vào iCloud.

Bước 8. Đi xuống thấp hơn một chút, chúng tôi chỉnh sửa ba trường: địa chỉ IP và cổng Homebridge (hãy nhớ, đây là http://<ip address of your server>:8581 thay vì ở đâu <ip address of your server> vẫn giữ nguyên IP từ đầu bài viết, trong trường hợp của tôi ) và đồng ý với cảnh báo về việc tìm kiếm thiết bị trong mạng cục bộ. Hoan hô, kịch bản hoạt động!

Tất cả những gì còn lại là thêm tiện ích vào màn hình iOS 14 theo cách giống như bất kỳ cách nào khác. Sau khi thêm, bạn cần phải đi tới cài đặt tiện ích (nhấn lâu vào nó) và chỉ định một số tham số: chọn tập lệnh mong muốn, chỉ định những việc cần làm khi tương tác với nó và nhập giá trị sau vào trường Tham số

USE_CONFIG: tím.json

Sau đó, đừng quên quay lại mã script và trả về giá trị

overridePersistedConfig = false

Đó là tất cả. Tiện ích con hoạt động và khi có các bản cập nhật cho Node.JS, Homebridge hoặc các plugin của nó, bạn sẽ nhận được thông báo PUSH với nội dung liên quan.

Visnovok

Những cơ hội Apple HomeKit đã phát triển hơn nhiều lần đối với tôi. Tôi đã nghĩ ra một loạt các tập lệnh và tự động hóa giúp cuộc sống của tôi và những người thân yêu của tôi dễ dàng hơn.

Ví dụ: vào thời điểm tối tăm trong ngày, thành viên gia đình đầu tiên trở về nhà sẽ được chào đón bằng ánh sáng từ bên ngoài, trong hành lang, phòng khách và phòng tắm - và bây giờ không cần phải chạy đến các công tắc. với bàn tay chưa rửa.

Khi thành viên cuối cùng của gia đình rời khỏi nhà, HomeKit sẽ cẩn thận tắt TV, đèn và nói chung là mọi thứ có thể được tắt. Và nếu có ít nhất một người ở nhà, khi chạng vạng bắt đầu, đèn chiếu sáng bên ngoài và một số đèn bên trong sẽ được bật.

Một lần nữa, Siri có thể điều khiển tất cả các thiết bị được kết nối bằng các lệnh hoàn toàn logic, từng chữ giống như những lệnh mà bạn sẽ hỏi ai đó trong nhà khi bạn cần bật hoặc tắt thứ gì đó trong một căn phòng cụ thể. Chỉ có điều không ai cần phải chạy đến căn phòng này nữa.

Nhạc buổi sáng và buổi tối kết hợp từ Apple, mà hiệu ứng ánh sáng của đèn Guyver được gắn vào. Có thể làm cho các ánh sáng khác hoạt động với nhạc nhẹ, nhưng tôi không hài lòng với hiệu ứng này.

Nói chung, các tình huống ứng dụng chỉ phụ thuộc vào trí tưởng tượng của bạn và sẽ không gây căng thẳng cho ví tiền, vì các sản phẩm có nhãn "Hoạt động với Apple HomeKit không còn là sự lựa chọn khả dụng duy nhất.

Trong bài tiếp theo của chu kỳ, bạn và tôi sẽ có một niềm vui nho nhỏ: chúng tôi sẽ dạy của chúng tôi Raspberry Pi tải torrent, hãy biến nó thành một trung tâm truyền thông mạnh mẽ và bảng điều khiển trò chơi cổ điển.

Hãy theo dõi!

Chia sẻ
Yury Stanislavsky

Nhà phát triển SwiftUI. Tôi sưu tập vinyl. Đôi khi là một nhà báo. Chủ sở hữu của Nota Record Store.

Bình luận

Chúng tôi sẽ không công khai email của bạn. Các ô đánh dấu * là bắt buộc*