Проверка/Оформление/Редактирование: Мякишев Е.А.
|
|
|
Черновик
|
Запуск на IBM Cloud[1]
Node-RED есть в каталоге платформы IBM Cloud в виде приложения-шаблона (boilerplate).
По этой ссылке находится GitHub-репозиторий, где можно найти версию Node-RED для развертки на IBM Cloud всего в пару кликов.
Приложение-шаблон Node-RED
- Залогиньтесь (или создайте аккаунт и залогиньтесь) в bluemix.net
- Откройте каталог (кнопка «Catalog» вверху) и поищите «Node-RED»
- Должны найтись вот эти два варианта:
- «Node-RED Starter» – обычный экземпляр Node-RED
- «Internet of Things Platform Starter» – здесь будет все необходимое для быстрого запуска Node-RED при помощи платформы Watson IoT, включая несколько базовых потоков, чтобы показать, как все работает
- В обоих случаях вы получите:
- Экземпляр базы данных Cloudant для хранения настроек потоков
- Набор нод для упрощенного доступа к различным Bluemix-сервисам, включая платформу Watson IoT и сервисы Watson Cognitive
- Кликните по выбранному приложению, дайте ему название и кликните на кнопку «Create»
Через несколько минут вы получите доступ к экземпляру Node-RED по ссылке «https://<ваше_название>.mybluemix.net».
Настройка экземпляра Node-RED
Чтобы начать настройку экземпляра Node-RED, вам нужно загрузить приложение локально или включить интеграционную функцию Continuous Delivery в панели управления вашего приложения. Это создаст git-репозиторий либо на GitHub, либо на IBM DevOps, где вы сможете настроить свой Node-RED, сохранить изменения и автоматически обновить приложение в IBM Cloud.
Защита редактора паролем
После запуска экземпляра Node-RED вы можете защитить его редактор паролем. Для этого в консоли IBM Cloud или в командной строке Cloud Foundry нужно задать несколько переменных окружения.
- Откройте в IBM Cloud панель управления своего экземпляра Node-RED, кликните по меню «Runtime» слева и выберите пункт «Environment variables».
- Промотайте вниз страницы и при помощи кнопки «Add» добавьте три переменные ниже:
- «NODE_RED_USERNAME» – имя пользователя для доступа к редактору
- «NODE_RED_PASSWORD» – пароль для доступа к редактору
- «NODE_RED_GUEST_USER» – если задать в этой переменной «true», это разрешит анонимным пользователям доступ к редактору в режиме «только для чтения»
- Нажмите на кнопку «Save».
Добавление нод
Установка в редактор новых нод выполняется через меню «Palette». Чтобы открыть его, кликните по кнопке с тремя полосками справа вверху, а затем на пункт «Manage palette».
Есть и другой способ – отредактировать файл «package.json» своего приложения, добавив нужные модули в секцию «dependencies». Добавляя ноды, соблюдайте формат «node-red-название-пакета-нод»:«x.x.x» (где «x.x.x» – это номер нужной вам версии).
Обновление версии Node-RED
Файл «package.json» настроен на скачивание самого последнего стабильного релиза Node-RED. Обновление запускается при обнаружении наличия новой версии Node-RED.
- У каждого приложения Node.js в IBM Cloud есть отдельная папка для кэша, где хранятся разрешенные зависимости – чтобы не загружать и не устанавливать их каждый раз заново. Но при обновлении этот кэш нужно отключить. Задайте переменную окружения «NODE_MODULES_CACHE» на «false». Это можно сделать либо в консоли IBM Cloud («Runtime» > «Environment Variables»), либо с помощью командной строки Cloud Foundry:
cf set-env [APPLICATION_NAME] NODE_MODULES_CACHE false
- Далее запускаем обновление приложения. В консоли IBM Cloud этого сделать нельзя, но можно сделать в командной строке Cloud Foundry:
cf restage [APPLICATION_NAME]
- Если вы обновили Node-RED до версии 0.20 или выше, то Node.js, на базе которого работает ваш Node-RED, обязательно должен быть версии 8 или выше. Для вам нужно будет отредактировать файл «package.json» (о том, как это сделать, читайте в абзаце ниже). Если в свойстве «engines» не стоит значение «8.x», то установите его.
Чтобы отредактировать файл «package.json», на панели управления IBM Cloud должна быть включена интеграционная настройка «Continuous Delivery». Это создаст git-репозиторий на GitHub или IBM DevOps, где вы сможете отредактировать этот файл, сохранить изменения и автоматически обновить приложение в IBM Cloud.
Замена статичного веб-контента
Посадочная страница вашего экземпляра Node-RED создается с помощью статичного веб-контента из приложения. Но его можно заменить на любой другой контент – для этого его нужно поместить в директорию «public».
Если вы хотите удалить статичный веб-контент, используемый по умолчанию, и использовать для посадочной страницы контент из корневой директории, то вам нужно удалить в файле «bluemix-settings.js» свойства «httpStatic» и «httpAdminRoot».
Развертка Node-RED на IBM Cloud
GitHub-репозиторий «node-red-bluemix-starter» позволяет создать экземпляр Node-RED с собственными настройками, а также выполнить его развертку на IBM Cloud всего за пару кликов.
Для этого сначала кликните по кнопке ниже.
В результате вас перенаправит на IBM Cloud, где вы можете задать название для своего приложения, после чего за дело возьмется сама платформа, которая возьмет код с репозитория и выполнит его развертку.
Это автоматически создаст экземпляр сервиса Cloudant, назовет его «sample-node-red-cloudantNoSQLDB» и свяжет его с вашим приложением. Именно здесь ваш экземпляр Node-RED будет хранить свои данные. Если вы выполните развертку нескольких экземпляров Node-RED из этого репозитория, они будут использовать один и тот же экземпляр Cloudant.
Кроме того, этот экземпляр Node-RED по умолчанию имеет несколько базовых потоков, развертка которых будет автоматически выполнена с первым запуском Node-RED.
Настройка репозитория Node-RED
Этот репозиторий можно клонировать, модифицировать и использовать повторно, чтобы любой мог создать собственное приложение Node-RED и быстро развернуть его на IBM Cloud.
Базовые потоки хранятся в директории «defaults» в файле «flow.json».
Данные для веб-страницы, которая открывается, когда вы переходите по ссылке приложения, хранится в директории «public».
Новые ноды в редактор можно добавить через файл «package.json», а все прочие настройки Node-RED можно задать в файле «bluemix-settings.js».
Если вы клонировали репозиторий, также отредактируйте файл «README.md», чтобы кнопка «Deploy to IBM Cloud» направляла к вашему репозиторию.
Если вам нужно поменять название экземпляра Cloudant, размер памяти, отведенной для приложения, и прочие настройки развертки, загляните в файл «manifest.yml».
См.также
Внешние ссылки
Телепорт |
---|
Arduino |
Примеры Arduino |
---|
Стандартные функции |
---|
Основы |
|
---|
Цифровой сигнал |
|
---|
Аналоговый сигнал |
|
---|
Связь |
- ReadASCIIString - Анализ строки, состоящей из разделенных запятыми int-значений, и их последующее использование для управления RGB-светодиодом.
- ASCII Table - Демонстрирует продвинутые способы вывода данных на Serial Monitor.
- Dimmer - Изменение яркости светодиода при помощи движения мышкой.
- Graph - Отправка данных на компьютер и их графическое отображение в скетче Processing.
- Physical Pixel - Включение/выключение светодиода путем отправки данных со скетча Processing (или Max/MSP) на Arduino.
- Virtual Color Mixer - Отправка с Arduino на компьютер сразу нескольких значений, а затем их считывание при помощи скетча для Processing или Max/MSP.
- Serial Call Response - Многобайтная передача данных при помощи метода вызова и ответа (метода «рукопожатия»).
- Serial Call Response ASCII - Многобайтная передача данных при помощи метода вызова и ответа (метода «рукопожатия»). До передачи данные зашифровываются в ASCII.
- SerialEvent - Демонстрирует использование SerialEvent().
- Serial input (Switch (case) Statement) - Как совершать различные действия, беря за основу символы, присланные через последовательный порт.
- MIDI - Передача через последовательный порт сообщений с MIDI-нотами.
- MultiSerialMega - Использование двух последовательных портов на Arduino Mega.
|
---|
Управляющие структуры |
- If Statement - Как использовать оператор «if» для создания условий, опирающихся на входные аналоговые данные, при которых светодиод будет либо включаться, либо оставаться выключенным.
- For Loop - Управление несколькими светодиодами, чтобы они мигали, как LED-полоска у автомобиля Китт из сериала «Рыцарь дорог».
- Array - Вариация примера «For Loop», но с использованием массива.
- While Loop - Использование цикла while() для калибровки датчика. Калибровка включается при нажатии на кнопку.
- Switch Case - Как совершать какие-либо действия в зависимости от значений, полученных от датчика. Эквивалент примера «If Statement», но если бы условий было не два, а четыре. Этот пример демонстрирует, как дробить диапазон данных от датчика на четыре «суб-диапазона», а затем в зависимости от полученных результатов совершать одно из четырех действий.
- Switch Case 2 - Второй пример, демонстрирующий использование оператора switch. Показывает, как совершать различные действия в зависимости от определенных символов, полученных через последовательный порт.
|
---|
Датчики |
- ADXL3xx - Считывание данных с акселерометра ADXL3xx.
- Knock - Определение стука при помощи пьезоэлемента.
- Memsic2125 - Считывание данных с 2-осевого акселерометра Memsic2125.
- Ping - Определение объектов при помощи ультразвукового дальномера.
|
---|
Дисплей |
Примеры, объясняющие основы управления дисплеем:
|
---|
Строки |
|
---|
USB (для Leonardo, Micro и Due плат) |
В этой секции имеют место примеры, которые демонстрируют использование библиотек, уникальных для плат Leonardo, Micro и Due.
|
---|
Клавиатура |
- KeyboardMessage - Отправка текстовой строки при нажатии на кнопку.
- KeyboardLogout - Выход из текущей пользовательской сессии при помощи клавиатурных комманд.
- KeyboardSerial - Считывает байт, присланный через последовательный порт, а в ответ отсылает другой байт.
- KeyboardReprogram - Открывает новое окно в среде разработки Arduino, а затем перешивает Leonardo скетчем «Моргание».
|
---|
Мышь |
|
---|
Разное |
---|
|
---|
Espruino |
|
---|
ESP8266 |
ESP8266 AT-команды |
---|
Список AT-команд |
---|
Базовые команды |
- AT - Проверка запуска
- AT+RST - Рестарт
- AT+GMR - Просмотр информации о версиях
- AT+GSLP - Активация режима глубокого сна
- ATE - Активация/деактивация эха
- AT+RESTORE - Сброс к заводским настройкам
- AT+UART Настройка UART [Устарела]
- AT+UART_CUR - Настройка UART в текущей сессии
- AT+UART_DEF - Дефолтная настройка UART (записывается на FLASH)
- AT+SLEEP - Режим сна
|
---|
Команды для WiFi |
- AT+CWMODE - WiFi-режим (клиент / точка доступа / клиент + точка доступа).
- AT+CWMODE_CUR - WiFi-режим (клиент / точка доступа / клиент + точка доступа). Запись на FLASH не идет.
- AT_CWMODE_DEF - WiFi-режим (клиент / точка доступа / клиент + точка доступа). Запись идет на FLASH.
- AT+CWJAP - Подключение к точке доступа.
- AT+CWJAP_CUR - Подключение к точке доступа. Запись на FLASH не идет.
- AT+CWJAP_DEF - Подключение к точке доступа. Запись идет на FLASH.
- AT+CWLAP - Вывод списка доступных точек доступа.
- AT+CWQAP - Отключение от точки доступа
- AT+CWSAP - Настройка параметров для режима точки доступа
- AT+CWSAP_CUR - Настройка параметров для режима точки доступа. На FLASH запись не идет.
- AT+CWSAP_DEF - Настройка параметров для режима точки доступа. Запись идет на FLASH.
- AT+CWLIF - Получение IP-адресов клиентов, подключенных к точке доступа ESP8266.
- AT+CWDHCP - Включение/выключение DHCP. [Эта команда устарела].
- AT+CWDHCP_CUR - Включение/выключение DHCP. На FLASH не записывается.
- AT+CWDHCP_DEF - Включение/выключение DHCP. Сохранение идет на FLASH.
- AT+CWAUTOCONN - Автоматическое подключение к точке доступа при включении ESP8266.
- AT+CIPSTAMAC - Задает MAC-адрес для клиента ESP8266
- AT+CIPSTAMAC_CUR - Задает MAC-адрес для клиента ESP8266. На FLASH запись не идет.
- AT+CIPSTAMAC_DEF - Задает MAC-адрес для клиента ESP8266. Запись идет на FLASH.
- AT+CIPAPMAC - Задает MAC-адрес для точки доступа ESP8266.
- AT+CIPAPMAC_CUR - Задает MAC-адрес для точки доступа ESP8266. Запись на FLASH не идет.
- AT+CIPAPMAC_DEF - Задает MAC-адрес для точки доступа ESP8266. Запись идет на FLASH.
- AT+CIPSTA - Задает IP-адрес клиента ESP8266.
- AT+CIPSTA_CUR - Задает IP-адрес клиента ESP8266. Запись на FLASH не идет.
- AT+CIPSTA_DEF - Задает IP-адрес клиента ESP8266. Запись идет на FLASH.
- AT+CIPAP - Задает IP-адрес точки доступа ESP8266
- AT+CIPAP_CUR - Задает IP-адрес точки доступа ESP8266. На FLASH запись не идет.
- AT+CIPAP_DEF - Задает IP-адрес точки доступа ESP8266. Запись идет на FLASH.
- AT+CWSTARTSMART - Запуск SmartConfig
- AT+CWSTOPSMART - Остановка SmartConfig
|
---|
Команды для TCP/IP |
|
---|
|
---|
Node-RED |
|
---|
Processing |
Справочник языка Processing |
---|
Конструкции языка |
|
---|
Окружение |
|
---|
Данные |
|
---|
Управление |
|
---|
Форма |
|
---|
Ввод |
|
---|
Вывод |
|
---|
Преобразование |
|
---|
Свет, камера |
|
---|
Цвет |
|
---|
Изображение |
|
---|
Рендер |
|
---|
Типография |
|
---|
Математика |
|
---|
Константы |
|
---|
Примеры на Processing |
---|
Основы |
- Структуры и конструкции:
- Фигуры:
- Данные:
- Массивы:
- Управляющие конструкции:
- Работа с изображением:
- Работа с цветом:
- Применение математических функций:
|
---|
Продвинутые графические эффекты |
- Рисование:
- Анимация:
- Графический интерфейс пользователя:
- Движение:
- Взаимодействие:
- Обработка изображения:
- Advanced Data:
- File IO:
- Simulate:
- Vectors:
- Fractals and L-Systems:
- Cellular Automata:
|
---|
Примеры из сторонних библиотек |
|
---|
|
---|
Электроника |
|
---|