Node-RED: отправка сообщений в WhatsApp
Узнайте, как отправлять сообщения в вашу учётную запись WhatsApp с помощью Node-RED. Это может стать отличным дополнением к вашей системе автоматизации Node-RED. Например, для отправки уведомлений с показаниями датчиков, предупреждений, когда показания датчика выше или ниже определённого порога, при обнаружении движения и для многих других применений. Для отправки сообщений мы будем использовать бесплатный API под названием CallMeBot. Бесплатный API предназначен только для личного использования.
Предварительные требования
Прежде чем продолжить, вам необходимо установить Node-RED. Вы можете установить Node-RED локально на свой компьютер, на Raspberry Pi или на облачный сервер. Ознакомьтесь со следующими руководствами:
Установка Node-RED на Raspberry Pi (работает на RPI OS 64-bit)
Доступ к панели управления Node-RED из любого места с помощью Digital Ocean
Для быстрого начала работы с Node-RED ознакомьтесь со следующими руководствами:
Знакомство с 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. Следуйте приведённым ниже инструкциям (перейдите по этой ссылке для просмотра инструкций на официальном сайте).
Добавьте номер телефона +34 621 331 709 в контакты вашего телефона. (Назовите контакт как хотите) — пожалуйста, проверьте номер на сайте CallMeBot, так как он иногда меняется.
Отправьте следующее сообщение: «I allow callmebot to send me messages» новому созданному контакту (через WhatsApp, разумеется);
Дождитесь получения сообщения «API Activated for your phone number. Your APIKEY is XXXXXX» от бота.
Примечание: Если вы не получите API-ключ в течение 2 минут, попробуйте снова через 24 часа. Сообщение WhatsApp от бота будет содержать API-ключ, необходимый для отправки сообщений с помощью API.
Существуют различные узлы, которые вы можете установить в Node-RED и которые упрощают отправку сообщений в вашу учётную запись WhatsApp. Как мы уже упоминали, мы будем использовать узлы, работающие с сервисом CallMeBot.
Перейдите в Menu > Manage Palette > Install и найдите node-red-contrib-whatsapp-cmb.
После установки узел WhatsApp появится на вашей палитре.
Отправка сообщений в WhatsApp с помощью Node-RED
Давайте создадим базовый пример, который покажет, как отправлять сообщения в WhatsApp с помощью только что установленного узла.
Перетащите узел Send Message WhatsApp, узел inject и узел debug на поток. Соедините их следующим образом:
Если вы проверите документацию узла WhatsApp, там сказано:
«msg.text используется как сообщение, которое вы хотите отправить. Это должна быть строка (String). Вы можете использовать его напрямую или с выходом другого узла.»
Мы зададим сообщение, которое хотим отправить, в msg.text в узле inject. Дважды щёлкните на узел inject и отредактируйте его свойства следующим образом (вы можете написать любое другое сообщение).
Дважды щёлкните на узел Send Message. Нажмите на значок карандаша, чтобы добавить новую учётную запись WhatsApp. Дайте ей имя, введите свой номер телефона (в международном формате) и API-ключ, который вы получили от бота.
Когда закончите, нажмите Update.
Затем измените поле Message на msg.text.
Наконец, нажмите Done.
Тестирование потока
Разверните ваше приложение.
После развёртывания нажмите на левый квадрат узла inject, чтобы запустить узел WhatsApp sender.
Через несколько секунд вы должны получить сообщение в своей учётной записи WhatsApp от бота с содержимым, которое вы задали в узле:
Вот и всё! Вы узнали простой способ отправки сообщений в WhatsApp с помощью Node-RED и API callmebot.
Заключение
Теперь вы знаете, как отправлять сообщения в свою учётную запись WhatsApp с помощью Node-RED и сервиса callmebot. Вы можете применить полученные знания в своей системе домашней автоматизации для отправки полезных уведомлений. Идея состоит в том, чтобы применить эту функцию в реальных сценариях.
Если вы хотите узнать, как отправлять сообщения в WhatsApp с помощью плат ESP32 или ESP8266, ознакомьтесь со следующими руководствами:
Чтобы узнать больше о Node-RED и домашней автоматизации, ознакомьтесь с нашей специальной электронной книгой по ссылке ниже. Изучите Node-RED и InfluxDB на Raspberry Pi для создания системы домашней автоматизации с ESP32 и ESP8266.
Спасибо за чтение.