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" )