Интернет вещей давно ворвался в повседневную жизнь – умный дом, умный телевизор и даже умный чайник. В этом курсе статей я помогу вам войти в мир интернета вещей и сэкономить при создании девайсов для дома. Встречайте первую статью из цикла уроков.
В данной статье мы подготовим Arduino IDE, бота в telegram и саму плату к работе. Для повторения урока вам понадобится плата Nodemcu, а также светодиод, пара соединительных проводов, breadboard на котором будет собрана схема. Для общения с компьютером воспользуемся micro usb проводом.
Схема абсолютно простая, главное не забыть про особенности распиновки nodemcu. Короткая нога светодиода в землю, длинная в пин D3.
Esp8266 понадобится нам для работы с nodemcu в среде разработки Arduino IDE.
Перед установкой пакета убедитесь, что у вас не установлена другая версия. В противном случае обязательно удалите ее перед установкой. А далее следуйте простым шагам:
1. Запустите среду разработки - Arduino IDE
2. Откройте настройки
3. В поле «Дополнительные ссылки для Менеджера плат» вставьте ссылку на esp8266 пакет: http:/ /arduino.esp8266.com/versions/2.3.0/package_esp8266com_index.json
4. Перейдите в Инструменты – Плата – Менеджер плат
5. Прокрутите вниз. Найдите esp8266. Выберите версию 2.3.0. (или другую более новую). Установите.
6. В Инструменты – Плата выберите nodemcu. Остальные настройки платы выставятся автоматически.
Для обработки полученных сообщений и отправки ответных реакций нам понадобится библиотека https://github.com/witnessmenow/Universal-Arduino-... . Советую установить ее вручную, так как могут возникнуть ошибки.
Настало время создать нашего цифрового друга, который верно и покорно будет обрабатывать все наши команды. Откройте бота @BotFather. Для создания нового бота напишите /newbot. Следуйте инструкциям, выберите ему имя и логин и в конце скопируйте bot token, он понадобится при прошивке платы nodemcu.
В первом уроке рассмотрим все части прошивки детально.
Подключаем нужные библиотеки.
#include <ESP8266WiFi.h> #include <WiFiClientSecure.h> #include <TelegramBot.h>
Указываем пин светодиода, wifi сеть и токен бота.
#define LED 0 //D3 const char* ssid = "yura"; const char* password = "0987654321s"; const char BotToken[] = "xxx";
Объявляем бота.
WiFiClientSecure net_ssl; TelegramBot bot (BotToken, net_ssl);
В void setup устанавливаем скорость общения с компьютером, пытаемся подключиться к wifi, выводим ip адрес устройства в сети, запускаем бота и pinmode для светодиода .
void setup() { Serial.begin(9600); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); Serial.println(WiFi.localIP()); bot.begin(); pinMode(LED, OUTPUT); }
Переходим в void loop. Здесь надо сначала проверить наличие новых сообщений.
message m = bot.getUpdates();
Теперь проверяем какое сообщение пришло, выполняем соответствующее действие, и отправляем ответную реакцию.
if (m.text.equals("on")){ digitalWrite(LED, HIGH); bot.sendMessage(m.chat_id, "The Led 1 is now ON"); }else if (m.text.equals("off")){ digitalWrite(LED, LOW); bot.sendMessage(m.chat_id, "The Led 1 is now OFF"); }
Скетч целиком можно скачать здесь: https://yadi.sk/d/R8TIz_t73XQcvG
Настало время прошивать микроконтроллер. Сначала меняем в скетче название и пароль от вашей Wi-Fi сети, потом меняем токен бота и пин к которому подключен светодиод. Загружаем скетч на плату.
Теперь, когда все установлено и прошито, можно посмотреть на работу устройства. Для включения и выключения светодиода используются команды on и off соответственно. Их надо просто отправить боту в сообщении. При подключении nodemcu к компьютеру, можно увидеть некоторую отладочную информацию в мониторе порта.
Поздравляем! Первый шаг к интернету вещей сделан! Но это всего лишь светодиод. А в следующих статьях будут рассмотрены датчики температуры, влажности, движения. Подписывайтесь!
Данная статья является собственностью Amperkot.ru. При перепечатке данного материала активная ссылка на первоисточник, не закрытая для индексации поисковыми системами, обязательна.
Комментарии