Class: SerialPort

@nginstack/engine/lib/io/SerialPort~ SerialPort


new SerialPort(port [, baudRate] [, dataBits] [, stopBits] [, parityBits] [, flowControl])

Classe que possibilita a comunicação por meio de portas seriais.

Parameters:
Name Type Argument Description
port number

Número da porta serial que será aberta para comunicação.

baudRate number <optional>

Velocidade da transmissão dos dados entre os equipamentos que usam comunicação serial. A velocidade da porta e a velocidade do equipamento precisam ser iguais, alguns equipamentos podem detectar automaticamente a velocidade da porta serial. Valor padrão: 9600bits/seg

dataBits number <optional>

Número de bits usados para representar um caractere. Pode ser 5 (para Código Baudot), 6 (Usado raramente), 7 (para true ASCII), 8 (para qualquer tipo de dados, pois este valor confere com o tamanho de um byte). Valor padrão: 8bits

stopBits number <optional>

Quantidade de bits enviados no final de cada caractere que permitem o equipamento receptor do sinal detectar o fim do caractere e re-sincronizar com a stream de caracteres. Pode ser 0, 1 ou 2. Valor padrão: 0

parityBits string <optional>

Tipo do método de paridade usado para detectar erros na transmissão. Pode ser: 'odd', 'even', 'mark', 'space' ou 'none'(Sem paridade). Valor padrão: 'none'

flowControl string <optional>

Tipo de controle de fluxo, Pode ser: 'hardware', 'software' ou 'none'(Sem controle de fluxo). Valor padrão: 'none'

Members


baudRate :number

Obtém a velocidade da transmissão dos dados.

Type:
  • number

dataBits :number

Obtém o número de bits usados para representar um caractere. Os possíveis valores retornados são: 5, 6, 7 ou 8.

Type:
  • number

dsrSensitivity :boolean

Determina se os dados recebidos serão ignorados enquanto DSR(Data Set Ready) não estiver ativo.

Type:
  • boolean

dtr :boolean

DTR(Data terminal Ready). Define se o dispositivo está pronto.

Type:
  • boolean

flowControl :string

Define o tipo de controle de fluxo. Pode ser: 'hardware', 'software' ou 'none' (Sem controle de fluxo).

Type:
  • string

outDsrFlow :boolean

Define que o DSR(Data Set Ready) deva ou não deva ser monitorado para determinar se dados podem ser enviados pela serial.

Type:
  • boolean

parityBits :string

Define o tipo do método de paridade usado para detectar erros na transmissão. Os possíveis valores são: 'odd', 'even', 'mark', 'space' ou 'none'.

Type:
  • string

parityErrorChar :string

Define o caractere usado para substituir os bytes recebidos com erros de paridade.

Type:
  • string

portName :string

Nome da porta serial.

Type:
  • string

readIntervalTimeout :number

Define o timeout em ms entre bytes recebidos.

Type:
  • number

readTotalTimeoutConstant :number

Define a constante do cálculo do valor total de timeout de uma operação de leitura.
O valor do timeout total de leitura é calculado usando a seguinte expressão:
TimeoutTotal := ( ReadTotalTimeoutMultiplier * NBytesRead ) + ReadTotalTimeoutConstant (ms)

Type:
  • number

readTotalTimeoutMultiplier :number

Define o multiplicador do cálculo do valor total de timeout de uma operação de leitura.
O valor do timeout total de leitura é calculado usando a seguinte expressão:
TimeoutTotal := ( ReadTotalTimeoutMultiplier * NBytesRead ) + ReadTotalTimeoutConstant (ms)

Type:
  • number

replaceCharOnParityError :boolean

Define se os caracteres que não obtiveram sucesso no teste de paridade vão ser substituídos pelo caractere em parityErrorChar

Type:
  • boolean

stopBits :number

Define a quantidade de bits enviados no final de cada caractere. Os possíveis valores são: 0, 1 ou 2.

Type:
  • number

writeTotalTimeoutConstant :number

Define a constante do cálculo do valor total de timeout de uma operação de escrita.
O valor do timeout total de escrita é calculado usando a seguinte expressão:
TimeoutTotal = (WriteTotalTimeoutMultiplier * NBytesWrote) + WriteTotalTimeoutConstant (ms)

Type:
  • number

writeTotalTimeoutMultiplier :number

Define o multiplicador do cálculo do valor total de timeout de uma operação de escrita.
O valor do timeout total de escrita é calculado usando a seguinte expressão:
TimeoutTotal = (WriteTotalTimeoutMultiplier * NBytesWrote) + WriteTotalTimeoutConstant (ms)

Type:
  • number

xOffChar :string

Obtém o valor do caractere XOFF para as transmissões e recepções.

Type:
  • string

xOnChar :string

Define o valor do caractere XON para as transmissões e recepções.

Type:
  • string

Methods


<static> getAvailablePorts()

Obtém a relação de portas seriais disponíveis no computador onde o Engine está sendo executado. Será retornado um array de objetos com as seguintes propriedades:

See:
  • SerialPortInfo
Returns:

Relação de portas seriais disponíveis no computador onde o Engine está sendo executado.

Type
Array.<SerialPortInfo>

<static> logAvailablePorts( [opt_logger])

Registra no arquivo de log informações sobre as portas seriais disponíveis no computador onde o Engine está sendo executado.

Parameters:
Name Type Argument Description
opt_logger Logger <optional>

Log onde deverão ser registradas as informações. Caso não seja informado, elas serão registradas na categoria de log application.

See:
  • SerialPort.getAvailablePorts

clear()

Libera todos os threads aguardando uma leitura/escrita na porta serial e limpa os buffers.


close()

Fecha a comunicação com a porta serial.


read(maxLen)

Lê a porta serial.

Parameters:
Name Type Description
maxLen number

Quantidade máxima de caracteres que podem ser lidos da porta serial.

Returns:

Resultado da leitura da porta serial.

Type
string
Example
var SerialPort = require('@nginstack/engine/lib/io/SerialPort');
// O código abaixo ler 50 caracteres da porta serial COM4
var serial = new SerialPort(4, 9600, 8, 1, 'none', 'none');
var resultado = serial.read(50);

toString()

Representação string do objeto.


write(buffer)

Escreve uma string na porta serial.

Parameters:
Name Type Description
buffer string

Caracteres que serão transmitidos para a porta serial.

Returns:

Quantidade de bytes transmitidos para a porta serial.

Type
number
Example
var SerialPort = require('@nginstack/engine/lib/io/SerialPort');
// O código abaixo escreve a string "Hello" na porta serial COM4
var serial = new SerialPort( 4, 9600, 8, 1, 'none', 'none')
var qtdBytesTransmitidos = serial.write( "Hello" )

writeln(buffer)

Escreve uma string acrescida dos caracteres 0x13(CR) e 0x10(LF) na porta serial. Exemplo: O código abaixo escreve a string "Hello" seguida dos caracteres de quebra de linha na porta serial COM4.

Parameters:
Name Type Description
buffer string

Caracteres que serão transmitidos para a porta serial.

Returns:

Quantidade de bytes transmitidos para a porta serial.

Type
number
Example
var SerialPort = require('@nginstack/engine/lib/io/SerialPort');
var serial = new SerialPort( 4, 9600, 8, 1, 'none', 'none')
var qtdBytesTransmitidos = serial.writeln( "Hello" )