กลับไปหน้ารวมไฟล์
emrinecom-on-arduino-7e2d90-en.md

Integration of emrine.com QR code-based access control solution on Arduino using an ST7735 1.44" TFT screen and a 4x4 membrane keypad.

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.

Arduino UNO
Arduino Mini

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 screens

If 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 Device ID and keys

On https://emrine.com, login and create a new device

  • update EMRINE_DEVICE_ID according to your own Device_ID
replace the value of EMRINE_DEVICE_ID
  • update EMRINE_KEYA and EMRINE_KEYB respectively to keyA and keyB values
update EMRINE_KEYA and EMRINE_KEYB values

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

License

This project is released under the Unlicense license

EXPANDED TECHNICAL DETAILS

Web-to-Hardware Platform Services

This project bridges the emrine.com platform with local Arduino hardware, enabling remote management and remote sensing via a unified web interface.

  • Token-Based Auth Pipeline: The Arduino (ESP8266) registers itself with emrine.com using a unique API token. It uses a secure WebSocket or MQTT tunnel to send real-time sensor streams and receive "Action" commands.
  • Scalable Sensor Nodes: Designed to handle dozens of concurrent inputs (e.g., soil moisture, light levels, security switches), all accessible and controllable through the emrine.com cloud dashboard from any mobile device.

Reliability

  • Persistent Connection Log: Keeps an internal log of the "Link Strength" and "Uptime," facilitating easy troubleshooting of remote IoT deployments.

ข้อมูล Frontmatter ดั้งเดิม

title: "emrine.com on Arduino"
description: "Secure your device with emrine.com QR code access control."
author: "bertrandmartel"
category: "Lab Stuff"
tags:
  - "security"
  - "internet of things"
views: 5878
likes: 2
price: 1999
difficulty: "Easy"
components:
  - "1x Premium Male/Male Jumper Wires, 40 x 3\" (75mm)"
  - "1x Breadboard, 270 Pin"
  - "1x Arduino UNO"
  - "1x Adafruit 1.44\" Color TFT LCD Display  breakout - ST7735R"
  - "1x 4x4 Membrane Keypad"
tools: []
apps:
  - "1x Arduino IDE"
downloadableFiles:
  - "https://github.com/bertrandmartel/emrine-arduino"
documentationLinks: []
passwordHash: "e79f04e224e8249dc5620f4444b95f662919b527ae863ae20141ec9d8958f809"
encryptedPayload: "U2FsdGVkX19WOViGDBWbQPrIkUkr0+v5SZWdCBjWLNQmQ5c6GwvK1Ua4s0VujYvDd1xYy3K71zJ9WlDheaI3df72M0hxqyDFDSsk4gl+4fs="
seoDescription: "Secure your Arduino devices with emrine.com QR code access control solution."
videoLinks:
  - "https://www.youtube.com/embed/QKLvgKy5jTE"
heroImage: "https://cdn.jsdelivr.net/gh/bigboxthailand/arduino-assets@main/images/projects/emrinecom-on-arduino-7e2d90_cover.jpg"
lang: "en"