การผนวกโซลูชันควบคุมการเข้าถึงด้วย QR code ของ emrine.com บน Arduino โดยใช้จอ ST7735 1.44" TFT และปุ่มกดเมมเบรน 4x4
emrine.com เป็นโซลูชันควบคุมการเข้าถึงด้วย QR code คุณสามารถใช้มันเพื่อควบคุมการเข้าถึงล็อกหรืออุปกรณ์อิเล็กทรอนิกส์ใดๆ ที่มีหน้าจอและสามารถรับอินพุตจากผู้ใช้ได้


ขั้นตอนการทำงานของผู้ใช้
ขั้นตอนมีดังนี้ :
- การเข้าถึงถูกปฏิเสธ ผู้ใช้กด "#"
- QR code จะแสดงบนหน้าจอ
- ผู้ใช้สแกน QR code และจะถูกนำไปยัง emrine.com ซึ่งจะมีรหัสแสดงอยู่
- ผู้ใช้ป้อนรหัสโดยใช้ keypad และกด "#"
- รหัสจะถูกตรวจสอบบนอุปกรณ์ การเข้าถึงจะได้รับอนุญาตหากรหัสถูกต้อง
โค้ด
ดาวน์โหลด sketch ได้จาก GitHub repository นี้
ฮาร์ดแวร์
สำหรับโปรเจกต์สาธิตนี้ ฮาร์ดแวร์ที่จำเป็นมีดังนี้ :
- จอ Adafruit 1.44" Color TFT LCD Display ST7735 (link) หรือบอร์ด breakout LCD ST7735 ใดๆ ที่เข้ากันได้กับ Adafruit-ST7735-Library
- keypad เมมเบรน 4x4 หรือ 3x4 (link)
- Arduino UNO หรือ Arduino mini
หากคุณกำลังใช้บอร์ด breakout ขนาด 1.8" คุณต้องอัปเดตส่วนการเริ่มต้น LCD เป็น tft.initR(INITR_BLACKTAB); ตรวจสอบตัวอย่างไลบรารี st7735 หากใช้จอ LCD ที่แตกต่างกัน
หากคุณกำลังใช้ keypad 3x4 ให้อัปเดต COLUMN_NUM,keys และ pin_column ให้เหมาะสม
รัน sketch
เปิด sketch.ino ใน Arduino IDE
ติดตั้งไลบรารีที่จำเป็น :
- ใน "Library Manager" พิมพ์ "keypad" ในช่องค้นหาและติดตั้ง "Keypad by Mark Stanley, Alexander Brevig"
- ใน "Library Manager" พิมพ์ "st7735" ในช่องค้นหาและติดตั้ง "Adafruit ST7735 and ST7789 library"
- ใน "Library Manager" พิมพ์ "QRCode" ในช่องค้นหาและติดตั้ง "QRCode by Richard Moore"
อัปเดต Device ID และ keys
บน https://emrine.com ให้เข้าสู่ระบบและสร้างอุปกรณ์ใหม่
- อัปเดต
EMRINE_DEVICE_IDตามDevice_IDของคุณเอง

- อัปเดต
EMRINE_KEYAและEMRINE_KEYBตามค่าkeyAและkeyBตามลำดับ

ส่วนเริ่มต้นของ sketch ของคุณจะมีลักษณะดังนี้ :
#define EMRINE_DEVICE_ID "AIsPkdwm1weM9CSvQiDR"
#define EMRINE_KEYA 9746
#define EMRINE_KEYB 17869ตอนนี้คุณสามารถอัปโหลด sketch ไปยังอุปกรณ์ของคุณได้แล้ว
ไลบรารีที่จำเป็น
- Adafruit-ST7735-Library: ไลบรารีสำหรับขับเคลื่อนจอแสดงผล ST7735
- QRCode: ไลบรารีสำหรับสร้าง QR code
- Keypad: ไลบรารีสำหรับรับเหตุการณ์จาก keypad
สัญญาอนุญาต
โปรเจกต์นี้เผยแพร่ภายใต้สัญญาอนุญาต Unlicense license
### รายละเอียดทางเทคนิคเพิ่มเติม #### บริการแพลตฟอร์ม Web-to-Hardware โปรเจกต์นี้เชื่อมต่อแพลตฟอร์ม **emrine.com** เข้ากับฮาร์ดแวร์ Arduino ในพื้นที่ ช่วยให้สามารถจัดการและตรวจจับระยะไกลผ่านเว็บอินเทอร์เฟซแบบครบวงจรได้ - **กระบวนการยืนยันตัวตนด้วย Token**: Arduino (**ESP8266**) ลงทะเบียนกับ emrine.com โดยใช้ API token ที่ไม่ซ้ำกัน และใช้ WebSocket หรือ MQTT tunnel ที่ปลอดภัยเพื่อส่งข้อมูลเซ็นเซอร์แบบเรียลไทม์และรับคำสั่ง "Action" - **โหนดเซ็นเซอร์ที่ปรับขนาดได้**: ออกแบบมาเพื่อรองรับอินพุตพร้อมกันหลายสิบรายการ (เช่น ความชื้นในดิน, ระดับแสง, สวิตช์ความปลอดภัย) ซึ่งทั้งหมดสามารถเข้าถึงและควบคุมได้ผ่าน emrine.com cloud dashboard จากอุปกรณ์มือถือใดๆความน่าเชื่อถือ
- บันทึกการเชื่อมต่อแบบถาวร: เก็บรักษาบันทึกภายในของ "ความแรงของการเชื่อมโยง" (Link Strength) และ "ระยะเวลาทำงาน" (Uptime) ซึ่งช่วยให้การแก้ไขปัญหาการติดตั้ง IoT ระยะไกลทำได้ง่ายขึ้น