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, чтобы увидеть, как все это работает вместе. До следующего раза, счастливого кодирования!