71 lines
2.2 KiB
Bash
71 lines
2.2 KiB
Bash
#!/bin/bash
|
|
|
|
# 新卡片處理測試腳本
|
|
# 用途: 測試全新卡片或清空的卡片處理邏輯
|
|
# 注意: 此腳本會修改卡片內容
|
|
|
|
set -e
|
|
|
|
# 顏色定義
|
|
RED='\033[0;31m'
|
|
GREEN='\033[0;32m'
|
|
YELLOW='\033[1;33m'
|
|
BLUE='\033[0;34m'
|
|
NC='\033[0m'
|
|
|
|
EXECUTABLE="./nt4h_c_example"
|
|
|
|
echo -e "${YELLOW}========================================${NC}"
|
|
echo -e "${YELLOW} 新卡片處理測試腳本${NC}"
|
|
echo -e "${YELLOW}========================================${NC}"
|
|
echo ""
|
|
|
|
echo -e "${BLUE}此腳本將展示如何處理全新的 NTAG424 卡片:${NC}"
|
|
echo "1. 檢測空白 NDEF 檔案"
|
|
echo "2. 提供適當的錯誤訊息"
|
|
echo "3. 指導用戶如何設定 SDM"
|
|
echo ""
|
|
|
|
echo -e "${RED}⚠️ 警告: 此測試需要手動操作,會修改卡片內容${NC}"
|
|
echo -e "${YELLOW}建議使用測試卡片,不要使用重要的卡片${NC}"
|
|
echo ""
|
|
|
|
read -p "按 Enter 繼續,或 Ctrl+C 取消..."
|
|
|
|
echo -e "${BLUE}步驟 1: 檢查當前卡片狀態${NC}"
|
|
echo "執行: $EXECUTABLE verify --key 1"
|
|
echo "----------------------------------------"
|
|
$EXECUTABLE verify --key 1 || echo "驗證失敗 (預期行為)"
|
|
echo ""
|
|
|
|
echo -e "${BLUE}步驟 2: 模擬新卡片使用情境${NC}"
|
|
echo "如果是全新卡片,程式會:"
|
|
echo "- 檢測空白 NDEF 檔案"
|
|
echo "- 顯示友善的提示訊息"
|
|
echo "- 建議使用 setsdm 命令"
|
|
echo ""
|
|
|
|
echo -e "${BLUE}步驟 3: 正確的設定流程${NC}"
|
|
echo "執行: $EXECUTABLE setsdm --url 1 --key 1"
|
|
echo "----------------------------------------"
|
|
$EXECUTABLE setsdm --url 1 --key 1
|
|
echo ""
|
|
|
|
echo -e "${BLUE}步驟 4: 設定完成後驗證${NC}"
|
|
echo "執行: $EXECUTABLE verify --key 1"
|
|
echo "----------------------------------------"
|
|
$EXECUTABLE verify --key 1
|
|
echo ""
|
|
|
|
echo -e "${GREEN}✅ 新卡片處理測試完成!${NC}"
|
|
echo ""
|
|
echo -e "${YELLOW}總結:${NC}"
|
|
echo "1. ✅ 程式能正確檢測新卡片"
|
|
echo "2. ✅ 提供清楚的設定指引"
|
|
echo "3. ✅ SDM 設定後能正常驗證"
|
|
echo "4. ✅ NDEF 格式驗證正常工作"
|
|
echo ""
|
|
echo -e "${BLUE}建議的新卡片使用流程:${NC}"
|
|
echo "1. 先執行: $EXECUTABLE setsdm --url 1 --key 1"
|
|
echo "2. 再執行: $EXECUTABLE verify --key 1"
|
|
echo "3. 或使用: $EXECUTABLE getuid --key 1 (讀取 UID)" |