# 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 解決方案