open-keyless

module
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 27, 2021 License: MIT

README

Open Keyless

Build Status GoDoc

Open Keyless is a keyless entry system for contactless key cards. This project includes all of the necessary software, printed circuit board designs, 3D models, and documentation to build an RFID based badge reader and controller.

Note: this project is under development and has not yet been completed. Once a functioning version of this project exists, this message will be removed and the release will be added as a github release.

Installation

To install the latest release, run the following from your Raspberry Pi:

curl -LO https://github.com/betterengineering/open-keyless/releases/latest/download/install.sh | sudo bash

Documentation

The documentation for Open Keyless is kept in the repo! Checkout the Overview for a starting point.

Development

This project uses Go 1.11 modules! If you have Go 1.11 or later installed, no other project setup is necessary.

Testing

To run tests locally, run the following:

make test

To include integration tests, run the following:

make test-full
Mocks

This project uses Golang's mockgen tool to generate mocks for interfaces. To regenerate mocks, run the following:

make mocks
Libnfc

To develop locally, you will need libnfc installed. I would like to remove this as a dependency in the future, but alas, it is a dependency for now.

For MacOS, run the following:

brew install libnfc

For Debian based Linux distros, run the following:

apt-get install -y libnfc-dev

Directories

Path Synopsis
cmd
internal
mocks
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.
pkg
application
Package application provides common utilities to create open-keyless applications with.
Package application provides common utilities to create open-keyless applications with.
controller
Package controller provides the primary application logic for the Open Keyless controller module.
Package controller provides the primary application logic for the Open Keyless controller module.
datastore
Package datastore provides an interface and implementations for interacting with a badge datastore.
Package datastore provides an interface and implementations for interacting with a badge datastore.
scanner
Package scanner is used to communicate with an RFID badge scanners.
Package scanner is used to communicate with an RFID badge scanners.
strike
Package strike provides mechanisms to interface with an electric door strike via a Raspberry Pi GPIO interface.
Package strike provides mechanisms to interface with an electric door strike via a Raspberry Pi GPIO interface.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL