Skip to content

janandre/HomeKitADK

 
 

Repository files navigation

HomeKit Accessory Development Kit (ADK)

The HomeKit ADK is used by silicon vendors and accessory manufacturers to build HomeKit compatible devices.

The HomeKit ADK implements key components of the HomeKit Accessory Protocol (HAP), which embodies the core principles Apple brings to smart home technology: security, privacy, and reliability.

The HomeKit Open Source ADK is an open-source version of the HomeKit Accessory Development Kit. It can be used by any developer to prototype non-commercial smart home accessories. For commercial accessories, accessory developers must continue to use the commercial version of the HomeKit ADK available through the MFi Program.

If you’d like to learn more about developing HomeKit-enabled accessories and apps, go to https://developer.apple.com/homekit/

Documentation

Darwin

Prerequisites

Download and install Xcode 11

brew install openssl@1.1
brew install mbedtls --HEAD

Compile

make all
Make options

All of the feature items below are disabled by default

To build with Hardware Authentication

make USE_HW_AUTH=1 all

To build with NFC enabled

make USE_NFC=1 all

Run

./Output/Darwin-x86_64-apple-darwin18.6.0/Debug/IP/Applications/Lightbulb.OpenSSL

NOTE: We use the OpenSSL crypto backend by default on Darwin. You can select a different crypto module:

make CRYPTO=MbedTLS apps

Linux

Prerequisites

brew cask install docker

Run docker (Look in Spotlight/Applications folder). This is a one time instruction. Make sure you go to Docker->Preferences->General and check the option -> Start Docker Desktop when you log in

Compile

make TARGET=Linux apps

Raspberry Pi

Prerequisites

brew cask install docker
brew install qemu
brew install qrencode

# Run the Docker app. It is required for docker import.
./Tools/raspi_sdcard_setup.sh

Compile

make TARGET=Raspi all

If docker doesn't find "dev-test/raspiadk-base", run the sdcard setup and make sure to do the docker import at the end of the script.

Install

./Tools/install.sh \
    -d raspi \
    -a Output/Raspi-armv6k-unknown-linux-gnueabihf/Debug/IP/Applications/Lightbulb.OpenSSL \
    -n raspberrypi \
    -p pi

About

No description, website, or topics provided.

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 91.4%
  • C++ 4.5%
  • Objective-C 2.0%
  • Shell 1.9%
  • Makefile 0.2%
  • Dockerfile 0.0%