@amperka/rs-485

Интерфейс RS-485 — один из наиболее распространенных способов передачи сигнала по проводам на длинные расстояния. Сеть на интерфейсе RS-485, представляет собой приемопередатчики, соединенные при помощи витой пары — двух скрученных проводов.

Возьмите RS-485 (Troyka-модуль) и свяжите 32 модуля в единую сеть.

Для взаимодействия с модулем используются три пина: два пина последовательного порта — RO и DI, а так же пин ↑↓, для выбора режима модуля — приёмник или передатчик. При высоком уровне на пине ↑↓— модуль работает на передачу данных с микроконтроллера, при низком — на приём.

RS485.connect(opts)

Возвращает объект RS485. Параметр opts — объект со следующими свойствами:

  • serial — объект последовательного порта, по умолчанию Serial3;
  • speed — скорость обмена между портами контроллера и модуля RS-485, по умолчанию 9600;
  • dirPin — пин выбора режима модуля — приёмник или передатчик;
  • lineEnding — признак окончания строки, по умолчанию не назначен;
var rs485 = require('@amperka/rs-485').connect({
  serial: Serial3,
  speed: 9600,
  dirPin: P3,
  lineEnding: '\r\n'
});

RS485

Объект, реализует взаимодействие с модулем rs-485.

available()

Возвращает размер принятых байт из сети модулей RS485, но еще не обработанных событием on('data', callback) или read().

read(chars)

Возвращает строку символов, считанных из модуля RS485, длинной chars. Если chars равен 0 или undefined — считываются все символы.

Отправляет данные в сеть из модулей RS485.

println(data)

Отправляет данные в сеть из модулей RS-485, при этом дополняя данные символом окончания строки, указанном в свойстве lineEnding при создании объекта RS485. Если эта настройка не выполнена, данные будут дополнены символами \r\n.

write(data)

Отправляет данные в сеть из модулей RS485, которые могут быть представлены в виде строки или массива. При этом данные строки не модифицируются, а массив — объединяется в строку.

on('data', callback)

При получении данных с модуля RS-485, вызывает функцию callback, передавая в ее первый параметр полученные данные.

on('speed', callback)

Если скорость последовательного порта не соответствует скорости модуля RS-485, вызывает функцию callback, передавая в ее первый параметр ошибку speed;

on('parity', callback)

Если настройка режима проверки четности последовательного порта не соответствует настройкам модуля RS-485, вызывает функцию callback, передавая в ее первый параметр ошибку parity;