Node-RED — это мощная расширяемая графическая среда программирования. Это инструмент моделирования на основе потоков, который позволяет легко создавать приложения, управляемые событиями.
Он построен поверх Node и предоставляет браузерный редактор для объединения потоков. Среда разработки Node-RED — это веб-страница, работающая на вашем компьютере, или она может работать в облачных средах, что делает ее очень универсальным инструментом.
Он используется в сценариях, охватывающих широкий спектр отраслей: от производства и коммунального обслуживания, здравоохранения и сельского хозяйства до домашней и промышленной автоматизации.
Первоначально разработанный как проект с открытым исходным кодом в IBM в конце 2013 года, чтобы удовлетворить их потребность в быстром подключении оборудования и устройств к веб-сервисам и другому программному обеспечению — как своего рода клей для IoT — он быстро превратился в IoT общего назначения. инструмент программирования.
Важно отметить, что Node-RED быстро разработал значительную и растущую базу пользователей и активное сообщество разработчиков, которые предоставляют новые узлы, которые позволяют программистам повторно использовать код Node-RED для самых разнообразных задач.
Официальный сайт предоставляет большую коллекцию ресурсов для начала работы с Node-Red. У них также есть видеоуроки и другая документация. Я рекомендую пройтись по ним, чтобы лучше понять эту захватывающую платформу. Вы можете найти ссылку в справочном разделе этого поста.
Node-Red предустановлен в установках Raspberry Pi, или вы можете легко запустить его на локальном компьютере через докер.
Работает под докер
Оболочка
xxxxxxxxxx
1
docker run -it -p 1880:1880 –name mynodered nodered/node-red
Вот бегущий контейнер:

Это все, что вам нужно, чтобы запустить его локально через Docker. Когда контейнер запущен, вы можете просто просмотреть URL,http: // localhost: 1880 , через веб-браузер, и вы увидите IDE следующим образом. Просто, правда?

Компоненты Node-RED Editor

- палитра
 - Список всех узлов, которые вы можете использовать для создания потоков. Они разделены на категории, чтобы держать их организованными.
 
- Рабочая среда
 - Здесь вы создаете свои рабочие процессы.
 
- заголовок
 - Кнопка Deploy — это то, что вы нажимаете, чтобы взять текущую конфигурацию потока и отправить ее во время выполнения node-RED .
 
- Меню
 - Много полезных функций
 
- Царга
 - Количество вкладок с различными инструментами.
- Вкладка «Информация», вкладка «Отладка» (показать сообщения, переданные на узел отладки) и вкладка «Конфигурация»
 
Создать поток
Процесс создания потока включает добавление узлов в рабочее пространство и их соединение.
Создать простой поток
- Перетащите узел ввода из палитры в рабочую область. Inject-Node позволяет вручную вводить сообщения в поток.
- Добавьте отладочный узел .
- Соедините inject-node и debug-node вместе, щелкнув выходные данные inject-node для ввода debug-node.
- Теперь, когда узел ввода отправляет сообщение, оно будет получено отладочным узлом.
- Нажмите кнопку « Развернуть» , чтобы отправить ее в среду выполнения. После развертывания нажмите кнопку рядом с inject-node и проверьте окно отладки на наличие сообщений.

Функциональный узел
- Function-Node позволяет вам написать JavaScript, который будет выполняться для каждого сообщения.
- Добавьте узел функции (toISOFormat) между узлом ввода и отладки и напишите JavaScript, как показано на рисунке ниже.
- Разверните и проверьте сообщения отладки.

Вот код JavaScript.

После развертывания обратите внимание на изменения в отладочных сообщениях.

Node-RED с Twitter API
С платформами Node-RED можно делать много интересного (например, я экспериментировал с работой в Twitter API). Я создал поток, который отслеживает API Twitter для определенных хеш-тегов. (В моем случае я использовал #Hitachi, но вы можете контролировать все что угодно).
Таким образом, всякий раз, когда кто-то использует этот тег, мой поток NODE-Red будет получать уведомления и информацию о твите (так что эта часть о чтении из Twitter).
Я также добавил функциональность записи. В моем случае Node-RED создаст твит и разместит в Твиттере.
Ниже приведены скриншоты этого потока. Это довольно простой пример, и вы также найдете похожие потоки на сайте Node-RED. Дело в том, что мне удалось очень легко все это настроить, не имея глубоких базовых знаний по API API.
Вот твит. Я использовал тег #Hitachi:

Вот основной поток, чтобы получить твиты для определенного хэштега.

Вот отладочная информация, показывающая твит.

Сохранение твитов в файл
Это всего лишь небольшое обновление предыдущего потока, поэтому я использую другой встроенный узел для записи в файл:


Создание твита
В этом обновлении Node-Red позволяет мне легко создавать твиты. Таким образом, всякий раз, когда он получает твит, он может автоматически создать ответ и опубликовать его в Twitter.


Вот скриншот Tweet-Reply

Резюме
Итак, мы увидели основные компоненты Node-RED; Вы можете создавать очень интересные потоки. Для приведенного выше примера API-интерфейса Twitter вам потребуется учетная запись разработчика из Twitter и ключи API для использования в потоке Node-RED.
Я также предлагаю проверить мои другие статьи о MQTT и IoT, чтобы лучше понять этот и будущие посты.
В моих следующих постах в блоге я приведу MQTT и немного Raspberry PI или Arduino, чтобы увидеть, как все это работает вместе. До следующего раза, счастливого кодирования!