0.5.5 • Published 1 year ago

react-native-rfid8500-zebra v0.5.5

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

react-native-rfid8500-zebra

RFID Zebra Reader

Installation

npm install react-native-rfid8500-zebra

Conectando a um dispositivo

import { useEffect } from 'react';
import { PermissionsAndroid } from 'react-native';
import {
  useReader,
  useDevicesList,
  useReaderPermissions,
} from 'react-native-rfid8500-zebra';

function App() {
  const { connect } = useReader();
  // Lista de dispositivos pareados.
  const { devices, updateDevices } = useDevicesList();
  const [permission, requestPermission] = useReaderPermissions();

  useEffect(() => {
    requestPermission().then(async (result) => {
      if (result === PermissionsAndroid.RESULTS.GRANTED) {
        await updateDevices();
      }
    });
  }, []);

  useEffect(() => {
    console.log(devices);
    // [{"mac": "84:C6:92:41:3C:4B", "name": "RFD850022260520100556"}]

    if (devices.length > 0) {
      const { name, mac } = devices[0];

      connect(name, mac).then((status) => {
        if (status) {
          // Conectado
        } else {
          // Erro ao conectar
        }
      });
    }
  }, [devices]);
}

Desconectando de um dispositivo

import { useEffect } from 'react';
import { useReader, useDevicesList } from 'react-native-rfid8500-zebra';

function App() {
  const { disconnect } = useReader();

  useEffect(() => {
    disconnect().then((status) => {
      if (status) {
        // Desconectado
      } else {
        // Erro ao desconectar
      }
    });
  }, []);
}

Capturando informações do dispositivo

import { useEffect } from 'react';
import { useReader } from 'react-native-rfid8500-zebra';

function App() {
  const { deviceDetails } = useReader();

  // conecte o dispositivo antes

  useEffect(() => {
    // Informações do dispositivo conectado
    console.log(deviceDetails);
    // {
    //   name: "RFD850022260520100556"
    //   mac: "84:C6:92:41:3C:4B"
    //   antennaLevel: 27
    //   batteryLevel: 80
    // }
  }, [deviceDetails]);
}

Alterar nível da antena

import { useEffect } from 'react';
import { useReader } from 'react-native-rfid8500-zebra';

function App() {
  const { isConnected, setAntennaLevel } = useReader();

  // conecte o dispositivo antes

  useEffect(() => {
    // Altera o nível da antena
    // 1 - 30
    setAntennaLevel(15).then(() => {
      // Atualizado
    });
  }, [isConnected]);
}

Capturar as etiquetas lidas

import { useEffect } from 'react';
import { useReader, useTags } from 'react-native-rfid8500-zebra';

function App() {
  const [tags, clearTags] = useTags();

  // conecte o dispositivo antes

  useEffect(() => {
    console.log(tags);
    // [
    //   "ASDH12358012308ASD",
    //   "ASDH12358012308ASD",
    //   "ASDH12358012308ASD",
    // ]

    // Limpar as tags lidas
    clearTags();
  }, [tags]);
}

Forçar o leitor a iniciar a leitura

import { useEffect } from 'react';
import { useReader } from 'react-native-rfid8500-zebra';

function App() {
  const { isConnected, softRead } = useReader();

  // conecte o dispositivo antes

  useEffect(() => {
    // Forçar leitura
    softRead(true).then(() => {
      // Iniciou a leitura
    });

    // Cancelar leitura
    softRead(false).then(() => {
      // Cancelou a leitura
    });
  }, [isConnected]);
}

Localizar uma etiqueta através de distancia

import { useEffect } from 'react';
import { useReader, useLocateTag } from 'react-native-rfid8500-zebra';

function App() {
  const { isConnected } = useReader();
  const { start, stop, isLocateTag, distance } = useLocateTag();

  // conecte o dispositivo antes

  useEffect(() => {
    // Inicia a busca de uma etiqueta
    start('ASDH12358012308ASD');

    // Para a busca de uma etiqueta
    stop();
  }, [isConnected]);

  useEffect(() => {
    if (isLocateTag) {
      // Retorna a distância de uma etiqueta.
      console.log(distance);
      // 0 - 100
    }
  }, [isLocateTag, distance]);
}

Ler uma etiqueta de cada vez

import { useEffect } from 'react';
import { useReader, useSingleRead } from 'react-native-rfid8500-zebra';

function App() {
  const { isConnected } = useReader();
  const [tag, setSingleRead] = useSingleRead();

  // conecte o dispositivo antes

  useEffect(() => {
    // Ativa o modo de leitura única
    setSingleRead(true);

    // Desativa o modo de leitura única
    setSingleRead(false);
  }, [isConnected]);

  useEffect(() => {
    console.log(tag);
    // "ASDH12358012308ASD"
  }, [tag]);
}

Modo código de barra

import { useEffect } from 'react';
import { useReader, useBarCode } from 'react-native-rfid8500-zebra';

function App() {
  const { isConnected, setMode } = useReader();
  const barCode = useBarCode();

  // conecte o dispositivo antes

  useEffect(() => {
    // Ativa o modo de código de barras
    setMode('BARCODE');

    // Ativa o modo de RFID
    setMode('RFID');
  }, [isConnected]);

  useEffect(() => {
    console.log(barCode);
    // "12345678456123 1234567897 4145611321 46546789"
  }, [barCode]);
}

Contributing

See the contributing guide to learn how to contribute to the repository and the development workflow.

License

MIT


Made with create-react-native-library

0.5.4

1 year ago

0.5.3

1 year ago

0.5.5

1 year ago

0.5.2

1 year ago

0.5.0

1 year ago

0.5.1

1 year ago

0.4.8

1 year ago

0.4.7

1 year ago

0.4.6

1 year ago

0.4.5

1 year ago

0.4.4

1 year ago

0.4.3

1 year ago

0.4.2

1 year ago

0.3.9

1 year ago

0.4.1

1 year ago

0.4.0

1 year ago

0.3.6-a

1 year ago

0.3.5-b

1 year ago

0.3.7-b

1 year ago

0.3.5-d

1 year ago

0.3.7-a

1 year ago

0.3.6-b

1 year ago

0.3.5-c

1 year ago

0.3.7-d

1 year ago

0.3.5-f

1 year ago

0.3.7-c

1 year ago

0.3.5-e

1 year ago

0.3.7-f

1 year ago

0.3.7-e

1 year ago

0.3.7-g

1 year ago

0.3.0

1 year ago

0.3.6

1 year ago

0.2.7

1 year ago

0.2.6

1 year ago

0.3.8

1 year ago

0.2.9

1 year ago

0.3.7

1 year ago

0.2.8

1 year ago

0.3.2

1 year ago

0.3.1

1 year ago

0.3.4

1 year ago

0.3.3

1 year ago

0.2.1

2 years ago

0.1.2

2 years ago

0.2.0

2 years ago

0.2.3

2 years ago

0.2.2

2 years ago

0.2.5

2 years ago

0.2.4

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago