Перейти к содержанию

Навигация

Node-RED Telegram: различия между версиями

Нет описания правки
Строка 1: Строка 1:
{{DISPLAYTITLE: Настройка Telegram-бота на контроллере Wiren Board }}
{{DISPLAYTITLE: Настройка Telegram-бота на контроллере Wiren Board }}
[[Image: demo-command-full-nr.png |500px|thumb|right| Пример запроса данных с контроллера Wiren Board. Файл этого флоу смотрите в конце статьи]]
[[Image: demo-command-full-tg.png |500px|thumb|right| Пример общения с ботом. Файл этого флоу смотрите в конце статьи]]
[[Image: demo-command-full-tg.png |500px|thumb|right| Пример общения с ботом]]
== Подготовка ==
== Подготовка ==
Для настройки Telegram-бота на контроллере Wiren Board нам понадобится установленный [[Node-Red | Node-RED]] и настроенный модуль [[Node-Red#WB_Nodes |WB Nodes]] и созданный Telegram-бот.
Для настройки Telegram-бота на контроллере Wiren Board нам понадобится установленный [[Node-Red | Node-RED]] и настроенный модуль [[Node-Red#WB_Nodes |WB Nodes]] и созданный Telegram-бот.
Строка 8: Строка 7:


== Создание бота ==
== Создание бота ==
 
[[Image: tg-bot-created.png|300px|thumb|right| Процесс создания нового бота в мессенджере Telegram]]
Если у вас нет телеграм-бота, то создайте его:
Если у вас нет телеграм-бота, то создайте его:
# Установите клиент [https://telegram.org Telegram] и зарегистрируйте аккаунт.
# Установите клиент [https://telegram.org Telegram] и зарегистрируйте аккаунт.
Строка 23: Строка 22:


== Установка модуля ==
== Установка модуля ==
[[Image: installing node-red-contrib-telegrambot.png|400px|thumb|right| Установка модуля node-red-contrib-telegrambot]]
[[Image: installing node-red-contrib-telegrambot.png|300px|thumb|right| Установка модуля node-red-contrib-telegrambot]]
Чтобы Node-RED смог работать с Telegram, установите модуль <code>node-red-contrib-telegrambot</code>:
Чтобы Node-RED смог работать с Telegram, установите модуль <code>node-red-contrib-telegrambot</code>:
{{Node-RED Installing plugin
{{Node-RED Installing plugin
Строка 33: Строка 32:


== Создание ноды для бота ==
== Создание ноды для бота ==
[[Image: tg-bot-created.png|300px|thumb|right| Процесс создания нового бота в мессенджере Telegram]]
[[Image: tg-bot-configure-nr.png|300px|thumb|right| Создание ноды для телеграм-бота]]
Перед тем, как передавать данные из контроллера в чат с ботом, нам нужно настроить ноду нашего бота:
Перед тем, как передавать данные из контроллера в чат с ботом, нам нужно настроить ноду нашего бота:
# Перетяните в рабочую область ноду '''sender'''.
# Перетяните в рабочую область ноду '''sender'''.
Строка 83: Строка 82:
Теперь перейдите в чат к боту и отправьте ему произвольное сообщение, если бот прислал это же сообщение вам в ответ, то всё настроено правильно и можно переходить к более сложным задачам.
Теперь перейдите в чат к боту и отправьте ему произвольное сообщение, если бот прислал это же сообщение вам в ответ, то всё настроено правильно и можно переходить к более сложным задачам.


== Запрос информации с контроллера ==
== Запрос информации с датчиков контроллера ==
[[Image:demo-command-nr.png|500px|thumb|right| Флоу отправки температуры процессора по запросу пользователя. Темно-зелёная нода msg.payload — это вывод отладочных сообщений в debug-консоль]]
[[Image:demo-command-nr.png|500px|thumb|right| Флоу отправки температуры процессора по запросу пользователя. Темно-зелёная нода msg.payload — это вывод отладочных сообщений в debug-консоль]]
[[Image: demo-command-tg.png|400px|thumb|right| Общение с ботом в чате мессенджера Telegram. Бот в ответ на команду прислал температуру процессора, но не среагировал на другие сообщения]]
[[Image: demo-command-tg.png|400px|thumb|right| Общение с ботом в чате мессенджера Telegram. Бот в ответ на команду прислал температуру процессора, но не среагировал на другие сообщения]]
Строка 117: Строка 116:


=== Обработка команды ===
=== Обработка команды ===
[[Image: wb-cpu-temp-nr.png|300px|thumb|right| Настройка получения данных с датчиков контроллера Wiren Board]]
В предыдущем примере бот реагировал на любое входящее сообщение — теперь мы научим его понимать команды:
В предыдущем примере бот реагировал на любое входящее сообщение — теперь мы научим его понимать команды:


Строка 177: Строка 177:
Файлы:
Файлы:
* [[Media: Node-RED-demo-hello.zip | Пересылка принятых сообщений]]
* [[Media: Node-RED-demo-hello.zip | Пересылка принятых сообщений]]
* [[Media: Node-RED-demo-command.zip | Запрос информации с контроллера]]
* [[Media: Node-RED-demo-command.zip | Запрос информации с датчиков контроллера]]
* [[Media: Node-RED-demo-command-full.zip | Запрос информации с нескольких датчиков контроллера одновременно]]
* [[Media: Node-RED-demo-command-full.zip | Запрос информации с нескольких датчиков контроллера одновременно]]