Code Monkey home page Code Monkey logo

homekitadk's Introduction

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 [email protected]
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

homekitadk's People

Contributors

aajain-com avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.