Giter Site home page Giter Site logo

Comments (18)

shahpiyushv avatar shahpiyushv commented on June 24, 2024 3

Here are the answers

Is performance the same?

Performance should be similar as the underlying esp-idf is the same.

Are they both stable?

The primary code base of both can be considered as stable, but with a minor difference. esp-homekit-sdk is developed in-house and works with all stable IDF releases 4.x. esp-apple-homekit-adk is a port of Apple's ADK, and it requires a custom mbedtls branch, which in itself is not part of any stable IDF release.

Do they both support the same feature set? Are they feature complete compared to the spec?

Both are compliant with the HAP Spec R15

Do they both support IP and BLE?

esp-homekit-sdk does not support BLE at all and may not support in future as well. Apple's ADK has support for BLE, but we haven't ported it in esp-apple-homekit-adk. The port could be added in future.

Will they both be maintained (in terms of the ADK updated if Apple updates)

Yes.

Which one may become part of the IDF repository?

None of these will be part of esp-idf and will be maintained as separate projects.

What’s the difference between this SDK and the MFi compliant one?

At API level it is the same, but in the MFi compliant variant, you can enable the MFi authentication options and Apple Wi-Fi Accessory Configuration (WAC provisioning).

Which SDK is more similar to the MFi release from espressif?

Both, esp-homekit-sdk and esp-apple-homekit-adk have their corresponding MFi variants. However, esp-homekit-sdk has been the primary MFi compliant SDK from Espressif since long.

from esp-homekit-sdk.

shahpiyushv avatar shahpiyushv commented on June 24, 2024 3

@shahpiyushv sorry for the direct question: should you start a new project today, which one you would go for and why :)

@dguerri I may be biased because most of the code in esp-homekit-sdk is written by me, whereas esp-apple-homekit-adk is just a port of Apple's ADK, the code for which I myself do not know much :)

The APIs in both are totally different and you can check for yourself which ones you prefer. One advantage with esp-homekit-sdk is that it uses most stuff from esp-idf (like crypto, webserver, etc.) and has integrations like aws-iot, ESP RainMaker, Unified Provisioning etc. ADK on the other hand may support some additional profiles which may not be part of esp-homekit-sdk and it has also has support for BLE, which may be ported into esp-apple-homekit-adk sometime in future.

from esp-homekit-sdk.

slompf18 avatar slompf18 commented on June 24, 2024 1

Thanks for the answer. Can you give some guideline:

  • Is performance the same?
  • Are they both stable?
  • Do they both support the same feature set? Are they feature complete compared to the spec?
  • Do they both support IP and BLE?
  • Will they both be maintained (in terms of the ADK updated if Apple updates)
  • Which one may become part of the IDF repository?

from esp-homekit-sdk.

shahpiyushv avatar shahpiyushv commented on June 24, 2024 1

SW token auth may be cheaper since you save on the MFi chip cost. The pair setup is slightly slower though, but it should not matter much since it comes into picture just once when the accessory is being configured. Apple would be in a batter position to suggest which one to use.

from esp-homekit-sdk.

shahpiyushv avatar shahpiyushv commented on June 24, 2024

@slompf18, The esp-apple-homekit-adk is a port of Apple's ADK, whereas esp-homekit-sdk is completely home grown. You may use any SDK that you find suitable for your use case and convenient to use. Both of these are meant for hobbyists and both also have their MFi compliant counterparts if you want to build a commercials product.

from esp-homekit-sdk.

timoschilling avatar timoschilling commented on June 24, 2024

What’s the difference between this SDK and the MFi compliant one?

from esp-homekit-sdk.

drewandre avatar drewandre commented on June 24, 2024

Wanted to add one more question to the list: which SDK is more similar to the MFi release from espressif? I worry that I'll get comfortable with the API from this SDK only to have it change drastically when requesting the MFi SDK.

from esp-homekit-sdk.

slompf18 avatar slompf18 commented on June 24, 2024

Thanks for clarification. So I guess the ADK port is the better choice:

  • Probably well tested by Apple, as it runs on many devices.
  • Less effort as new features will be implemented by Apple and have "only" to be ported.
  • May support BLE in the future.

The only disadvantages I see are:

  • It needs a special version of IDF. Maybe this will be fixed in future when upgrading to a higher version of mbedtls.
  • It does not work for ESP8266. But ESP8266 does not work for commercial products anyway.

from esp-homekit-sdk.

drewandre avatar drewandre commented on June 24, 2024

@shahpiyushv thanks for answering everything!

I have one last question regarding MFi authorization. I assumed it would be s/w auth, but I see in the MFi menuconfig that you can configure I2C pins for what I assume to be h/w authorization with a MFi co-processor. Is this the case? Or can you use either software auth or hardware auth?

If it's hardware auth only, could you briefly describe the process for obtaining a co-processor? Does espressif provide a co-processor distributor? We've purchased MFi co-processors from Avnet before but just want to know if we need to start planning for this in our board design. Thanks.

from esp-homekit-sdk.

shahpiyushv avatar shahpiyushv commented on June 24, 2024

@slompf18 some clarifications

Probably well tested by Apple, as it runs on many devices.

This could be true, but I am not 100% sure about this as almost all our customers have been using esp-homekit-sdk as it has been around for a longer time. Even other chip vendors have had their own custom SDKs and the ADK came later.

Less effort as new features will be implemented by Apple and have "only" to be ported.

The efforts here would be more on Espressif's side and not end users.

from esp-homekit-sdk.

shahpiyushv avatar shahpiyushv commented on June 24, 2024

@drewandre you may choose to use either SW auth or HW auth, both are supported by the SDK. MFi co-processor can be procured from the MFi portal from the distributors authorised by Apple, but of course, it isn't required if you choose the SW token authentication.

from esp-homekit-sdk.

slompf18 avatar slompf18 commented on June 24, 2024

This could be true, but I am not 100% sure about this as almost all our customers have been using esp-homekit-sdk as it has been around for a longer time. Even other chip vendors have had their own custom SDKs and the ADK came later.

I was thinking on other devices, like smart TVs, etc. There it is probably used, too.

from esp-homekit-sdk.

shahpiyushv avatar shahpiyushv commented on June 24, 2024

@slompf18

I was thinking on other devices, like smart TVs, etc. There it is probably used, too.

This is unlikely to be the case since HomeKit wasn't meant for such types of devices.

from esp-homekit-sdk.

dguerri avatar dguerri commented on June 24, 2024

@shahpiyushv sorry for the direct question: should you start a new project today, which one you would go for and why :)

from esp-homekit-sdk.

slompf18 avatar slompf18 commented on June 24, 2024

@slompf18

I was thinking on other devices, like smart TVs, etc. There it is probably used, too.

This is unlikely to be the case since HomeKit wasn't meant for such types of devices.

Some new Sony and LG smart TVs are accessible via HomeKit. Good chance they are using the ADK of Apple.

from esp-homekit-sdk.

yemirabalaraju avatar yemirabalaraju commented on June 24, 2024

Does the Demo sdk can be used for SW authentication without getting Mfi variant esp32 SDK/ADK..?

If yes, which part of the code has to look for for SW authentication?

from esp-homekit-sdk.

shahpiyushv avatar shahpiyushv commented on June 24, 2024

@yemirabalaraju , HomeKit software authentication requires the SW Tokens from Apple which only MFi Licensees are eligible to get. Moreover, the specification for that are also open only for MFi Licensees. So, to try that out, you would have to use the MFi variant of the SDK/ADK.

from esp-homekit-sdk.

yemirabalaraju avatar yemirabalaraju commented on June 24, 2024

Hi,
a generic question..
I have option for going by Software token Auth. or MFi hardware chip based Auth. Which approach is best, ?
Which one is more secure ? HW or SW base auth..
What is industry trend in method of Authentication process..

from esp-homekit-sdk.

Related Issues (20)

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.