คู่มือการติดตั้งและการทดสอบใช้งานแบบละเอียด

ขั้นตอนการติดตั้งและทดสอบ Smart Card Agent

คู่มือแนะนำทีละขั้นตอน (Step-by-Step) จำนวน 32 ขั้นตอน พร้อมภาพประกอบจริงบนอุปกรณ์ Android ตั้งแต่การดาวน์โหลดไฟล์ APK, การปลดล็อกสิทธิ์ความปลอดภัย, การลงทะเบียน License, การเชื่อมต่อเครื่องอ่านบัตร ตลอดจนการทดสอบเชื่อมต่ออ่านบัตรประชาชนจริงผ่าน Deep Link และ HTTP REST API

ข้อมูลประกอบสำหรับการทดสอบระบบ
Web Application ทดสอบระบบ (Demo):
Deep Link Callback URL สำหรับทดสอบ:
https://smartcardagent.naipon.dev/idcard/callback

💡 หมายเหตุ: Deep Link Callback URL ไม่จำเป็นต้องตั้งค่าก็ได้ หากไม่ได้ใช้งาน หรือใช้งานระบบเชื่อมต่อผ่านโหมด Web HTTP REST API

หมวดที่ 1: การดาวน์โหลดและติดตั้งแอปพลิเคชัน

ขั้นตอนที่ 01 – 08: การดาวน์โหลดไฟล์ APK บน Android และการอนุญาตติดตั้งแอปจากแหล่งภายนอก

ขั้นตอนที่ 01

เข้าสู่หน้าดาวน์โหลดไฟล์ติดตั้ง APK

เปิดเบราว์เซอร์ Google Chrome บนอุปกรณ์ Android เข้าสู่หน้าเว็บไซต์ดาวน์โหลด จากนั้นแตะที่ปุ่มสีน้ำเงิน "ดาวน์โหลด APK สำหรับ Android"

ขั้นตอนที่ 01: หน้าดาวน์โหลด APK 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 02

ยืนยันการดาวน์โหลดไฟล์ผ่านเบราว์เซอร์

เบราว์เซอร์จะแสดงหน้าต่างยืนยัน "ดาวน์โหลดจากเว็บไซต์นี้ไหม ตรวจสอบว่าคุณเชื่อถือ r2.naipon.dev ได้" ให้กดปุ่ม "ดาวน์โหลด"

ขั้นตอนที่ 02: หน้าต่างยืนยันการดาวน์โหลด 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 03

เปิดไฟล์ติดตั้งหลังจากดาวน์โหลดเสร็จสิ้น

เมื่อดาวน์โหลดไฟล์เรียบร้อย แถบแจ้งเตือนด้านบนจะแสดงข้อความ "การดาวน์โหลด 1 รายการเสร็จสมบูรณ์ (smartcard_agent.apk)" ให้กดปุ่ม "เปิด" (Open)

ขั้นตอนที่ 03: แจ้งเตือนดาวน์โหลดเสร็จสิ้น 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 04

เลือกโปรแกรมสำหรับติดตั้งแพ็กเกจ

ในหน้าต่างระบบ "เปิดด้วย" ให้แตะเลือก "โปรแกรมติดตั้งแพ็กเกจ" (Package Installer) จากนั้นเลือกแตะ "เฉพาะครั้งนี้"

ขั้นตอนที่ 04: ตัวเลือก Package Installer 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 05

เข้าสู่หน้าการตั้งค่าความปลอดภัย Android

เนื่องจากเป็นการติดตั้งไฟล์ภายนอก Google Play ระบบจะแจ้งเตือนความปลอดภัย "โทรศัพท์ของคุณไม่ได้รับอนุญาตให้ติดตั้งแอปที่ไม่รู้จักจากแหล่งที่มานี้" ให้แตะ "การตั้งค่า" (Settings)

ขั้นตอนที่ 05: แจ้งเตือนสิทธิ์การติดตั้ง Chrome 🔍 แตะเพื่อดูภาพเต็ม
⚠️ มาตรฐานความปลอดภัย Android: เป็นขั้นตอนปกติสำหรับการติดตั้งไฟล์ .apk นอก Play Store
ขั้นตอนที่ 06

เปิดสวิตช์ให้การอนุญาต Chrome และกดติดตั้ง

ในหน้า "ติดตั้งแอปที่ไม่รู้จัก" ให้แตะเปิดสวิตช์ "ให้การอนุญาต" สำหรับ Chrome จากนั้นหน้าต่างระบบจะถามยืนยัน ให้กดปุ่ม "ติดตั้ง" (Install)

