Node-RED:Введение/Создание первого потока: различия между версиями
Myagkij (обсуждение | вклад) Нет описания правки |
Myagkij (обсуждение | вклад) |
||
Строка 71: | Строка 71: | ||
<references /> | <references /> | ||
{{Навигационная таблица/Node-RED библиотеки}} | |||
{{Навигационная таблица/Телепорт}} |
Версия от 18:02, 6 мая 2022
Черновик |
Создание первого потока[1]
Запустив Node-RED, введите в адресную строку браузера «http://localhost:1880» и нажмите на ↵ Enter . Если вы знаете IP-адрес или название экземпляра Node-RED, то вы также можете запустить его с другого устройства с помощью ссылки «http://{ip-адрес-устройства-Node-RED}:1880.
Добавляем ноду «inject»
Нода «inject» (находится в списке «input») позволяет отправлять в поток сообщения. Отправка сообщений запускается либо вручную с помощью клика по кнопке ноды, либо автоматически по прошествии установленных интервалов времени.
Перетяните ноду «inject» из панели слева в рабочую область.
Откройте правую панель. Это можно сделать, во-первых, нажав на Ctrl + Пробел или, во-вторых, нажав на кнопку настроек (с иконкой с тремя вертикальными полосками справа вверху), а затем на «View» > «Show sidebar». Затем выберите в правой панели вкладку «Info».
Выберите только что добавленную ноду «inject». В результате в правой панели должна появиться информация о ее свойствах, а также описание того, что она делает.
Добавляем ноду «debug»
Если добавить в поток ноду «debug» (находится в списке «output»), то это будет показывать все сообщения потока справа на вкладке «Debug» (с иконкой жука). По умолчанию он показывает лишь полезную нагрузку сообщения, но может показывать и весь объект сообщения.
Соединяем созданные ноды
Подсоедините ноды «inject» и «debug» друг с другом, протянув «проводок» от выходного «контакта» одной ноды к выходному «контакту» другой.
Делаем развертку
В данный момент ноды существуют только в редакторе, поэтому нам нужно выполнить их развертку на сервере.
Для этого просто кликните на кнопку «Deploy», которая находится в правом верхнем углу.
Выберите вкладку «Debug» и кликните на «inject». В правой панели должны появиться цифры. По умолчанию в ноде «inject» в виде полезной нагрузки используется количество миллисекунд, прошедших с 1 января 1970 года. Давайте поменяем их на что-то более удобоваримое.
Добавляем ноду «function»
Нода «function» (находится в списке «function») позволяет отправлять сообщения при помощи Javascript-функции.
Поместите ноду «function» между «inject» и «debug» и соедините их друг с другом. Для этого вам понадобится удалить уже существующий «проводок», соединяющий ноды «inject» и «debug» (просто выберите его и нажмите на Delete на клавиатуре).
Сделайте двойной клик по ноде «function», чтобы открыть меню ее редактирования. Скопируйте туда вот этот код:
// Создаем объект «date», используя данные полезной нагрузки:
var date = new Date(msg.payload);
// Конвертируем полезную нагрузку в строку объекта «date»:
msg.payload = date.toString();
// Возвращаем сообщение, чтобы его можно было отправить:
return msg;
Кликните на «Done», чтобы закрыть меню редактирования, а затем кликните на кнопку «Deploy».
Теперь, когда вы будете кликать на кнопку «inject», в панели «debug» справа будут появляться более удобочитаемые сообщения в виде пометок времени.
Прямой импорт потока
Весь поток, созданный в этой статье, представлен в JSON-объекте ниже. Вы можете импортировать его прямо в редактор – для этого кликните на кнопку настроек справа вверху (кнопка с тремя вертикальными полосками), затем на «Import» > «Clipboard», вставьте этот код в поле посередине и нажмите на «Import». Меню импорта также можно открыть, просто кликнув на горячие клавиши Ctrl + I .
[{"id":"58ffae9d.a7005","type":"debug","name":"","active":true,"complete":false,"x":640,"y":200,"wires":[]},
{"id":"17626462.e89d9c","type":"inject","name":"","topic":"","payload":"","repeat":"","once":false,"x":240,"y":200,"wires":[["2921667d.d6de9a"]]},
{"id":"2921667d.d6de9a","type":"function","name":"Format timestamp","func":"// Create a Date object from the payload\nvar date = new Date(msg.payload);\n// Change the payload to be a formatted Date string\nmsg.payload = date.toString();\n// Return the message so it can be sent on\nreturn msg;","outputs":1,"x":440,"y":200,"wires":[["58ffae9d.a7005"]]}]
См.также
Внешние ссылки
- Страницы с устаревшим атрибутом подсветки синтаксиса «enclose»
- Справочник Node-RED
- Справочник по Node-RED
- Node-RED
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Черновик
- Надо доработать
- Черновой вариант статьи
- Черновой вариант
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом