Giter Site home page Giter Site logo

esp-homekit-demo's Introduction

esp-homekit-demo

Demo of Apple HomeKit accessory server library.

Usage

  1. Initialize and sync all submodules (recursively):
git submodule update --init --recursive
  1. Copy wifi.h.sample -> wifi.h and edit it with correct WiFi SSID and password.

  2. Install esp-open-sdk, build it with make toolchain esptool libhal STANDALONE=n, then edit your PATH and add the generated toolchain bin directory. The path will be something like /path/to/esp-open-sdk/xtensa-lx106-elf/bin. (Despite the similar name esp-open-sdk has different maintainers - but we think it's fantastic!)

  3. Install esptool.py and make it available on your PATH. If you used esp-open-sdk then this is done already.

  4. Checkout esp-open-rtos and set SDK_PATH environment variable pointing to it.

  5. Configure settings:

    1. If you use ESP8266 with 4MB of flash (32m bit), then you're fine. If you have 1MB chip, you need to set following environment variables:
    export FLASH_SIZE=8
    export HOMEKIT_SPI_FLASH_BASE_ADDR=0x7a000
    1. If you're debugging stuff, or have troubles and want to file issue and attach log, please enable DEBUG output:
    export HOMEKIT_DEBUG=1
    1. Depending on your device, it might be required to change the flash mode:
    export FLASH_MODE=dout

    (see issue #80)

  6. Build example:

make -C examples/led all
  1. Set ESPPORT environment variable pointing to USB device your ESP8266 is attached to (assuming your device is at /dev/tty.SLAB_USBtoUART):
export ESPPORT=/dev/tty.SLAB_USBtoUART
  1. To prevent any effects from previous firmware (e.g. firmware crashing right at start), highly recommend to erase flash:
    make -C examples/led erase_flash
  1. Upload firmware to ESP:
    make -C examples/led test

or

    make -C examples/led flash
    make -C examples/led monitor

ESP32

  1. Initialize and sync all submodules (recursively):
git submodule update --init --recursive
  1. Copy wifi.h.sample -> wifi.h and edit it with correct WiFi SSID and password.

  2. Install esp-idf by following instructions on esp-idf project page. At the end you should have xtensa-esp32-elf toolchain in your path and IDF_PATH environment variable pointing to esp-idf directory.

  3. Configure project:

make -C examples/esp32/led menuconfig

There are many settings there, but at least you should configure "Serial flasher config -> Default serial port". Also, check "Components -> HomeKit" menu section.

  1. Build example:
make -C examples/esp32/led all
  1. To prevent any effects from previous firmware (e.g. firmware crashing right at start), highly recommend to erase flash:
    make -C examples/led erase_flash
  1. Upload firmware to ESP32:
    make -C examples/led flash
    make -C examples/led monitor

esp-homekit-demo's People

Contributors

maximkulkin avatar renssies avatar pcsaito avatar dbsqp avatar mommocmoc avatar dave1001 avatar homeaccessorykid avatar jlusiardi 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.