ขั้นตอนที่ 06: ให้การอนุญาตและกดติดตั้ง 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 07

ยืนยันการติดตั้งหากมีกล่องแจ้งเตือนความปลอดภัย

หากระบบ Android หรือระบบความปลอดภัยของตัวเครื่องแสดงหน้าต่าง "ไม่แนะนำให้ติดตั้งแอปนี้" ให้แตะเลือกที่ปุ่ม "ติดตั้งอยู่ดี" (Install anyway) เพื่อดำเนินการต่อ

ขั้นตอนที่ 07: ยืนยันการติดตั้งอยู่ดี 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 08

การติดตั้งสำเร็จและเริ่มเปิดแอปพลิเคชัน

เมื่อระบบดำเนินการเสร็จสมบูรณ์ จะแสดงข้อความ "ติดตั้งแอปแล้ว" ให้แตะปุ่ม "เปิด" (Open) เพื่อเข้าสู่แอป Thai ID Smart Card Agent

ขั้นตอนที่ 08: ติดตั้งเสร็จสมบูรณ์ 🔍 แตะเพื่อดูภาพเต็ม
พร้อมใช้งาน: ไอคอนแอป Smart Card Agent จะปรากฏบนหน้าจอหลักของแท็บเล็ตแล้ว

หมวดที่ 2: การเปิดใช้งาน License และการทดสอบเครื่องอ่าน

ขั้นตอนที่ 09 – 15: ลงทะเบียน License Key 16 หลัก, เสียบเครื่องอ่าน USB และทดสอบอ่านบัตร (Test Read)

ขั้นตอนที่ 09

เข้าสู่เมนูข้อมูลระบบและใบอนุญาต (License)

เมื่อเปิดแอป Smart Card Agent ขึ้นมา ให้สังเกตที่แถบเมนูด้านบนขวา แล้วแตะที่ไอคอนข้อมูล (ℹ️ Info) เพื่อเข้าสู่หน้าจัดการ License

ขั้นตอนที่ 09: แตะไอคอน Info 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 10

กรอกรหัส License Key 16 ตัวอักษร

ในหน้าต่าง "About & Licensing" ในช่อง License Key (16 Characters) ให้กรอกรหัสใบอนุญาตที่ได้รับ (เช่น 1234-5678-90AB-CDEF) แล้วกดปุ่ม "Activate License"

ขั้นตอนที่ 10: กรอก License Key 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 11

ยืนยันการเปิดใช้งาน License สำเร็จ

ระบบจะตรวจสอบและแสดงกล่องข้อความ "เปิดใช้งานสำเร็จ License ได้รับการเปิดใช้งานและเริ่มระบบบริการ Smart Card Agent บนอุปกรณ์นี้เรียบร้อยแล้ว" ให้แตะปุ่ม "OK"

ขั้นตอนที่ 11: แจ้งเตือนเปิดใช้งานสำเร็จ 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 12

ตรวจสอบฟีเจอร์และสถานะ License Active

หน้าต่างจะแสดงสถานะสีเขียว "License Active (เปิดใช้งานแล้ว)" พร้อมรายการฟีเจอร์ที่เปิดใช้งาน ได้แก่ DEEP_LINK, HTTP, HTTPS ให้กดปุ่ม "Close" เพื่อปิดหน้าต่าง

ขั้นตอนที่ 12: สถานะ License Active 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 13

เสียบเครื่องอ่าน USB และอนุญาตสิทธิ์เข้าถึงอุปกรณ์

นำเครื่องอ่านบัตร (USB CCID เช่น SCM SCR3310) เสียบเข้าช่อง USB/OTG ของแท็บเล็ต เมื่อมีป๊อปอัปถามสิทธิ์ ให้ติ๊กเลือก "เปิด Smart Card Agent ทุกครั้งเมื่อเชื่อมต่อกับ..." แล้วกดปุ่ม "ตกลง"

ขั้นตอนที่ 13: ขอสิทธิ์ USB Smart Card Reader 🔍 แตะเพื่อดูภาพเต็ม
💡 แนะนำ: การติ๊ก "เปิดทุกครั้ง" จะช่วยให้เวลาเสียบเครื่องอ่าน แอปจะเริ่มทำงานและตรวจพบฮาร์ดแวร์โดยอัตโนมัติ
ขั้นตอนที่ 14

เสียบบัตรประชาชนและกดปุ่ม Test Read

