[javascript] 자바스크립트로 모바일 디바이스의 NFC 기능 사용하기

이번 글에서는 자바스크립트를 사용하여 모바일 디바이스의 NFC(Near Field Communication) 기능을 활용하는 방법에 대해 알아보겠습니다.

NFC는 근거리 통신 기술로, 모바일 기기 간에 간단한 데이터를 주고받을 수 있게 해줍니다. 예를 들어, NFC를 사용하면 모바일 디바이스를 기기에 대고 송금 등의 결제를 할 수 있습니다.

NFC 기능 확인하기

먼저, 모바일 디바이스의 NFC 기능을 확인해야 합니다. 다음의 코드를 사용하여 현재 디바이스에서 NFC가 지원되는지 확인해보세요.

if ('nfc' in navigator) {
  console.log('NFC is supported');
} else {
  console.log('NFC is not supported');
}

만약 모바일 디바이스에서 NFC가 지원된다면 “NFC is supported”라는 메시지가 콘솔에 출력됩니다. 그렇지 않다면 “NFC is not supported”라는 메시지가 출력됩니다.

NFC 태그 읽기

NFC 태그에서 데이터를 읽는 방법은 다음과 같습니다.

navigator.nfc.watch(function (message) {
  let ndef = message.records[0].data;
  let textDecoder = new TextDecoder();
  let text = textDecoder.decode(ndef);
  console.log('Read data from NFC tag:', text);
});

위 코드에서는 navigator.nfc.watch 함수를 사용하여 NFC 태그의 데이터를 읽습니다. 읽은 데이터는 message.records[0].data에 저장되고, 해당 데이터는 TextDecoder를 사용하여 텍스트 형태로 변환됩니다. 변환된 텍스트는 콘솔에 출력됩니다.

NFC 태그 쓰기

NFC 태그에 데이터를 쓰는 방법은 다음과 같습니다.

navigator.nfc.watch(function (message) {
  let ndef = new Uint8Array([0x48, 0x65, 0x6c, 0x6c, 0x6f]);  // "Hello"의 ASCII 코드
  navigator.nfc.write(ndef).then(() => {
    console.log('Data written to NFC tag');
  }).catch((error) => {
    console.error('Error writing data:', error);
  });
});

위 코드에서는 navigator.nfc.write 함수를 사용하여 NFC 태그에 데이터를 씁니다. 이 예제에서는 “Hello”라는 문자열을 NFC 태그에 쓰는 예시입니다. 데이터가 성공적으로 쓰이면 “Data written to NFC tag”라는 메시지가 출력되고, 실패할 경우에는 에러가 출력됩니다.

결론

이렇게 자바스크립트를 사용하여 모바일 디바이스의 NFC 기능을 활용할 수 있습니다. NFC를 사용하면 간편한 데이터 공유와 결제를 할 수 있으며, 다양한 응용 프로그램에서 활용될 수 있습니다.

더 자세한 내용을 알고 싶다면 다음 참고 자료를 참고해보세요:

```