NFCcreate-web/linux64_release/README_PRODUCTION.md
2025-09-25 19:04:00 +08:00

251 lines
6.2 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# NTAG424 綜合管理工具 v2.0
專業級 NTAG424 卡片管理解決方案,整合生產操作與品質測試功能。
## 🔧 重要修正記錄
### v2.2 - 新增 HTTP API 服務 (2024-01-XX)
- **新增功能**: CMAC 驗證 HTTP API 服務
- 提供 RESTful API 介面,支援遠端 CMAC 驗證
- 無需讀卡機硬體,純軟體驗證
- 支援多金鑰、多執行緒、CORS
- 適用場景Web 應用、微服務、雲端部署
- 新增 API 文檔:`API_DOCUMENTATION.md`、`API_USAGE_GUIDE.md`
### v2.1 - 修正手動驗證模式 (2024-01-XX)
- **重要修正**: 手動驗證模式不再需要讀卡機
- 修正了手動驗證模式錯誤嘗試開啟讀卡機的問題
- 現在手動驗證完全基於軟體計算,支援離線驗證
- 適用場景:遠端驗證、批量驗證、測試環境、無硬體環境
- 新增專用測試腳本:`test_manual_verify.sh`
## 🚀 快速開始
```bash
# 啟動綜合管理工具
./ntag424_tool.sh
# 或直接使用 CLI 模式
./nt4h_c_example verify --key 1
./nt4h_c_example setsdm --url 1 --key 1
./nt4h_c_example getuid --key 1
```
## 📋 功能特色
### 🏭 **生產功能**
- **單卡操作模式**: 互動式單張卡片處理
- **批量操作模式**: 大量卡片自動化處理
- **質量檢測模式**: 完整的 6 項品質檢測
### 🌐 **API 服務**
- **HTTP API 服務**: RESTful CMAC 驗證 API
- **多平台支援**: Linux64、ARM64、ARM32
- **遠端驗證**: 無需讀卡機硬體的純軟體驗證
- **高併發支援**: 多執行緒處理,支援同時多個請求
### 🧪 **測試功能**
- **完整功能測試**: 21 項全面測試
- **新卡片處理測試**: 空白卡片處理流程
- **壓力測試**: 高頻操作穩定性測試
- **API 測試**: 自動化 API 功能測試
### 🔧 **工具功能**
- **操作日誌**: 自動記錄所有操作
- **操作報告**: 生成詳細的執行報告
- **系統狀態檢查**: 環境與設備狀態監控
## 💼 生產環境使用
### 批量卡片處理
```bash
# 啟動工具選擇 "2) 批量操作模式"
./ntag424_tool.sh
# 輸入參數:
# - 卡片數量: 100
# - 操作類型: setup (設定 SDM)
# - 靜默模式: y
```
### 質量檢測流程
```bash
# 啟動工具選擇 "3) 質量檢測模式"
./ntag424_tool.sh
# 自動執行 6 項檢測:
# 1. 讀卡機連接檢測
# 2. 卡片識別檢測
# 3. SDM 功能檢測
# 4. NDEF 格式檢測
# 5. MAC 驗證檢測
# 6. 手動驗證檢測
# 品質得分:
# 95%+ : 🏆 優秀品質
# 80%+ : ⚠️ 良好品質
# <80% : ❌ 品質不合格
```
## 🔄 CLI 自動化模式
### 基本操作
```bash
# 讀取 UID (安靜模式)
./nt4h_c_example getuid --quiet --key 1
# 設定 SDM (使用第1個URL和金鑰)
./nt4h_c_example setsdm --quiet --url 1 --key 1
# 驗證 CMAC (安靜模式)
./nt4h_c_example verify --quiet --key 1
# 手動驗證 (URL 模式)
./nt4h_c_example verify --manual --quiet --url "https://example.com/test?uid=...&ctr=...&cmac=..." --key 1
# 啟動 API 服務器
./cmac_api_server 8888
# API 驗證 (HTTP 請求)
curl "http://localhost:8888/verify?uid=0456735AD51F90&ctr=000028&cmac=222ED1BA962F7F5C&key=1"
```
### 高級操作
```bash
# 變更金鑰
./nt4h_c_example changekey --quiet --auth-key 1 --new-key 2 --old-key 1 --key-no 0
# 手動驗證 (參數模式)
./nt4h_c_example verify --manual --quiet --uid 0487715AD51F90 --ctr 000010 --cmac 8970E5C778F4234C --key 1
```
## 🌐 HTTP API 服務
### 快速開始
```bash
# 啟動 API 服務器
./cmac_api_server 8888
# 健康檢查
curl "http://localhost:8888/health"
# CMAC 驗證
curl "http://localhost:8888/verify?uid=0456735AD51F90&ctr=000028&cmac=222ED1BA962F7F5C&key=1"
```
### API 端點
- `GET /verify` - CMAC 驗證 (需要 uid, ctr, cmac, key 參數)
- `GET /health` - 健康檢查
- `GET /` - API 說明頁面
### 程式化呼叫範例
```javascript
// JavaScript 範例
const response = await fetch('http://localhost:8888/verify?uid=0456735AD51F90&ctr=000028&cmac=222ED1BA962F7F5C&key=1');
const result = await response.json();
console.log(result.success ? '✅ 驗證成功' : '❌ 驗證失敗');
```
### 詳細文檔
- `API_USAGE_GUIDE.md` - 簡潔使用說明
- `API_DOCUMENTATION.md` - 完整技術文檔
- `test_api.sh` - API 功能測試腳本
```
## 📁 配置檔案
### keys.txt
```
# AES 金鑰配置 (每行一個16進位金鑰)
00000000000000000000000000000000
11111111111111111111111111111111
22222222222222222222222222222222
...
```
### urls.txt
```
# URL 模板配置 (每行一個URL)
https://nodered.contree.app/test
https://example.com/nfc
https://myserver.com/verify
...
```
## 📊 監控與報告
### 即時監控
- 操作成功率統計
- 執行時間追蹤
- 錯誤詳細記錄
- 系統資源監控
### 自動報告
- 每次退出自動生成報告
- 包含操作統計與系統資訊
- 檔名格式: `ntag424_report_YYYYMMDD_HHMMSS.txt`
### 日誌系統
- 所有操作自動記錄到 `ntag424_operations.log`
- 時間戳記 + 操作類型 + 結果 + 詳細資訊
- 支援日誌查看與分析
## 🛠️ 新卡片處理
### 自動檢測
- 空白 NDEF 檔案自動識別
- 友善錯誤提示訊息
- 操作指引建議
### 處理流程
```bash
# 檢測新卡片時的建議流程:
1. ./nt4h_c_example setsdm --url 1 --key 1 # 先設定 SDM
2. ./nt4h_c_example verify --key 1 # 再進行驗證
```
## 🔧 故障排除
### 常見問題
1. **讀卡機未檢測到**
- 檢查 USB 連接
- 執行 `lsusb | grep uFR`
2. **NDEF 格式驗證失敗**
- 使用新卡片處理測試
- 先執行 SDM 設定
3. **MAC 驗證失敗**
- 檢查金鑰是否正確
- 確認 SDM 已正確設定
### 系統需求
- Linux 64-bit
- uFR 讀卡機驅動
- NTAG424 DNA 卡片
- bash 4.0+
## 📈 性能指標
### 基準測試
- 單次讀取 UID: ~200ms
- 單次 SDM 設定: ~500ms
- 單次 CMAC 驗證: ~300ms
- 批量處理: ~1秒/卡
### 建議使用場景
- **小批量 (<50張)**: 單卡操作模式
- **中批量 (50-200張)**: 批量操作模式
- **大批量 (>200張)**: CLI 自動化腳本
- **品質控制**: 質量檢測模式
## 📞 技術支援
如需技術支援或功能建議,請檢查:
1. 系統狀態 (工具選項 9)
2. 操作日誌 (工具選項 7)
3. 操作報告 (工具選項 8)
---
**NTAG424 綜合管理工具 v2.0** - 專業、可靠、高效的 NTAG424 解決方案