npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

@randall71/react-native-tectoysunmisdk

v2.0.3

Published

Pacote de comunicação com o hardware de Sunmi/Tectoy Automação, para efetuar impressão, comunicação com LCD entre outros.

Downloads

28

Readme

@linvix-sistemas/react-native-tectoysunmisdk

Wrapper para comunicação com a SDK da Sunmi/Tectoy para React Native.

Atenção

Este pacote foi desenvolvido para facilitar a integração com o SDK da Sunmi/Tectoy para comunicar com os produtos/equipamentos da empresa.

Verifique a documentação da Sunmi para maior endentimento das funções e possíveis implementações adicionais.

Esta biblioteca não está completa com todos os recursos disponíveis da sunmi/tectoy, caso você consiga implementar novas funções, contribua com o pacote e torne ele mais útil para todos os que utilizam.


Testado nos equipamentos

D2S Combo - Possuí gaveta

T2 Mini - Sem leitor câmera integrada

T2s - Impressora 80mm (48col)

L2s - Coletor de dados SEM teclado físico

L2K - Coletor de dados COM teclado físico


Instalação

npm install @linvix-sistemas/react-native-tectoysunmisdk
yarn add @linvix-sistemas/react-native-tectoysunmisdk

Uso

import TecToySunmiSDK, { TectoyLCDFuncaoEnum, TectoyLCDMultiTextoType } from '@linvix-sistemas/react-native-tectoysunmisdk';

Veja a pasta example para verificar como utilizar.


Types - Enums


Metódos - Impressora

Lista de métodos expostos para utlização com a impressora.

ObterStatus - StatusImpressoraType

// Lembre-se de que o status da impressora pode variar dependendo do dispositivo utilizado pela tectoy, sempre verifique o manual.
await TecToySunmiSDK.impressora.ObterStatus();

ImprimirTexto

await TecToySunmiSDK.impressora.ImprimirTexto(texto: string);

ImprimirRaw

Pode ser utilizado para enviar bytes gerados no lado do react-native diretamente para a impressora. Olhar documentação ESC/POS ou alguma lib que possúa geração de comandos ESC/POS.

// palavra: teste
const bytes = [0x54, 0x45, 0x53, 0x54, 0x45];
await TecToySunmiSDK.impressora.ImprimirRAW(bytes);

ImprimirQRCode - ImprimirQRCodeType

await TecToySunmiSDK.impressora.ImprimirQRCode(data: ImprimirQRCodeType);

AvancarLinha

await TecToySunmiSDK.impressora.AvancarLinha(numero_linhas = 5);

Avancar3Linhas

await TecToySunmiSDK.impressora.Avancar3Linhas();

Metódos - LCD

Lista de métodos expostos para utlização com o LCD.

ControlarLCD - TectoyLCDFuncaoEnum

// Função utilizada para controlar o display lcd disponível em algúns modelos da tectoy/sunmi.
// TectoyLCDFuncaoEnum.INICIALIZAR
// TectoyLCDFuncaoEnum.LIGAR_LCD
// TectoyLCDFuncaoEnum.DESLIGAR_LCD
// TectoyLCDFuncaoEnum.LIMPAR_TELA
await TecToySunmiSDK.lcd.ControlarLCD(funcao: TectoyLCDFuncaoEnum);

EnviarTexto

await TecToySunmiSDK.lcd.EnviarTexto(texto: string);

EnviarTextos

await TecToySunmiSDK.lcd.EnviarTextos(data: TectoyLCDMultiTextoType);

Metódos - Lampada (K2/K2 MINI)

Lista de métodos expostos para utlização com o LED.

ControlarLampada - TectoyLampStatusEnum | TectoyLampLedEnum

// Função utilizada para controlar o LED superior nos dispotivos K2 e K2 Mini.
// TectoyLampStatusEnum.LIGAR
// TectoyLampStatusEnum.DESLIGAR
//
// TectoyLampLedEnum.LED_1
// TectoyLampLedEnum.LED_2
// TectoyLampLedEnum.LED_3
// TectoyLampLedEnum.LED_4
// TectoyLampLedEnum.LED_5
// TectoyLampLedEnum.LED_6
await TecToySunmiSDK.lampada.ControlarLampada(status: TectoyLampStatusEnum, led: TectoyLampLedEnum);

ControlarLampadaLoop - TectoyLampStatusEnum | TectoyLampLedEnum

// Função utilizada para controlar o LED superior nos dispotivos K2 e K2 Mini.
// TectoyLampStatusEnum.LIGAR
// TectoyLampStatusEnum.DESLIGAR
//
// TectoyLampLedEnum.LED_1
// TectoyLampLedEnum.LED_2
// TectoyLampLedEnum.LED_3
// TectoyLampLedEnum.LED_4
// TectoyLampLedEnum.LED_5
// TectoyLampLedEnum.LED_6
await TecToySunmiSDK.lampada.ControlarLampadaLoop(status: TectoyLampStatusEnum, onTime: number, offTime: number, led: TectoyLampLedEnum);

Desligar

await TecToySunmiSDK.lampada.Desligar();

Metódos - Gavega

Lista de métodos expostos para utlização com a gaveta.

AbrirGaveta

await TecToySunmiSDK.gaveta.AbrirGaveta();

Métodos - Scanner

Métodos para interação com leitor de código de barras

onBarcodeRead (broadcast)

Este método é um "listener" ou seja, ele aguarda que o evento ocorra, e dispara a função de callback quando o evento acontece.

useEffect(() => {
   // Em dispositivos que possúem leitor de código de barras ou o suporte via USB.
   // Ex: D2Mini, D2SCombo, T2s com leitor USB externo (precisa configurar broadcast).
   // Para funcionar a leitura do código, precisa configurar o dispositivo para fazer broadcast dos dados e desabilitar TextInput para saída de texto.
   //
   // L2s/L2ks também funciona aqui com leitura de código de barras.
   //
   // Importante chamar cleanup para remover o listener da função quando quiser parar de receber o código de barras lido.
   //
  const cleanup = TecToySunmiSDK.scanner.onBarcodeRead((ev) => {
    console.log(ev);
  });
  
  return () => cleanup();
}, []);

Métodos - Utilidades

Métodos auxiliares que podem ser úteis.

FecharApp

await TecToySunmiSDK.utils.FecharApp();

Reiniciar Dispositivo

await TecToySunmiSDK.utils.ReiniciarDispositivo(motivo: string);

Modo Full Screen

await TecToySunmiSDK.utils.ModoFullScreen(ativar: boolean = true);

Contribuindo

Fique a vontade para fazer contribuições no projeto, ele é um projeto que a Linvix Sistemas está utilizando em seus projetos e achou conveniente disponibilizar para a comunidade.

License

MIT