A Tessel powered RFID doorlock for the space, interfacing with Cobot
Go to file
2018-08-12 14:33:29 -07:00
public Style tweaks 2018-07-10 16:31:03 -07:00
scripts Add some helper scripts 2018-08-12 14:19:31 -07:00
src Update error message 2018-08-12 14:19:43 -07:00
.editorconfig A happy beginning 🚪🔒 2018-03-03 13:28:55 -08:00
.env.example Update .env.example 2018-08-12 13:52:00 -07:00
.eslintignore A happy beginning 🚪🔒 2018-03-03 13:28:55 -08:00
.eslintrc.yml Add start of doorlock server 2018-07-10 14:47:07 -07:00
.gitignore Add start of doorlock server 2018-07-10 14:47:07 -07:00
.npmrc A happy beginning 🚪🔒 2018-03-03 13:28:55 -08:00
.nvmrc Add start of doorlock server 2018-07-10 14:47:07 -07:00
.prettierignore A happy beginning 🚪🔒 2018-03-03 13:28:55 -08:00
.prettierrc A happy beginning 🚪🔒 2018-03-03 13:28:55 -08:00
cobot.js Simplify code, get scanning working 2018-06-16 20:37:46 -07:00
cobot.test.js Simplify code, get scanning working 2018-06-16 20:37:46 -07:00
constants.js Cleanup constants 2018-08-12 13:51:14 -07:00
doorlock.js Fetch cards from Cobot, log access 2018-07-10 16:25:05 -07:00
doorlock.test.js Simplify code, get scanning working 2018-06-16 20:37:46 -07:00
jest.config.js A happy beginning 🚪🔒 2018-03-03 13:28:55 -08:00
nexudus.js Simplify code, get scanning working 2018-06-16 20:37:46 -07:00
nodemon.json Ignore .json files in nodemon 2018-08-12 13:51:48 -07:00
package-lock.json Install doorlock libraries 2018-08-12 13:51:32 -07:00
package.json Install doorlock libraries 2018-08-12 13:51:32 -07:00
readme.md Update docs 2018-08-12 14:33:29 -07:00

Chimera Doorlock

Overview

  • Cards are synced with Cobot
  • Cards are stored in cards.json in the root of the project (should be ~/doorlock/cards.json on the RaspberryPi)
  • Logs are stored in logs.json in the root of the project (should be ~/doorlock/logs.json on the RaspberryPi)

TODO

  • Update list of cards every few minutes
  • Push up logs/checkins to management app
  • Get working with Nexedus
  • Handle error message

Configuring Raspberry Pi

On the RPI:

# Change to "sudo" user
sudo su

# Install nvm
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash

# Install forever
npm i -g forever

# Clone the project and install dependencies
cd ~
git clone https://github.com/chimera/doorlock.git
cd doorlock
nvm install
nvm use
npm install

# Setup environment variables
cp .env.example .env
vi .env
# Add missing environment variables

# Start app
forever start src/server.js

Follow the install from source guide for node-hid becuase there is no pre-built binary for RaspberryPi

npm install -g node-gyp
apt install build-essential git libudev-dev gcc-4.8 g++-4.8 libusb-1.0-0 libusb-1.0-0-dev
export CXX=g++-4.8
npm install node-hid --build-from-source

You should now be able to view the app at

Place this at the bottom of your ~/.bashrc file:

alias node='$NVM_BIN/node'
forever start ~/doorlock/src/server.js
chromium-browser --kiosk localhost:3000

Further reading

Contributing

Contributions welcome!

Want to contribute? Submit a Pull Request with your changes!

Using this in your own project? Let us know by creating an issue in Github!

Credits

Developed by Dana Woodman © 2018.

License

MIT