UBOS Community

vova
vova

Posted on • Updated on

Базові вузли Node-red: debug, http in/response, function

Для створення потоків у Node-RED варто ознайомитись як працюють базові вузли. В цій статті Ви дізнаєтесь про них.

  • debug
  • function
  • http in та http response

Вузол inject використовується для запуску потоку вручну, натиснувши на кнопку зліва. Також можна запускати автоматично у певний проміжок часу.
Image description
За замовчуванням вузол inject має такі властивості, як 'payload' та 'topic'. Вони приймають різні типи даних, наприклад: object, buffer, global, string, number, boolean та ін.
Подвійним кліком на вузол можна відкрити його налаштування. Запишемо рядок Hello dev у payload. Після будь-якої взаємодії з вузлом потрібно зберегти зміни натиснувши кнопку Done.
Image description

(https://community.ubos.tech/uploads/articles/yu2u2n98nnz0ngonf0ts.gif)


Вузол debug використовується для відображення повідомлення на боковій панелі редактору.
Image description
У описі вузла inject ми використовували debug для того щоб побачити яке повідомлення надіслав вузол.
debug має властивість 'output':

  • complete msg object - виводить весь об'єкт який прийшов
  • msg дозволяє вивести тільки певне поле наприклад msg.payload Image description В наступних прикладах ми будем взаємодіяти з іншими вузлами та побачимо детальнішу роботу із 'debug'.

Вузол function дозволяє запускати код JavaScript для обробки даних які надійшли до вузла.
Image description


Вузли http in та http response використовуються для прийняття запитів та повернення відповіді.
Image description

Вузол http in приймає запит. У ньому потрібно вибрати метод та вказати URL. У нашому прикладі метод GET та URL /total
Image description
Вузол http response повертає відповідь. Цей вузол завжди повинен приймати властивість payload для того, щоб повернути інформацію.
Image description
Будь-який ланцюг, який починається з http in повинена мати в кінці http response, в іншому випадку він не буде повертати відповідь із запиту.

Створимо ланцюг, який приймає два значення та повертає їхню суму.
Image description

Вузол function

const body = msg.req.body;
const total = body.banana + body.tomato;

msg.statusCode = 200;
msg.payload = {
    "total": total
};

return msg;
Enter fullscreen mode Exit fullscreen mode

Скопіюєм посилання на node-red у якому зберігається наш ланцюг та допишем URL /total.
Image description
Для того, щоб зробити запит використаєм Postman. У body передаєм дані, які приходять у наш запит та натискаєм кнопку Send.
Image description
У http in приходить об'єкт який має властивість req (це об'єкт запиту який містить у собі інформацію про запит).
Image description За допомогою вузла debug можна побачити що приходить у інші вузли.

Discussion (0)