Add homekit integration

pull/285/head
gitgayhub 2023-12-22 13:05:15 +00:00
parent 0838a723f9
commit c90e066eae
2 changed files with 89 additions and 0 deletions

View File

@ -40,6 +40,7 @@ OpenIPC Wiki
- [ACMEv2](en/acme-v2.md)
- [YouTube streaming](en/youtube-streaming.md)
- [WiFi XM530](en/wifi-xm530.md)
- [HomeKit integration](en/homekit-integration.md)
### FPV

View File

@ -0,0 +1,88 @@
[Table of Content](../README.md)
Integrate OpenIPC into HomeKit
---
Currently OpenIPC doesn't have native HomeKit support yet, integration is made by 3rd party package [go2rtc](https://github.com/AlexxIT/go2rtc "go2rtc"), thanks [@gtxaspec](https://github.com/gtxaspec "@gtxaspec") for adding this package into OpenIPC
### Hardware requirement
Since the compiled binary file will 3.3MB in size, flash chip size should be 16MB at least, DDR size should be 128MB at least
### Compile go2rtc package
Install go and upx first
```
apt update
apt install golang upx
```
- #### Method 1: Compile the whole firmware
Edit board config file in `firmware/br-ext-chip-xxxx/configs` directory, add the following line to enable the go2rtc package
```
BR2_PACKAGE_GO2RTC=y
```
then run
```
make distclean
make all BOARD=board_config_name
```
- #### Method2: Compile the package only
```
make distclean
make br-go2rtc-rebuild BOARD=board_config_name
```
The compiled go2rtc binary file will located at `firmware/output/per-package/go2rtc/target/usr/bin`, default config file at `firmware/output/per-package/go2rtc/target/etc`
### Edit config file
Put config file `go2rtc.yaml` into `/etc/` directory, example config:
```
log:
level: info # default level
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: # same stream ID from streams list
pin: 19550224 # custom PIN, default: 19550224
name: openipc-ssc30kq # custom camera name, default: generated from stream ID
device_id: openipc # custom ID, default: generated from stream ID
```
### Run go2rtc
```
/usr/bin/go2rtc -config /etc/go2rtc.yaml &
```
Open the Home app on your Apple device, click the `+` button on the top-right corner, the OpenIPC camera should appear there automatically, enter the pin numbers in the config file to pair with it.
### Autorun on startup
Add the following lines into /etc/rc.local
```
/usr/bin/go2rtc -config /etc/go2rtc.yaml &
```
### Limitations
- No HomeKit Secure Video support yet
- No motion sensor support yet
- No two-way audio support yet