ตรวจสอบว่าหน้าจอแสดงเครื่องอ่านบัตรเชื่อมต่อแล้ว จากนั้นเสียบบัตรประชาชนเข้าไปในเครื่องอ่าน ระบบจะแสดงสถานะ "Card Inserted (INSERTED)" ให้กดปุ่ม "Test Read"

ขั้นตอนที่ 14: กด Test Read บนหน้าจอแอป 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 15

ตรวจสอบผลการทดสอบอ่านข้อมูลและรูปถ่าย

หน้าต่าง "Thai National ID Card" จะแสดงผลข้อมูลที่อ่านได้จากชิปการ์ดจริง เช่น เลขประจำตัวประชาชน, ชื่อ-นามสกุล, วันเกิด, ที่อยู่ และรูปถ่ายใบหน้าความละเอียดสูง เมื่อตรวจสอบเสร็จให้กด "Close"

ขั้นตอนที่ 15: ผลลัพธ์การทดสอบอ่านบัตร 🔍 แตะเพื่อดูภาพเต็ม
🛡️ Zero Storage: ข้อมูลที่อ่านขึ้นมาแสดงเฉพาะบนหน้าจอชั่วคราว ไม่มีการบันทึกลงในเครื่อง สอดคล้องตามข้อกำหนด PDPA

หมวดที่ 3: การตั้งค่าระบบ (Agent Configuration)

ขั้นตอนที่ 16 – 18: การเปลี่ยนชื่อจุดบริการ (Agent Name) และการกำหนด Deep Link Callback URL

ขั้นตอนที่ 16

เปิดหน้าต่างการตั้งค่าระบบ (Settings)

ที่แถบเมนูด้านบนของแอป แตะที่ไอคอนรูปฟันเฟือง (⚙️ Settings) เพื่อเปิดหน้าต่าง "Agent Configuration"

ขั้นตอนที่ 16: หน้าต่าง Agent Configuration 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 17

ตั้งชื่อ Agent และกำหนด Callback URL

1. Agent Name: เปลี่ยนชื่อเป็นจุดบริการของท่าน เช่น Outpatient Kiosk 1
2. Deep Link Callback URL: กรอก URL สำหรับทดสอบ https://smartcardagent.naipon.dev/idcard/callback
3. กดปุ่ม "Save" เพื่อบันทึกค่า

ขั้นตอนที่ 17: ตั้งค่า Agent Name และ Deep Link 🔍 แตะเพื่อดูภาพเต็ม
💡 ข้อแนะนำ: Deep Link Callback URL ไม่จำเป็นต้องตั้งค่าก็ได้ หากท่านไม่ได้ใช้งาน หรือใช้โหมด HTTP REST API เป็นหลัก
ขั้นตอนที่ 18

ตรวจสอบชื่อ Agent บนหน้าจอหลัก

เมื่อบันทึกแล้ว หน้าหลักจะแสดงชื่อใหม่ในส่วน Agent Service ทันที เช่น ID: 019881c8bf1a0684 (Outpatient Kiosk 1) พร้อมรองรับการเชื่อมต่อจากภายนอก

ขั้นตอนที่ 18: ตรวจสอบชื่อ Agent ที่อัปเดตแล้ว 🔍 แตะเพื่อดูภาพเต็ม

หมวดที่ 4: การทดสอบเชื่อมต่อแบบ Mode 1: Deep Link

ขั้นตอนที่ 19 – 21: การสั่งเปิดแอปผ่าน URL Scheme บนเว็บ และการรับข้อมูลกลับผ่าน Server-Sent Events (SSE)

ขั้นตอนที่ 19

เปิดหน้าเว็บทดสอบและสร้างคำขออ่านบัตร (New Request)

เปิดเบราว์เซอร์เข้าสู่ smartcardagent.naipon.dev เลือกแท็บ "Mode 1: Deep Link" ติ๊กถูกที่ช่อง "ดึงรูปถ่ายด้วย (Photo)" แล้วกดปุ่ม "เริ่มต้นขออ่านบัตร (New Request)"

ขั้นตอนที่ 19: เว็บทดสอบ Deep Link 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 20

แตะปุ่มเพื่อเปิดแอปพลิเคชัน (บนเครื่องเดียวกัน)

