All Projects → Brawrdon → esp-homekit-arduino-sdk

Brawrdon / esp-homekit-arduino-sdk

Licence: MIT license
Arduino wrapper for ESP-IDF HomeKit library

Programming Languages

C++
36643 projects - #6 most used programming language
shell
77523 projects
c
50402 projects - #5 most used programming language
python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to esp-homekit-arduino-sdk

Hap Nodejs
Node.js implementation of the HomeKit Accessory Protocol (HAP)
Stars: ✭ 2,541 (+7373.53%)
Mutual labels:  homekit, homekit-accessory, homekit-accessory-protocol
sqlite micro logger arduino
Fast and Lean Sqlite database logger for Microcontrollers
Stars: ✭ 128 (+276.47%)
Mutual labels:  arduino-library, esp32-arduino
Homebridge
HomeKit support for the impatient
Stars: ✭ 19,073 (+55997.06%)
Mutual labels:  homekit, homekit-accessory-protocol
HomeSpan
HomeKit Library for the Arduino-ESP32
Stars: ✭ 410 (+1105.88%)
Mutual labels:  arduino-library, homekit
HomeKit-Bridge
Enabled HomeKit integration via Homebridge for Indigo Home Automation
Stars: ✭ 43 (+26.47%)
Mutual labels:  homekit, homekit-accessory
homebridge-dyson-fan
A Homebridge plugin for controlling a Dyson fan.
Stars: ✭ 17 (-50%)
Mutual labels:  homekit, homekit-accessory
ESP32 I2C Slave
I2C slave library for ESP32
Stars: ✭ 70 (+105.88%)
Mutual labels:  arduino-library, esp32-arduino
ESP8266-HomeKit-Air-Quality-Sensor-Elgato-Eve-Room
ESP8266 based  Homekit Indoor Air Quality sensor that acts like Eve Room🌱
Stars: ✭ 58 (+70.59%)
Mutual labels:  homekit, homekit-accessory-protocol
Arduino Homekit Esp8266
Native Apple HomeKit accessory implementation for the ESP8266 Arduino core.
Stars: ✭ 545 (+1502.94%)
Mutual labels:  arduino-library, homekit
Dsckeybusinterface
An Arduino/esp8266/esp32 library to directly interface with DSC security systems.
Stars: ✭ 202 (+494.12%)
Mutual labels:  arduino-library, homekit
homekit-door
Raspberry Pi HomeKit Door Accessory
Stars: ✭ 22 (-35.29%)
Mutual labels:  homekit, homekit-accessory
ioBroker.yahka
Yet another HomeKit adapter for ioBroker
Stars: ✭ 101 (+197.06%)
Mutual labels:  homekit, homekit-accessory-protocol
homebridge-homeconnect
Home Connect home appliances plugin for Homebridge
Stars: ✭ 70 (+105.88%)
Mutual labels:  homekit, homekit-accessory
HAS
Homekit Accessory Server
Stars: ✭ 53 (+55.88%)
Mutual labels:  homekit, homekit-accessory-protocol
homebridge-callmonitor
Signals incoming and outgoing calls using the call monitor facility in Fritz!Box devices via HomeKit
Stars: ✭ 25 (-26.47%)
Mutual labels:  homekit, homekit-accessory
gfx demo
GFX Demo for Arduino and the ESP-IDF
Stars: ✭ 63 (+85.29%)
Mutual labels:  arduino-library, esp-idf
hap
A HomeKit Accessory Protocol (HAP) Implementation for Elixir
Stars: ✭ 50 (+47.06%)
Mutual labels:  homekit, homekit-accessory-protocol
Homekit
Homekit for ESP32 with Arduino framework
Stars: ✭ 80 (+135.29%)
Mutual labels:  homekit, esp-idf
esp32WS2811
Arduino library for ESP32 to drive WS2811 LEDs using the RMT peripheral
Stars: ✭ 22 (-35.29%)
Mutual labels:  arduino-library, esp32-arduino
ATM90E32
Updated version of the ATM90E32 Arduino library
Stars: ✭ 22 (-35.29%)
Mutual labels:  arduino-library, esp32-arduino

ESP32 HomeKit Accessory Protocol SDK for Arduino

This library provides the official ESP-IDF HomeKit SDK (#fac2032) for ESP32 devices running the Arduino framework.

Version 2.0.0 is in active development and will be available soon!

Note: This wrapper uses a version of the SDK which can't be used in commercial products due to it not being MFi certified, feel free to use it in your hobby projects though!

Installation

If you're using PlatformIO, update your platformio.ini file's dependancies or use the pio command in the directory containing your platformio.ini file:

pio lib install 'ESP32 HomeKit SDK for Arduino'

The packages uploaded to PlatformIO's repository and used by the Arduino IDE will contain the complete library, as the build script will be run before packaging. You can use the Arduino IDE to install the library by downloading the prebuilt ZIP file in the Releases section.

Usage

At the moment, only a temperature sensor with a default value can be created. I'm in the process of adding the ability to read / write to a sensor, as well as adding all other available sensors.

#include <Arduino.h>
#include <WiFi.h>
#include <ESP32HomeKit.h>

const char *ssid = "ssid";
const char *password = "password";

/*
	This example provides a basic connection to HomeKit.
	You can't read/write values at the moment but it's coming I promise.
*/

void setup()
{
	Serial.begin(9600);

	WiFi.begin(ssid, password);

	while (WiFi.status() != WL_CONNECTED)
	{
		delay(1000);
		Serial.println("Establishing connection to WiFi..");
	}

	Serial.println("Connected to network.");

	HAPAccessory hapAccessory("ESP32 Fan");
	hapAccessory.Setup("EspFan01", "Espressif", "001122334455", "0.0.1", "1.0.0", HAP_ACCESSORY_SENSOR);

	HAPTemperatureSensor hapTemperatureSensor("Temperature", 10.0);
	hapAccessory.AddService(hapTemperatureSensor.Service);

	hapAccessory.Register();
	HAPCore hapCore("111-22-333", "ES32");
	hapCore.Start();
}

void loop()
{
	/* Main loop code */
}

Building From Source

If you want to make edits to the library, run the build.sh script. It will clone the ESP-IDF HomeKit SDK repository, copy the required source files and modify them to work with Arduino's build chain. The modified files aren't commited as I don't think I need to host copies of the SDK's source in this repository, or in a fork, since the changes for the port are minimal.

To Do

  • Add Arduino API wrappers to make it easier to use.
  • [] Add other sensors.
  • [] Better documentation.

License

MIT

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].