wiki/vi/homekit-integration.md

4.4 KiB

Wiki OpenIPC

Mục lục

Tích hợp OpenIPC vào HomeKit


Hiện tại OpenIPC chưa có hỗ trợ HomeKit gốc, việc tích hợp được thực hiện bởi gói bên thứ 3 go2rtc, cảm ơn @gtxaspec đã thêm gói này vào OpenIPC.

Yêu cầu phần cứng

Vì tệp nhị phân đã biên dịch sẽ có kích thước 3,3MB, kích thước chip flash phải ít nhất là 16MB, kích thước DDR phải ít nhất là 128MB.

Biên dịch gói go2rtc

Cài đặt go và upx trước

apt update
apt install golang upx
  • Phương pháp 1: Biên dịch toàn bộ firmware

Chỉnh sửa tệp cấu hình bảng trong thư mục firmware/br-ext-chip-xxxx/configs, thêm dòng sau để bật gói go2rtc

BR2_PACKAGE_GO2RTC=y

sau đó chạy

make distclean
make all BOARD=board_config_name
  • Phương pháp 2: Chỉ biên dịch gói

make distclean
make br-go2rtc-rebuild BOARD=board_config_name

Tệp nhị phân go2rtc đã biên dịch sẽ nằm tại firmware/output/per-package/go2rtc/target/usr/bin, tệp cấu hình mặc định tại firmware/output/per-package/go2rtc/target/etc.

Chỉnh sửa tệp cấu hình

Đặt tệp cấu hình go2rtc.yaml vào thư mục /etc/, ví dụ cấu hình:

log:
  level: info  # mức mặc định
  api: trace
  exec: debug
  ngrok: info
  rtsp: warn
  streams: error
  webrtc: fatal

rtsp:
  listen: ":8553"

webrtc:
  candidates:
    - stun:8555

streams:
  openipc: rtsp://admin:12345@127.0.0.1/stream=0

homekit:
  openipc:                   # cùng ID luồng từ danh sách luồng
    pin: 19550224           # mã PIN tùy chỉnh, mặc định: 19550224
    name: openipc-ssc30kq      # tên camera tùy chỉnh, mặc định: được tạo từ ID luồng
    device_id: openipc       # ID tùy chỉnh, mặc định: được tạo từ ID luồng

Chạy go2rtc

/usr/bin/go2rtc -config /etc/go2rtc.yaml &

Mở ứng dụng Home trên thiết bị Apple của bạn, nhấp vào nút + ở góc trên cùng bên phải, camera OpenIPC sẽ xuất hiện ở đó tự động, nhập mã PIN trong tệp cấu hình để ghép nối với nó.

Tự động chạy khi khởi động

Thêm các dòng sau vào /etc/rc.local

/usr/bin/go2rtc -config /etc/go2rtc.yaml &

Giới hạn

  • Chưa hỗ trợ HomeKit Secure Video.
  • Chưa hỗ trợ cảm biến chuyển động.
  • Chưa hỗ trợ âm thanh hai chiều.

Giải thích thuật ngữ:

  • HomeKit: Là một nền tảng tự động hóa nhà của Apple.
  • go2rtc: Là một ứng dụng trung gian cho phép bạn tích hợp các camera RTSP vào HomeKit.
  • Firmware: Phần mềm được nhúng vào bộ nhớ ROM của thiết bị phần cứng.
  • Flash chip: Chip flash, là một loại bộ nhớ không bay hơi được sử dụng để lưu trữ firmware.
  • DDR: Double Data Rate, là một loại bộ nhớ truy cập ngẫu nhiên.
  • Board config file: Tệp cấu hình bảng, là một tệp văn bản chứa các cài đặt cho quá trình biên dịch firmware.
  • Binary file: Tệp nhị phân, là một tệp chứa dữ liệu ở dạng nhị phân.
  • Config file: Tệp cấu hình, là một tệp văn bản chứa các cài đặt cho một chương trình.
  • RTSP: Real Time Streaming Protocol, là một giao thức mạng được sử dụng để truyền phát video và âm thanh trực tiếp.
  • WebRTC: Web Real-Time Communication, là một bộ API cho phép truyền thông âm thanh và video trực tiếp trong trình duyệt web.
  • STUN: Session Traversal Utilities for NAT, là một giao thức mạng được sử dụng để vượt qua NAT.
  • Home app: Ứng dụng Home, là ứng dụng của Apple để điều khiển các thiết bị HomeKit.
  • PIN: Personal Identification Number, là một mã số bí mật được sử dụng để xác thực.
  • HomeKit Secure Video: Là một tính năng của HomeKit cho phép bạn lưu trữ video được mã hóa từ camera của mình trên iCloud.
  • Motion sensor: Cảm biến chuyển động, là một cảm biến phát hiện chuyển động.
  • Two-way audio: Âm thanh hai chiều, là khả năng nói chuyện và nghe qua camera.