Node-RED: отправка сообщений в WhatsApp

Узнайте, как отправлять сообщения в вашу учётную запись WhatsApp с помощью Node-RED. Это может стать отличным дополнением к вашей системе автоматизации Node-RED. Например, для отправки уведомлений с показаниями датчиков, предупреждений, когда показания датчика выше или ниже определённого порога, при обнаружении движения и для многих других применений. Для отправки сообщений мы будем использовать бесплатный API под названием CallMeBot. Бесплатный API предназначен только для личного использования.

Node-RED отправка сообщений в WhatsApp

Предварительные требования

Прежде чем продолжить, вам необходимо установить Node-RED. Вы можете установить Node-RED локально на свой компьютер, на Raspberry Pi или на облачный сервер. Ознакомьтесь со следующими руководствами:

Для быстрого начала работы с Node-RED ознакомьтесь со следующими руководствами:

Знакомство с WhatsApp

Логотип WhatsApp

«WhatsApp Messenger, или просто WhatsApp, — это международный американский бесплатный кроссплатформенный централизованный сервис мгновенных сообщений и VoIP, принадлежащий Meta Platforms.» Он позволяет отправлять сообщения, используя интернет-соединение вашего телефона, что позволяет избежать платы за SMS.

WhatsApp бесплатен и доступен для Android и iOS. Установите WhatsApp на свой смартфон, если вы ещё этого не сделали.

WhatsApp API от CallMeBot

Для отправки сообщений в вашу учётную запись WhatsApp с помощью Node-RED мы будем использовать бесплатный API-сервис под названием CallMeBot. Вы можете узнать больше о CallMeBot по следующей ссылке:

По сути, он работает как шлюз, который позволяет отправить сообщение самому себе. Это может быть полезно для отправки предупреждений из Node-RED.

Всю информацию о том, как отправлять сообщения с помощью API, можно найти здесь.

Прежде чем начать использовать API, вам необходимо получить API-ключ CallMeBot для WhatsApp. Следуйте приведённым ниже инструкциям (перейдите по этой ссылке для просмотра инструкций на официальном сайте).

  1. Добавьте номер телефона +34 621 331 709 в контакты вашего телефона. (Назовите контакт как хотите) — пожалуйста, проверьте номер на сайте CallMeBot, так как он иногда меняется.

  2. Отправьте следующее сообщение: «I allow callmebot to send me messages» новому созданному контакту (через WhatsApp, разумеется);

  3. Дождитесь получения сообщения «API Activated for your phone number. Your APIKEY is XXXXXX» от бота.

Получение API-ключа CallMeBot

Примечание: Если вы не получите API-ключ в течение 2 минут, попробуйте снова через 24 часа. Сообщение WhatsApp от бота будет содержать API-ключ, необходимый для отправки сообщений с помощью API.

Существуют различные узлы, которые вы можете установить в Node-RED и которые упрощают отправку сообщений в вашу учётную запись WhatsApp. Как мы уже упоминали, мы будем использовать узлы, работающие с сервисом CallMeBot.

Перейдите в Menu > Manage Palette > Install и найдите node-red-contrib-whatsapp-cmb.

Установка узлов WhatsApp в Node-RED

После установки узел WhatsApp появится на вашей палитре.

Узел WhatsApp в Node-RED

Отправка сообщений в WhatsApp с помощью Node-RED

Давайте создадим базовый пример, который покажет, как отправлять сообщения в WhatsApp с помощью только что установленного узла.

Перетащите узел Send Message WhatsApp, узел inject и узел debug на поток. Соедините их следующим образом:

Отправка сообщений в WhatsApp с помощью Node-RED

Если вы проверите документацию узла WhatsApp, там сказано:

«msg.text используется как сообщение, которое вы хотите отправить. Это должна быть строка (String). Вы можете использовать его напрямую или с выходом другого узла.»

Мы зададим сообщение, которое хотим отправить, в msg.text в узле inject. Дважды щёлкните на узел inject и отредактируйте его свойства следующим образом (вы можете написать любое другое сообщение).

Настройка узла inject в Node-RED для сообщений WhatsApp

Дважды щёлкните на узел Send Message. Нажмите на значок карандаша, чтобы добавить новую учётную запись WhatsApp. Дайте ей имя, введите свой номер телефона (в международном формате) и API-ключ, который вы получили от бота.

Редактирование узла WhatsApp в Node-RED

Когда закончите, нажмите Update.

Затем измените поле Message на msg.text.

Редактирование узла WhatsApp в Node-RED

Наконец, нажмите Done.

Тестирование потока

Разверните ваше приложение.

Кнопка Deploy в Node-RED

После развёртывания нажмите на левый квадрат узла inject, чтобы запустить узел WhatsApp sender.

Запуск потока WhatsApp в Node-RED

Через несколько секунд вы должны получить сообщение в своей учётной записи WhatsApp от бота с содержимым, которое вы задали в узле:

Тестирование отправки сообщений в WhatsApp с помощью Node-RED

Вот и всё! Вы узнали простой способ отправки сообщений в WhatsApp с помощью Node-RED и API callmebot.

Заключение

Теперь вы знаете, как отправлять сообщения в свою учётную запись WhatsApp с помощью Node-RED и сервиса callmebot. Вы можете применить полученные знания в своей системе домашней автоматизации для отправки полезных уведомлений. Идея состоит в том, чтобы применить эту функцию в реальных сценариях.

Если вы хотите узнать, как отправлять сообщения в WhatsApp с помощью плат ESP32 или ESP8266, ознакомьтесь со следующими руководствами:

Чтобы узнать больше о Node-RED и домашней автоматизации, ознакомьтесь с нашей специальной электронной книгой по ссылке ниже. Изучите Node-RED и InfluxDB на Raspberry Pi для создания системы домашней автоматизации с ESP32 и ESP8266.

Спасибо за чтение.