16 578
правок
Строка 1: | Строка 1: | ||
{{DISPLAYTITLE: Настройка Telegram-бота на контроллере Wiren Board }} | {{DISPLAYTITLE: Настройка Telegram-бота на контроллере Wiren Board }} | ||
[[Image: demo-command-full- | [[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| | [[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- | [[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 | Запрос информации с нескольких датчиков контроллера одновременно]] |