NFC

בדף הזה מוסבר איך לשלוט ב-NFC במכשיר Cuttlefish באמצעות התכונה Cuttlefish NFC. ‫NFC נתמך במכשירי Cuttlefish עם Android מגרסה 15 ואילך.

שימוש ב-Casimir

התכונה NFC ב-Cuttlefish משתמשת ב-Casimir, כלי חיצוני לסימולציה של מכשיר NFC, שתומך בהחדרת בייטים של APDU לאמולציה של כרטיסים מבוססי מארח. ‫Casimir מיושם ב-/platform/system/nfc/tools/casimir/.

כשמפעילים את Cuttlefish, מופעל גם Casimir כברירת מחדל. כדי לשלוט ב-Casimir, משתמשים בשירות CasimirControlService.

CasimirControlService

אפשר להשתמש בשירות CasimirControlService דרך ה-API ל-REST או דרך ממשק שורת הפקודה. פרטים נוספים זמינים במאמר בנושא Cuttlefish: Environment Control.

בטבלה הבאה מתוארת השיטה ב-CasimirControlService. מידע נוסף זמין במאמר בנושא casimir_control.proto.

שיטה תיאור
SendApdu שולחת בייטים של APDU (מחרוזות הקסדצימליות) עם NFC-A ו-ISO-DEP. התגובה מוחזרת כמחרוזות הקסדצימליות.

הדוגמה הבאה מציגה פקודה ותשובה פשוטה לשליחת שני בייטים של APDU, ‏ [0x00, 0x11, 0x22] ו-[0x33, 0x44, 0x55].

  • פקודה

    cvd env call CasimirControlService SendApdu '{apdu_hex_strings: ["001122", "334455"]}'
    
  • תשובה פשוטה

    Rpc succeeded with OK status
    {
    "responseHexStrings": [
      "9000",
      "9000",
    ]
    }