Отправляем WhatsApp сообщения с помощью Raspberry Pi

Схема подключения Arduino для отправки WhatsApp сообщений

Отправляем WhatsApp-сообщения через Arduino или Raspberry Pi с помощью последовательной связи и Twilio Python API.

Комплектующие

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

Оборудование

  • Arduino UNO × 1

  • Датчик температуры × 1

  • Перемычки × 1

Программное обеспечение и приложения

Проект

Было время, когда SMS считался одним из самых мощных инструментов связи, однако с появлением Android-телефонов и социальных сетей ситуация изменилась — мы перешли на WhatsApp из-за простоты и доступного сервиса обмена сообщениями, позволяющего легко отправлять даже мультимедиа.

Ранее для отправки предупреждающих сообщений через Arduino использовался GSM-модуль, но с изменением трендов должен измениться и наш подход. В этом уроке мы разберёмся, как реализовать WhatsApp-оповещения с помощью Arduino, что сэкономит деньги, которые пришлось бы потратить на GSM-модуль.

Для справки. Этот метод подходит для Arduino, Raspberry Pi или Python на любой платформе.

Настройка учетной записи Twilio

Мы будем использовать Twilio API для Python для отправки предупреждающих WhatsApp-сообщений. Чтобы начать работу с twilio, необходимо выполнить следующие шаги:

  • Перейти на www.twilio.com.

  • Зарегистрировать аккаунт.

  • Проверить свой номер.

  • Затем перейти к SMS-чатботу.

  • Дать вашему проекту имя.

  • Будет открыта блок-схема, но поскольку мы используем Twilio API для python, нам не нужно переходить к программируемым SMS.

  • Перейти к WhatsApp.

  • Активируйте песочницу (sandbox ), зайдя в песочницу (sandbox ).

  • Затем вам дадут номер WhatsApp и код, вам нужно будет отправить SMS с этим кодом на номер.

  • Ваш номер будет добавлен, а затем вам нужно будет перейти в консоль и скопировать свой SID учетной записи и токен авторизации.

Схема для проекта

Схема у нас простая — соединяем компоненты как показано на схеме выше. На изображении представлена Diecimila, но можно использовать Arduino UNO, Mega или любую другую плату. Подключения будут такими же.

Установка библиотеки Twilio и код проекта

Всё необходимое можно скачать с Github. Теперь убедитесь, что на вашем ноутбуке или Raspberry Pi установлен Python. Перейдите в терминал или командную строку и напишите:

pip install twilio

После этого вставьте SID и токен своей учётной записи в код и запустите программу:

# Загрузите вспомогательную библиотеку с https://www.twilio.com/docs/python/install

from twilio.rest import Client

# Ваш Sid и Auth Token от twilio.com/console

account_sid = 'AC1d8ea8f74323a'
auth_token = 'your_auth_token'

client = Client(account_sid, auth_token)
message = client.messages.create( body='Hello there!',from_='whatsapp:+14155238886', to='whatsapp:+15005550006')

print(message.sid)

Установите соединение с Arduino и загрузите код.

int val;
int tempPin = 0;

void setup(){
Serial.begin(9600);
}

void loop(){
val = analogRead(tempPin);
float mv = ( val/1024.0)*5000;
float cel = mv/10;if(cel>=22.00)
    {
    Serial.println(cel);
    }
delay(1000);
}

Вот так можно отправить WhatsApp-оповещение при помощи Arduino. Этот же код используется для отправки с Raspberry Pi, причём для Pi последовательная связь не понадобится.