Проверка/Оформление/Редактирование: Мякишев Е.А.
|
|
|
Черновик
|
Внешний вид ноды[1]
Во внешнем виде ноды можно настроить три элемента: иконку, фоновый цвет и надпись.
Иконка
Иконка ноды задается в свойстве «icon» в HTML-файле ноды.
Значением в этом свойстве может быть строка или функция.
Если значение – это строка с названием файла иконки, то этот файл и будет служить иконкой.
Если значение – это функция, то она будет вызвана при первой загрузке ноды или после ее редактирования. Эта функция должна вернуть значение с данными о графическом файле, который будет использоваться в качестве иконки. Кроме того, эта функция будет вызываться и для нод в рабочей области (где объект «this» отсылает к экземпляру ноды), а также для ее «витринного» экземпляра в «палитре». В этом случае «this» не будет отсылать к экземпляру ноды, а функция обязательно должна будет вернуть корректное значение.
...
icon: "file.png",
...
Можно воспользоваться либо стоковыми, либо собственными иконками. Кроме того, иконку может задать сам пользователь в меню редактирования ноды, выбрав ее из списка предложенных вариантов.
Стоковые иконки
Собственные иконки
Вы можете задать для ноды собственную иконку, поместив ее в папку «icons», которая должна находиться вместе с файлами «*.js» и «*.html». Эта директория записывается в путь для поиска файлов – именно в ней редактор будет искать иконку с заданным названием файла. По этой причине название файла иконки должно быть уникальным.
Иконка должна быть белого цвета на прозрачном фоне. Размер – 40х60.
Как задать иконку для ноды прямо в редакторе
Начиная с версии 0.18 в Node-RED пользователь может задать иконку для ноды прямо в редакторе. Для этого нужно открыть меню редактирования ноды, открыть вкладку «Appearance», кликнуть по текущей иконке в поле «Icon» и в открывшемся меню выбрать нужную иконку.
Фоновый цвет
Фоновый цвет ноды – это один из главных способов быстро выделить ее из числа других нод. Он задается в свойстве «color» в HTML-файле ноды.
...
color: "#a6bbcf",
...
Для фона нод в Node-RED используются «приглушенные» цвета. Поэтому для новых нод рекомендуется подобрать цвет, который тоже будет подходить этой сдержанной палитре.
Вот несколько наиболее часто используемых цветов:
Надпись
В HTML-файле ноды можно задать 4 свойства, связанных с ее надписью: «label», «paletteLabel», «outputLabel» и «inputLabel».
Надпись ноды в рабочей области («label»)
Надписью ноды в рабочей области редактора может быть статичный текст, но в то же время ее можно задать динамически отдельно для каждой ноды согласно ее свойствам.
Значением в свойстве может быть либо строка, либо функция.
Если значение – это строка, для надписи будет использоваться текст, находящийся в ней.
Если значение – это функция, она будет вызвана либо при первой загрузке ноды, либо после ее редактирования. Эта функция должна будет вернуть значение, которое и будет использоваться в качестве надписи.
Как уже упоминалось в статье «Создание первой ноды», среди разработчиков есть договоренность обязательно оснащать ноду свойством «name», чтобы ноды было легче отличать друг от друга. В коде ниже показано, как записать в «label» значение из свойства «name» или какое-нибудь подходящее значение по умолчанию (например «lower-case»).
...
label: function() {
return this.name||"lower-case";
},
...
|
|
|
Примечание: В функции для «label» нельзя использоваться свойства для учетных данных.
|
Надпись ноды в «палитре» («paletteLabel»)
По умолчанию для надписи ноды в «палитре» редактора используется тип этой ноды. Чтобы переписать его, можно воспользоваться свойством «paletteLabel».
Как и в случае с «label», это может быть строка или функция. Если это функция, она вызывается, когда нода добавляется в «палитру».
Стиль текста в надписи ноды («labelStyle»)
CSS-класс для текста надписи тоже можно задать динамически, и это делается при помощи свойства «labelStyle». Если в этом свойстве не задано ничего, будет использован CSS-класс по умолчанию – «node_label». Другой (и единственный) возможный вариант – «node_label_italic».
В коде ниже демонстрируется, как свойству «labelStyle» можно присвоить значение «node_label_italic», если в свойстве «name» уже задано какое-либо значение.
...
labelStyle: function() {
return this.name?"node_label_italic":"";
},
...
Выравнивание
По умолчанию иконка и надпись выровнены по левому краю ноды. Но для нод, которые ставятся в конце потока, среди разработчиков есть договоренность, чтобы иконка и надпись были выровнены по правой стороне.
Чтобы сделать это, в свойстве «align» нужно задать «right»:
Надписи для портов
Начиная с версии 0.17 в Node-RED некоторым нодам стало можно опционально задавать надписи для входных и выходных портов. Для просмотра надписи на порт нужно навести курсором мышки.
Надписи для портов можно задать в HTML-файле ноды:
...,
inputLabels: "parameter for input",
outputLabels: ["stdout","stderr","rc"],
...
Кроме того, их можно сгенерировать с помощью функции, где параметром служит индекс порта (начинается с «0»), которому нужно задать ту или иную надпись:
...,
outputLabels: function(index) {
return "my port number "+index;
}
...
В обоих случаях эти значения можно переписать в меню редактирования ноды на вкладке «Appearance».
|
|
|
Примечание: Надписи для портов не генерируются динамически, и их нельзя задать с помощью свойств «msg».
|
См.также
Внешние ссылки
Телепорт |
---|
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:
|
---|
Примеры из сторонних библиотек |
|
---|
|
---|
Электроника |
|
---|