Wi-Fi модуль ESP8266 со встроенным микроконтроллерным ядром предоставляет большие возможности для реализации концепции Интернета вещей. Он довольно прост в освоении и очень дешев. Кроме того, им легко управлять через Интернет.

Так, можно без особых проблем создать Telegram бота и пересылать команды управления модулем ESP8266. В данном материале приводится простой пример того, как это сделать.
Для начала нужно скачать библиотеку Телеграм-бота и добавить ее в среду разработки Arduino IDE, с помощью которой можно программировать ESP8266. Саму библиотеку можно найти на гитхабе (github.com/CasaJasmina/TelegramBot-Library). Эта библиотека позволяет вам размещать бота Telegram на вашей Arduino-подобной платформе и взаимодействовать с API мессенджера Telegram. Помимо ESP8266 также можно использовать Arduino/Genuino MKR1000 или Arduino Zero с шилдом WiFi shield 101.
Скачанный с гитхаба код можно включить как новую библиотеку в IDE, выбрав в меню: Sketch - include Library - Add .Zip library. Вам также необходимо установить библиотеку ArduinoJson (github.com/bblanchon/ArduinoJson).
Теперь нужно настроить бота Telegram. Установите Telegram на свой ноутбук или телефон и найдите Botfather. Через Botfather создайте своего нового бота. От Botfather вы можете взять токен.

Ниже приведен код для управления ESP8266 с помощью бота Telegram. Внесите в него учетные данные своей сети wifi и токен бота, а затем загрузите код. В данном примере программа просто включает и отключает светодиод.
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <TelegramBot.h>
#define LED 1 // вывод светодиода
const char* ssid = "xxxxx";
const char* password = "yyyyy";
// инициализация бота Telegram
const char BotToken[] = "xxxxxxxxx";
WiFiClientSecure net_ssl;
TelegramBot bot (BotToken, net_ssl);
void setup()
{
Serial.begin(115200);
while (!Serial) {}
delay(3000);
// пытаемся соединиться с сетью Wifi
Serial.print("Connecting Wifi: ");
Serial.println(ssid);
while (WiFi.begin(ssid, password) != WL_CONNECTED)
{
Serial.print(".");
delay(500);
}
Serial.println("");
Serial.println("WiFi connected");
bot.begin();
pinMode(LED, OUTPUT);
}
void loop()
{
message m = bot.getUpdates(); // Читаем новые сообщения
if (m.text.equals("on"))
{
digitalWrite(LED, 1);
bot.sendMessage(m.chat_id, "The Led is now ON");
}
else if (m.text.equals("off"))
{
digitalWrite(LED, 0);
bot.sendMessage(m.chat_id, "The Led is now OFF");
}
}
На приведенном ниже видео можно видеть, как с помощью сообщений в Telegram можно управлять модулем ESP8266.