emrine.com is a QR Code based access control solution. You can use it to control access to a lock or any electronic devices equipped with a screen and that can receive user input.
Photos
User flow
The flow is the following :
- Access is denied, user press "#"
- QR code is shown on the screen
- User scans the QR code and is redirected to emrine.com where a code is displayed
- User enters the code using the keypad and press "#"
- Code is checked on the device. Access is granted if the code is verified
Code
Download the sketch from this Github repository
Hardware
For this demo project, the following harware is required :
- Adafruit 1.44" Color TFT LCD Display ST7735 (link) or any ST7735 lcd breakout compatible with Adafruit-ST7735-Library
- 4x4 or 3x4 membrane keypad (link)
- Arduino UNO or Arduino mini
If you are using the 1.8" breakout, you need to update the lcd initializing part to tft.initR(INITR_BLACKTAB);, check the st7735 library examples if using different LCD screensIf you are using a 3x4 keypad, update COLUMN_NUM,keys and pin_column accordingly.
Run the sketch
Open sketch.ino in Arduino IDE
Install the dependencies
- in "Library Manager", type "keypad" in search and install "Keypad by Mark Stanley, Alexander Brevig"
- in "Library Manager", type "st7735" in search and install "Adafruit ST7735 and ST7789 library"
- in "Library Manager", type "QRCode" in search and install "QRCode by Richard Moore"
Update the Device ID and keys
On https://emrine.com, login and create a new device
- update EMRINE_DEVICE_ID according to your own Device_ID
- update EMRINE_DEVICE_ID according to your own Device_ID
The beginning of your sketch will look like this :
#define EMRINE_DEVICE_ID "AIsPkdwm1weM9CSvQiDR" #define EMRINE_KEYA 9746 #define EMRINE_KEYB 17869
You can now upload the sketch to your device
Dependencies
- Adafruit-ST7735-Library: library for driving ST7735 display
- QRCode: library for generating QR code
- Keypad: library for getting keypad events
License
This project is released under the Unlicense license