หน้าเว็บจะสร้างเซสชันคำขออ่านบัตร ให้แตะปุ่มสีเขียว "แตะเพื่อเปิดแอป (บนเครื่องเดียวกัน)" (URL Scheme: smartcard-agent://read?...) เบราว์เซอร์จะสลับเปิดเข้าแอป Smart Card Agent เพื่อเริ่มอ่านบัตรทันที

ขั้นตอนที่ 20: ลิงก์ Deep Link และ QR Code 🔍 แตะเพื่อดูภาพเต็ม
📱 กรณีแยกเครื่อง: หากเปิดหน้าเว็บจาก PC หรือโน้ตบุ๊ก สามารถใช้แท็บเล็ตสแกน QR Code บนหน้าจอแทนการกดปุ่มได้
ขั้นตอนที่ 21

รับผลลัพธ์ข้อมูลและรูปถ่ายผ่าน Deep Link (SSE)

เมื่อแอปพลิเคชันอ่านข้อมูลจากบัตรประชาชนเสร็จสิ้น ข้อมูลและรูปถ่ายจะถูกส่งกลับมาแสดงผลบนหน้าเว็บทันที แสดงสถานะสีเขียว "ได้รับข้อมูลบัตรเรียบร้อยแล้ว (Deep Link (SSE))" พร้อมข้อมูลหน้าบัตรครบถ้วน

ขั้นตอนที่ 21: ผลลัพธ์ข้อมูลบัตรผ่าน Deep Link 🔍 แตะเพื่อดูภาพเต็ม
รวดเร็วและปลอดภัย: ข้อมูลหน้าบัตรและรูปถ่ายจะถูกส่งแบบ Real-time ตรงสู่เบราว์เซอร์ทันที โดยไม่มีการบันทึกข้อมูลส่วนบุคคล (PII เช่น เลขบัตรประชาชน, ชื่อ-ที่อยู่, ภาพถ่ายใบหน้า) เก็บไว้ในเครื่อง จึงมั่นใจได้ในความปลอดภัยและสอดคล้องตามกฎหมาย PDPA

หมวดที่ 5: การทดสอบเชื่อมต่อแบบ Mode 2: HTTP REST API & Pairing PIN

ขั้นตอนที่ 22 – 32: การเชื่อมต่อผ่าน Local IP, การยืนยันรหัส PIN 8 หลักเพื่อความปลอดภัย และการสั่งอ่านบัตรผ่าน API

ขั้นตอนที่ 22

เลือกแท็บ Mode 2: Web HTTP Agent และเลือก Direct Agent

บนหน้าเว็บทดสอบ ให้แตะเลือกแท็บ "Mode 2: Web HTTP Agent" จากนั้นในส่วนรูปแบบการเรียก API ให้เลือกตัวเลือก "Direct Agent (ยิงตรงเข้า Agent)"

ขั้นตอนที่ 22: สลับมายัง Mode 2 Web HTTP 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 23

ระบุ Agent Endpoint URL และตรวจสอบการเชื่อมต่อ

กรอก Agent Endpoint URL เป็น IP และ Port ของแท็บเล็ต เช่น http://192.168.31.35:8765 (หรือสามารถใช้ http://localhost:8765 ได้หากเปิดหน้าเว็บทดสอบบนอุปกรณ์เครื่องเดียวกัน) จากนั้นกดปุ่ม "ตรวจสอบการเชื่อมต่อ (Check Agent)" เมื่อพบระบบจะแสดงเครื่องหมายถูกสีเขียว "พบ Agent: Outpatient Kiosk 1"

ขั้นตอนที่ 23: ตรวจสอบการเชื่อมต่อ Agent สำเร็จ 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 24

กดขอรหัสจับคู่ความปลอดภัย (Request Pairing PIN)

เลื่อนลงมาที่ขั้นตอนที่ 2 "จับคู่ความปลอดภัย (Pairing)" ให้กดปุ่มสีน้ำเงิน "ขอรหัสจับคู่ (Request Pairing PIN)" เพื่อส่งคำขอรับรหัส PIN ยืนยันสิทธิ์ไปยังหน้าจอแท็บเล็ต

ขั้นตอนที่ 24: กดขอรหัสจับคู่ PIN 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 25

หน้าเว็บเข้าสู่สถานะรอรับรหัส PIN 8 หลัก

หน้าเว็บจะแสดงเลขอ้างอิงคำขอ พร้อมเวลานับถอยหลัง 2 นาที และช่องสำหรับ "กรอก PIN 8 หลัก (จากหน้าจอแท็บเล็ต)"

ขั้นตอนที่ 25: รอรับรหัส PIN 8 หลัก 🔍 แตะเพื่อดูภาพเต็ม
⏱️ การนับเวลาถอยหลัง: รหัส PIN จะมีอายุ 2 นาที เพื่อความปลอดภัยสูงสุด หากหมดเวลาต้องกดขอรหัสใหม่อีกครั้ง
ขั้นตอนที่ 26

ดูรหัส Pairing PIN 8 หลักบนหน้าจอแท็บเล็ต

บนหน้าจอแอป Smart Card Agent ของแท็บเล็ต จะมีหน้าต่างป๊อปอัป "New Pairing Request" แสดงชื่อ Web Client, IP ที่ขอเชื่อมต่อ และรหัสตัวเลข 8 หลัก (เช่น 6549 5609)

ขั้นตอนที่ 26: หน้าต่าง New Pairing Request บนแท็บเล็ต 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 27

นำรหัส PIN มากรอกบนหน้าเว็บและกดยืนยัน

นำรหัส PIN 8 หลักที่เห็นบนแท็บเล็ตมากรอกลงในช่องบนหน้าเว็บให้ครบถ้วน (ตัวอย่าง: 65495609) จากนั้นกดปุ่มสีเขียว "ยืนยันรหัส PIN"

ขั้นตอนที่ 27: ยืนยันรหัส PIN บนหน้าเว็บ 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 28

จับคู่ความปลอดภัยสำเร็จและได้รับ Token

หน้าเว็บจะแสดงสถานะ "จับคู่สำเร็จ (Authenticated)" พร้อมได้รับ Access Token เรียบร้อย และปลดล็อกขั้นตอนที่ 3 "สั่งอ่านบัตรประชาชน (Card Operations)" พร้อมใช้งานทันที

ขั้นตอนที่ 28: จับคู่ความปลอดภัยสำเร็จ 🔍 แตะเพื่อดูภาพเต็ม
🔒 ระบบ Access Token: การสื่อสารระหว่างหน้าเว็บและ Agent จะถูกป้องกันด้วย Token ที่ได้รับอนุญาตเท่านั้น ป้องกันการสั่งอ่านบัตรจากอุปกรณ์แปลกปลอม
ขั้นตอนที่ 29

ตรวจสอบสถานะ Web Client Session ในแอปแท็บเล็ต

สลับกลับมาดูที่หน้าจอแท็บเล็ต ในการ์ด Web Client Session จะอัปเดตเป็น "1 Client Paired (1 active session authorized)" โดยสามารถแตะปุ่ม "Manage" เพื่อจัดการเซสชันได้

ขั้นตอนที่ 29: สถานะ 1 Client Paired ในแอป 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 30

หน้าต่างจัดการ Paired Web Clients

หน้าต่าง "Paired Web Clients" จะแสดงรายชื่อเว็บแอปพลิเคชันที่จับคู่ไว้ พร้อม IP Address และวันเวลาที่เชื่อมต่อ ผู้ดูแลระบบสามารถกดปุ่ม "Revoke" เพื่อเพิกถอนสิทธิ์การอ่านบัตรได้ทันทีทุกเมื่อ จากนั้นแตะ "Close"

ขั้นตอนที่ 30: หน้าต่าง Paired Web Clients 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 31

สั่งอ่านบัตรประชาชนผ่าน REST API (POST /card/read)

กลับมาที่หน้าเว็บ ขั้นตอนที่ 3 "สั่งอ่านบัตรประชาชน" ตรวจสอบว่าเสียบบัตรประชาชนแล้ว ติ๊กถูกที่ช่อง "อ่านรูปถ่าย (Photo)" จากนั้นกดปุ่มสีน้ำเงิน "สั่งอ่านบัตรทันที (POST /card/read)"

ขั้นตอนที่ 31: กดสั่งอ่านบัตรผ่าน REST API 🔍 แตะเพื่อดูภาพเต็ม
ขั้นตอนที่ 32

รับผลลัพธ์ข้อมูลและรูปถ่ายผ่าน HTTP สำเร็จ 100%

หน้าเว็บจะแสดงสถานะสีเขียว "อ่านข้อมูลบัตรผ่าน HTTP สำเร็จ!" พร้อมแสดงรายละเอียดข้อมูลหน้าบัตรประชาชนและรูปถ่ายใบหน้าความละเอียดสูงอย่างสมบูรณ์แบบ ยืนยันการเชื่อมต่อและพร้อมนำไปใช้งานจริงในระบบงานต่างๆ

ขั้นตอนที่ 32: ผลลัพธ์ข้อมูลบัตรผ่าน HTTP REST API 🔍 แตะเพื่อดูภาพเต็ม
🎉 การทดสอบสำเร็จสมบูรณ์: รองรับการดึงผลลัพธ์ทั้งรูปแบบบัตรประชาชนแบบกราฟิก และรูปแบบ Raw JSON สำหรับนักพัฒนาซอฟต์แวร์