SinHouse / virkey

Open your garage door with the smartphone

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Virkey

Virkey aims to be a professional access control device using Bluetooth Low Energy (BLE).

Official site: www.virkey.com

Use cases

  • Garage door opener.
  • Safe switch.
  • Clocking machine.

Main characteristics

  • Asymmetric encryption algorithm (libsodium)
  • Unlimited users per device.
  • Over-the-Air (OTA) firmware updates. The updates are transparent through users normal utilization. For example, when users open a garage door they send firmware chunks transparently. When all chunks are received, Virkey hardware switches to new firmware version. This feature is crucial to fix potential security or functionality flaws.
  • Supports complex time restriction rules.
  • Android and iOS app (they are free but not open-source right now).

Supported ESP32 boards

Flash your board with precompiled images

First you must install esptool.

Go to bin directory located in Virkey working directory. Run this command replacing COM_PORT with the correct com port and BOARD_XXX.bin with the correct board file.

esptool.py --chip esp32 --port COM_PORT --baud 115200 --before default_reset --after hard_reset write_flash -z --flash_mode dio --flash_freq 40m --flash_size detect 0x1000 bootloader.bin 0x10000 BOARD_XXX.bin 0x8000 partitions.bin

If you want erase full flash before flashing Virkey (YOU WILL LOSE PREVIOUS CONFIGURATIONS), run this command:

esptool.py --chip esp32 --port COM_PORT --baud 115200 erase_flash

Compile sources

Follow esp-idf install instructions.

Virkey uses version 3.0 of esp-idf. So you must checkout this branch on esp-idf working directory.

git checkout release/v3.0
git submodule update

If you want reproduce the same official binary, you must checkout esp-idf to commit referred in idfver file.

"master" branch points to last stable release. Development unstable code lives in "develop" branch.

Once esp-idf is installed, you must select the right board. On Virkey's working directory:

$ make menuconfig
--> Component config
    --> Virkey.com config
        --> Board

Compile and flash:

$ make -j4
$ make erase_flash
$ make flash

Execute make monitor after successful flash if you want see Virkey's debug output.

Using Virkey

After successful flash, launch Virkey APP and follow instructions to add your device to your account. You can also manage your account with the web manager here

About

Open your garage door with the smartphone

License:MIT License


Languages

Language:C 98.9%Language:C++ 0.4%Language:Makefile 0.4%Language:Shell 0.3%