0.5.1 • Published 5 days ago

react-native-rfid8500-zebra v0.5.1

Weekly downloads
-
License
MIT
Repository
github
Last release
5 days 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.0

5 days ago

0.5.1

5 days ago

0.4.8

13 days ago

0.4.7

18 days ago

0.4.6

20 days ago

0.4.5

24 days ago

0.4.4

24 days ago

0.4.3

25 days ago

0.4.2

25 days ago

0.3.9

27 days ago

0.4.1

27 days ago

0.4.0

27 days ago

0.3.6-a

1 month ago

0.3.5-b

1 month ago

0.3.7-b

1 month ago

0.3.5-d

1 month ago

0.3.7-a

1 month ago

0.3.6-b

1 month ago

0.3.5-c

1 month ago

0.3.7-d

1 month ago

0.3.5-f

1 month ago

0.3.7-c

1 month ago

0.3.5-e

1 month ago

0.3.7-f

1 month ago

0.3.7-e

1 month ago

0.3.7-g

1 month ago

0.3.0

1 month ago

0.3.6

1 month ago

0.2.7

1 month ago

0.2.6

1 month ago

0.3.8

1 month ago

0.2.9

1 month ago

0.3.7

1 month ago

0.2.8

1 month ago

0.3.2

1 month ago

0.3.1

1 month ago

0.3.4

1 month ago

0.3.3

1 month ago

0.2.1

6 months ago

0.1.2

6 months ago

0.2.0

6 months ago

0.2.3

6 months ago

0.2.2

6 months ago

0.2.5

6 months ago

0.2.4

6 months ago

0.1.1

11 months ago

0.1.0

11 months ago