node.js で PN532 を使ってNFCを読む
このあいだ、Raspberry pi で node.js + typescriptで書いてるアプリでNFCを読む機会があり、調べたのでメモ。
ハードウェア
NFCリーダーはこれ
中身は PN532
これを、Raspberry Pi のGPIOピンヘッダにGroveコネクタ生やすやつで接続した。こういうの。
https://amzn.to/3wwxkSB
UART を使用可能にする
Raspberry Pi 3以降ではBluetoothの接続でuartを使っているために、そのままではuartが使えない(これ知らずに結構時間をロスした...)。
Device Tree Overlay の miniuart-bt で対処した。
以下など参照。
node.js
PN532のデバドラは以下のライブラリを使用。
使い方はこんな感じ。
import SerialPort from 'serialport';
import pn532 from 'pn532';
const DEVICE_FILE_PATH = '/dev/serial0';
const SERIAL_OPTION = { baudRate: 115200 };
const serialPort = new SerialPort(DEVICE_FILE_PATH, SERIAL_OPTION);
const rfid = new pn532.PN532(serialPort);
// Poll for a tag
rfid.on('ready', async () => {
console.log('Listening for a tag scan...');
rfid.on('tag', (tag) => {
console.log(tag);
console.log('tag:', tag.uid);
});
});
動かすとこんな感じ。
実際には、上記をラップしたdomainオブジェクト作成して、tagを検知した時にeventemitterで飛ばしてる。
Author And Source
この問題について(node.js で PN532 を使ってNFCを読む), 我々は、より多くの情報をここで見つけました https://qiita.com/uzuki_aoba/items/d46fab213c626cf491f1著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .