Node-RED:Библиотеки/node-red-node-serialport/Serial request

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Нода «Serial request»

Осуществляет подключение к последовательному порту для работы с запросами/ответами.

Эта нода сочетает в себе функционал нод «Serial in» и «Serial out», а также может пользоваться теми же настройками, что и они.

Отправляет на последовательный порт запрос, хранящийся в свойстве «msg.payload» (это происходит по тому же принципу, что и в ноде «Serial out»). Отправленное сообщение встанет в очередь типа «строгого» FIFO (англ. сокр. «first in, first out», т.е. «первым пришел – первым ушел»), т.е. нода «Serial request» будет ждать ответа прежде, чем отправит следующий запрос. После получения ответа (это происходит по тому же принципу, что и в ноде «Serial in») или по истечению таймаута нода «Serial request» отправит сообщение на выходной порт (см. «Свойства отправляемого объекта» ниже). В этом сообщении будет свойство «msg.payload», содержащее полученный ответ (или, если завершится таймаут, то этого свойства в сообщении не будет), а также все остальные свойства, пришедшие с ответом.

Для совместимости с нодой «Serial in» в «msg.port» будет храниться название выбранного порта.

Свойства присылаемого сообщения

  • Свойство «msg.timeout» – таймаут (в мс), по истечении которого на выходной порт отправляется входящее сообщение без свойства «msg.payload», но со свойством «msg.status», в котором задано значение «ERR_TIMEOUT». По умолчанию таймаут составляет 10000 мс (10 секунд)
  • Свойство «msg.count» – если задать здесь какое-либо значение, оно перезапишет заданное количество символов (но только если новое значение меньше заданного количества символов)
  • Свойство «msg.waitfor» – обычный символ, управляющий символ или шестнадцатеричный символ. Если этот символ будет задан, и если нода «Serial request» встретит этот символ в потоке данных, то запустит отправку выходного сообщения

Свойства отправляемого сообщения

  • Свойство «msg.payload» – ответ. Если ответа не было, этого свойства в сообщении не будет
  • Свойство «msg.status» – если ответ получен, здесь будет «OK», а если таймаут кончился, а ответа нет, то «ERR_TIMEOUT»
  • Любые другие свойства, которые были во входящем сообщении

См.также

Внешние ссылки