Git Product home page Git Product logo

oka4henry / esp32-homekit-camera Goto Github PK

View Code? Open in Web Editor NEW

This project forked from maximkulkin/esp32-homekit-camera

0.0 0.0 0.0 2.96 MB

Firmware for esp32-camera module to act as Apple Homekit IP camera

License: MIT License

Makefile 0.19% C 63.27% C++ 0.73% Roff 0.42% Shell 1.68% SAS 0.19% Smalltalk 0.02% WebAssembly 0.18% Assembly 15.53% HTML 0.12% Module Management System 0.18% Perl 0.57% Objective-C 0.12% Python 0.60% PHP 16.21%

esp32-homekit-camera's Introduction

esp32-homekit-camera

Firmware for esp32-camera module to act as Apple Homekit IP camera.

Based on esp-homekit.

Prerequisites

esp-idf

esp32-homekit-camera code

  • Clone this repository git clone https://github.com/maximkulkin/esp32-homekit-camera.git
  • Work out of this directory going forward cd esp32-homekit-camera
  • Initialize and sync all submodules (recursively) git submodule update --init --recursive

Configuration

Before compiling, you need to alter several settings in menuconfig. Make sure you save this file, as it will be used in the build section to configure ESP32-CAM as well as your network/Homekit settings.

  • Open the menuconfiguration with the command make menuconfig
  • Scroll through each section of the menu, and make these changes:
  • Serial flasher config
    • Default serial port
    • Flash size = 4 MB
  • Partition Table
    • Partition Table = Custom partition table CSV
    • Custom partition CSV file = partitions.csv
  • Component config
    • Driver configuration
      • RTCIO configuration
        • Support array rtc_gpio_desc for ESP32 = check
    • ESP32-specific
      • Support for external, SPI-connected RAM = check
      • SPI RAM config
        • Initialize SPI RAM during startup = check
        • SPI RAM access method = Make RAM allocatable using malloc() as well
    • Camera configuration
      • OV2640 Support = check
    • HomeKit
      • SPI flash address for storing HomeKit data = 0x3A0000
  • ESP32 HomeKit Camera
    • WiFi SSID
    • WiFi Password
    • Select Camera Pinout
      • Select Camera Pinout = your variant of module
    • LED Pin
      • PIN = your variant of module
        • ESP32-CAM by AI-Thinker == 33
    • Image sensor vertical flip (optional)
      • Toggle if HomeKit app has video feed upside down
    • Image sensor horizontal mirror (optional)
      • Toggle if HomeKit app has video feed mirrored
    • Image sensor enhance settings (optional)
      • EXPERIMENTAL: adjusts contrast, saturation, etc for better image quality
    • HomeKit Device Setup Code (optional)
    • HomeKit Device Manufacturer (optional)
    • HomeKit Device model name (optional)
    • HomeKit Device model number (optional)
    • HomeKit Device Serial number (optional)
    • HomeKit Device Firmware version (optional)

Build instructions ESP32

  1. Make sure you have followed the Configuration changes above
  2. Apply esp32-camera.patch patch:
    • git apply --directory="components/esp32-camera" esp32-camera.patch
    • This is only required once.
  3. Compile code make all
  4. To prevent any effects from previous firmware (e.g. firmware crashing right at start), highly recommend to erase flash:
    • make erase_flash
  5. Upload Upload firmware to ESP32
    • make flash monitor
    • Note, ESP32 GPIO0 pin needs to be connected to GND pin to enable flashing
    • To exit monitor, on mac control+]

Add camera to HomeKit app

  1. Open Home app
  2. Click + sign to add accessory
  3. On Add Accessory screen, click I Don't Have a Code or Cannot Scan button
  4. The ESP camera accessory should be shown, click the icon
  5. On Uncertified Accessory prompt, select Add Anyway
  6. On Enter HomeKit Setup Code, enter setup code
    • Default is 111-11-111
    • Found in the HomeKit Configuration section above
  7. Click Continue button
  8. Select camera location, continue
  9. Enter camera name, continue
  10. Click Done
  11. Camera ready to use

Troubleshooting

While not HomeKit specific, good amount of troubleshooting information for flashing ESP32 devices can be found at https://randomnerdtutorials.com/esp32-cam-troubleshooting-guide/

Other

Device runs a webserver on HTTP port 5556

esp32-homekit-camera's People

Contributors

florianrehm avatar hire-vladimir avatar jangolen avatar maximkulkin 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.