rfid-driver
v1.0.1
Published
Biblioteca TypeScript para integração com dispositivos RFID USB.
Downloads
2
Readme
Biblioteca TypeScript para RFID USB
Esta biblioteca TypeScript foi desenvolvida para facilitar a integração com dispositivos RFID USB em aplicações React no lado do cliente. A necessidade desta lib veio neste projeto: https://github.com/LabsPlus/Eat-Eating-WebApp, um sistema para gerenciamento de restaurantes universitarios, implantado em algumas universidades do sul da Bahia.
Instalação
Para instalar a biblioteca, você pode usar npm ou yarn:
npm install rfid-driver
Como Encontrar Vendor ID e Product ID
Para integrar o seu dispositivo RFID USB com esta biblioteca, siga os passos abaixo para obter o Vendor ID e Product ID necessários:
Windows:
- Conecte o leitor RFID USB ao seu computador.
- Abra o "Gerenciador de Dispositivos".
- Localize o seu dispositivo na lista de dispositivos USB.
- Clique com o botão direito do mouse no dispositivo e selecione "Propriedades".
- Na guia "Detalhes", selecione "IDs de hardware" no menu suspenso.
- Anote o Vendor ID e Product ID exibidos.
Linux:
- Conecte o leitor RFID USB ao seu computador.
- Abra um terminal.
- Execute o comando
lsusb
. - Encontre o seu dispositivo na lista. O output mostrará o Vendor ID e Product ID do dispositivo.
- Anote o Vendor ID e Product ID exibidos.
Exemplos de Uso
Exemplo Básico de Uso
import { RfidDriver } from 'rfid-driver';
const vendorId = 0x1234; // Substitua com o ID do fornecedor do seu dispositivo
const productId = 0x5678; // Substitua com o ID do produto do seu dispositivo
const rfid = new RfidDriver(vendorId, productId);
async function readData() {
try {
const data = await rfid.readData('FFCA000000');
console.log('Dados lidos:', data.toString('hex'));
} catch (error) {
console.error('Erro ao ler dados:', error);
} finally {
rfid.close();
}
}
readData();
Integração com React
import React, { useEffect, useState } from 'react';
import { RfidDriver } from 'rfid-driver';
const vendorId = 0x1234; // Substitua com o ID do fornecedor do seu dispositivo
const productId = 0x5678; // Substitua com o ID do produto do seu dispositivo
const RfidReader: React.FC = () => {
const [rfid, setRfid] = useState(null);
useEffect(() => {
const initRfid = async () => {
try {
const driver = new RfidDriver(vendorId, productId);
await driver.openDevice();
setRfid(driver);
} catch (error) {
console.error('Erro ao inicializar RFID:', error);
}
};
initRfid();
return () => {
if (rfid) {
rfid.close();
}
};
}, []);
const handleReadData = async () => {
try {
if (rfid) {
const data = await rfid.readData('FFCA000000');
console.log('Dados lidos:', data.toString('hex'));
}
} catch (error) {
console.error('Erro ao ler dados:', error);
}
};
return (
<div>
<button onClick={handleReadData}>Ler Dados RFID</button>
</div>
);
};
export default RfidReader;
Exemplos de Dispositivos
A biblioteca suporta uma variedade de dispositivos RFID. Aqui estão alguns exemplos:
Dispositivo A
- Vendor ID: 0x1234
- Product ID: 0x5678
Dispositivo B
- Vendor ID: 0xABCD
- Product ID: 0xEF01
Contribuição
Contribuições são bem-vindas! Para relatar bugs ou enviar pull requests, por favor, consulte nosso repositório no GitHub.