# ESP8266-HomeKit [![Build Status](https://travis-ci.org/HomeACcessoryKid/ESP8266-HomeKit-Demo.svg?branch=master)](https://travis-ci.org/HomeACcessoryKid/ESP8266-HomeKit-Demo)
HomeKit server foundation on ESP8266 with an API approach
## UPDATE 17 Dec 2017
Please read the message in [issue 41](https://github.com/HomeACcessoryKid/ESP8266-HomeKit/issues/41) about the switchover to Maxim Kulkin code base.
-------
Public Apple's HomeKit protocol code has been around for some time for more potent processors (notably [HAP-NodeJS](https://github.com/KhaosT/HAP-NodeJS)). This is a rewrite for the ESP8266 to make the server foundation.
This project uses [ESP8266_RTOS_SDK](https://github.com/espressif/ESP8266_RTOS_SDK) and
[WolfCrypt 3.9.8](https://github.com/wolfSSL/wolfssl/releases/tag/v3.9.8) for the crypto. It will however NOT deliver a certified HomeKit device.
For build instructions please refer to the [wiki](https://github.com/HomeACcessoryKid/ESP8266-HomeKit/wiki).
# Demo
If you use the Demo Code from [ESP8266-HomeKit-Demo](https://github.com/HomeACcessoryKid/ESP8266-HomeKit-Demo) you get this...
[![HomeKit Demo](https://img.youtube.com/vi/Xnr-utWDIR8/0.jpg)](https://www.youtube.com/watch?v=Xnr-utWDIR8)
# About the code
The code provides all the services required to pair iOS with an IP device and to operate that device once paired with multiple iOS devices. It runs on even the smallest ESP8266 device like the ESP-01. It creates
an API level to create your HomeKit device without descending to the lower levels of the HAP protocol.
See the [ESP8266-HomeKit-Demo](https://github.com/HomeACcessoryKid/ESP8266-HomeKit-Demo) for the details.
## Timings
Here are some preliminary timings.
### Pairing
Pairing is dominated by the SRP algorithm which is very slow and expensive. Fortunately this only happens once when the iOS device is being associated with the HomeKit device:
- Time1: 25 seconds from boot till start of server, so that initial interaction is split second.
- Time2: 30 seconds (based on a build with DEBUG logging which is slow).
### Verify
Verify happens every time an iOS device reconnected to the HomeKit device. Ideally this should be as fast as possible.
- Time: 1.2 seconds
## Memory
The HomeKit code is approximately 400K and about 18K of RAM is left for other purposes. During Pairing so much RAM is used that it is required to launch most code after pairing is done.
# Thanks
I want to thank a number of projects which made this possible:
1. [HAP-NodeJS](https://github.com/KhaosT/HAP-NodeJS) - which documents the HomeKit protocols for IP and allowed me to guess how they
were implemented.
2. https://github.com/aanon4/HomeKit - which inspired this README and should inspire us to look into assembly.
3. [ESP8266_RTOS_SDK](https://github.com/espressif/ESP8266_RTOS_SDK) - Espressif for their great product
4. [WolfCrypt](https://www.wolfssl.com/wolfSSL/Products-wolfcrypt.html) - For a great one stop crypto library
# Notes
Please note that this software was produced without any reference to any proprietary documentation or information. I am not a MFi licensee, nor do I have access to any related information.
Espressif uses MIT license. WolfCrypt uses GPLv2 or higher license. For the purpose of this distribution you should use GPLv3.
This is based on the changes I had to make to Wolfcrypt and to be compatible with Apache-2.0 license.
# License
Copyright 2016-2017 HomeACcessoryKid - HacK - homeaccessorykid@gmail.com
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
没有合适的资源?快使用搜索试试~ 我知道了~
ESP8266-HomeKit, 在ESP8266_RTOS上使用API方法,HomeKit服务器本机.zip
共66个文件
h:34个
c:16个
makefile:4个
需积分: 47 7 下载量 174 浏览量
2019-09-17
15:35:01
上传
评论
收藏 328KB ZIP 举报
温馨提示
ESP8266-HomeKit, 在ESP8266_RTOS上使用API方法,HomeKit服务器本机 ESP8266-HomeKit 使用API方法的ESP8266上的HomeKit服务器基础更新 17 2017年月请阅读问题 41中的消息关于切换到 Maxim Kulkin代码库。苹果协议代码的public HomeKit已
资源推荐
资源详情
资源评论
收起资源包目录
ESP8266-HomeKit.zip (66个子文件)
ESP8266-HomeKit-master
.gitignore 22B
todo.txt 2KB
README.md 4KB
LICENSE 11KB
hkc
hkc.c 119KB
include
wolfssl
version.h 1KB
wolfcrypt
sha512.h 3KB
ge_operations.h 3KB
hmac.h 5KB
rsa.h 6KB
hash.h 3KB
fe_operations.h 5KB
mpi_class.h 21KB
curve25519.h 5KB
integer.h 11KB
poly1305.h 2KB
chacha20_poly1305.h 3KB
logging.h 2KB
error-crypt.h 9KB
wc_port.h 8KB
chacha.h 2KB
visibility.h 2KB
random.h 4KB
mpi_superclass.h 3KB
srp.h 10KB
ed25519.h 3KB
sha.h 2KB
misc.h 2KB
settings.h 32KB
asn.h 28KB
sha256.h 2KB
asn_public.h 10KB
types.h 13KB
memory.h 7KB
settings.h.0 32KB
arc4.h 2KB
ssl.h 78KB
hk.h 6KB
user_settings.h 357B
hkc.h 15KB
wolfcrypt
COPYING 18KB
LICENSING 407B
src
ed25519.c 12KB
ge_operations.c.0 108KB
chacha20_poly1305.c 8KB
poly1305.c 17KB
chacha.c 6KB
sha256.c 73KB
sha512.c 61KB
integer.c 104KB
hmac.c 21KB
srp.c 21KB
hash.c 9KB
misc.c.0 5KB
fe_operations.c 37KB
curve25519.c 11KB
random.c 44KB
Makefile 2KB
misc.c 5KB
ge_operations.c 108KB
Makefile 2KB
Makefile 2KB
install_toolchain.sh 1KB
.travis.yml 1KB
Makefile 3KB
deploy.sh 537B
共 66 条
- 1
资源评论
weixin_38743506
- 粉丝: 349
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Screenshot_20240427_031602.jpg
- 网页PDF_2024年04月26日 23-46-14_QQ浏览器网页保存_QQ浏览器转格式(6).docx
- 直接插入排序,冒泡排序,直接选择排序.zip
- 在排序2的基础上,再次对快排进行优化,其次增加快排非递归,归并排序,归并排序非递归版.zip
- 实现了7种排序算法.三种复杂度排序.三种nlogn复杂度排序(堆排序,归并排序,快速排序)一种线性复杂度的排序.zip
- 冒泡排序 直接选择排序 直接插入排序 随机快速排序 归并排序 堆排序.zip
- 课设-内部排序算法比较 包括冒泡排序、直接插入排序、简单选择排序、快速排序、希尔排序、归并排序和堆排序.zip
- Python排序算法.zip
- C语言实现直接插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序、归并排序、计数排序,并带图详解.zip
- 常用工具集参考用于图像等数据处理
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功