Съдържание:

[IoT] Telegram бот с Arduino MKR WiFi 1010: 5 стъпки
[IoT] Telegram бот с Arduino MKR WiFi 1010: 5 стъпки

Видео: [IoT] Telegram бот с Arduino MKR WiFi 1010: 5 стъпки

Видео: [IoT] Telegram бот с Arduino MKR WiFi 1010: 5 стъпки
Видео: 35 Light Control with Telegram and ESP8266 | NodeMCU | Arduino | 2024, Юли
Anonim
Image
Image
От какво имаш нужда
От какво имаш нужда

Този проект демонстрира как да взаимодейства Arduino с API на Telegram Bot. Проектът е изграден около новата платка MKR WiFi 1010, оборудвана с модул ESP32 от U-BLOX.

На този етап проектът е не повече от доказателство за концепция, само за да ви покаже с какво можете да направите, така че за това имате нужда само от дъската Arduino.

Но какво е Telegram Bot? Е, ботовете са просто акаунти в Telegram, управлявани от софтуер - не хора - и те често ще имат функции на AI. Те могат да правят всичко - да преподават, играят, търсят, излъчват, напомнят, свързват се, интегрират се с други услуги или дори предават команди към Интернет на нещата. (кредити от Telegram:

В нашия случай ще предадем команди на Arduino, изграждащо просто IoT устройство. Той ще отговаря на прости команди и също така ще включва/изключва вградения светодиод. Ще позволя на вашето въображение да направи повече с него … (представете си, че можете да свържете едно или повече релета към I/O щифтовете и да включите/изключите нагревател или климатичната система със своя смартфон например).

Стъпка 1: Какво ви трябва

От какво имаш нужда
От какво имаш нужда

За този проект се нуждаете от:

  • Arduino MKR WiFi 1010 от магазин Arduino:
  • Arduino IDE 1.8.5 или по -нова:
  • Микро-USB кабел за свързване на Arduino към вашия компютър
  • Интернет връзка, изисква SSID и парола. По -добре, ако използвате собствен домашен рутер, за да сте сигурни, че не е блокиран.
  • Приложение Telegram, инсталирано на вашия смартфон, без значение от марката. Проверете тук и за компютърни и уеб версии!

Стъпка 2: Инсталиране на IDE

Инсталиране на IDE
Инсталиране на IDE
Инсталиране на IDE
Инсталиране на IDE
Инсталиране на IDE
Инсталиране на IDE

Да, знам, знам … повечето от вас вече имат Arduino IDE инсталиран на компютъра, но този Instructables е предназначен и за начинаещи. Затова първо изтеглете Arduino IDE 1.8.5 по ваш избор (zip файл за „файл без администратори“или exe файл)

Препоръчва се версията 1.8.5, не тествах стари версии и новата платка, използвана в проекта, изобщо не можеше да се поддържа.

Сега трябва да инсталирате новите платки с техните драйвери:

  1. стартирайте IDE
  2. От менюто Инструменти изберете дъски, след което в горната част на списъка с процесори изберете мениджър на платки.
  3. Превъртете новия прозорец (вижте изображението), докато намерите дъските на Arduino SAMD, които включват новия MKR WiFi 1010.
  4. Кликнете върху този раздел или щракнете върху Повече информация в раздела, изберете най -новата версия и инсталирайте.
  5. Изчакайте инсталацията да приключи. Ще се погрижи и за инсталирането на драйвери
  6. Имате нужда и от нова WiFi библиотека за тази дъска: изберете Sketch, Include Library и Manage Libraries. Търсете Wifinina и инсталирайте, както сте направили с процесора по -горе.

Сега свържете новата си платка Arduino и изчакайте Windows да завърши инсталацията на драйвера.

От менюто Tools-> Board ще намерите новите дъски, изберете MKR WiFi 1010.

Друга специална библиотека е необходима за този проект, това е библиотеката ESP8266TelegramBot от Giancarlo Bacchio, Библиотеката е леко променена, за да работи с тази платка, така че е включена в папката на скицата.

Изберете правилния com порт и тествайте платката с командата Get Board Info.

Поздравления, приключихте с IDE!

Стъпка 3: Създаване на Telegram бот

Създаване на Telegram бот
Създаване на Telegram бот
Създаване на Telegram бот
Създаване на Telegram бот
Създаване на Telegram бот
Създаване на Telegram бот

Създаването на нов Telegram бот е съвсем просто.

Отворете приложението Telegram и в лентата за търсене въведете @BotFather и започнете чат с него (изображение1). BootFather е … фабриката за ботове. Това ще ви помогне да създадете нов бот и да промените настройките му.

След командата /start ще видите помощния списък (image2).

  • Въведете /newbot (image3) Сега въведете името на вашия бот. Името се показва в данните за контакт и другаде.
  • BotFather ще ви поиска потребителско име. Потребителското име е кратко име, което се използва при споменавания и връзки на telegram.me. Потребителските имена са с дължина 5-32 знака и нечувствителни към регистъра, но могат да включват само латински букви, цифри и долни черти. Потребителското име на вашия бот трябва да завършва с „бот“, напр. „Tetris_bot“или „TetrisBot“.
  • Ако и името, и потребителското име са валидни, ще получите дълъг низ от символи, наречен TOKEN. Това е вашият личен „ключ“, използван за комуникация със сървъри на Telegram. Копирайте и го поставете в текстов файл на вашия компютър засега. Ще го използваме по -късно в кода на Arduino. Ако го изгубите, не се притеснявайте, просто отворете отново чата и въведете /жетон, за да генерирате нов.

Всички стъпки са описани тук:

Разширено (по избор)

Отворете отново чата и въведете /помощ

Щракнете върху (или въведете) /setuserpic, за да качите снимка за вашия бот. Кликнете върху (или въведете) /setabouttext, за да зададете секцията Информация за вашия бот: Хората ще видят този текст на страницата на профила на бота и той ще бъде изпратен заедно с връзка към вашия бот, когато го споделят с някого.

Щракнете върху (или въведете) /setdescription, за да зададете раздел за описание на вашия бот. Хората ще видят това описание, когато отворят чат с вашия бот, в блок, озаглавен „Какво може да направи този бот?“.

Стъпка 4: Променете, качете и тествайте скицата

Променете, качете и тествайте скицата
Променете, качете и тествайте скицата
Променете, качете и тествайте скицата
Променете, качете и тествайте скицата
Променете, качете и тествайте скицата
Променете, качете и тествайте скицата

Време е да качите софтуера на дъската Arduino MKR WiFi 1010.

Изтеглете прикачените файлове, по някаква причина не мога да кача ZIP, така че създайте папка с име като скица и копирайте всичките 4 файла вътре в нея, моля не променяйте имената, освен ако не знаете какво правите.

Промяна

Отворете скицата, трябва да попълним малко информация (изображение1): попълнете arduino_secrets.h с вашите идентификационни данни за wifi и телеграма.

  • Намерете информацията за WiFi мрежата и въведете името на вашата мрежа (SSID) и паролата.
  • Намерете информацията за телеграма Bot и въведете името, потребителското име и жетона, предоставени от @BotFather

Качване

Уверете се, че платката е правилна (image2) в идеята и свързана, след което опитайте да компилирате кода. Ако компилацията върви добре, качете я на дъската, това ще отнеме само няколко секунди.

В случай на проблеми проверете за печатна грешка и опитайте отново.

Тест

[ВАЖНО!] Скицата изпраща регистрационни файлове към IDE. Процесорът има собствен USB порт (като платките на Leonardo). След като се включи, кодът ще изчака, докато серийният монитор работи. Така че, оставете го свързан към компютъра и отворете серийния монитор. Arduino първо ще се свърже с интернет, след това ще започне да оправя сървъра на Telegram за нови съобщения (image3).

Сега отворете Telegram на предпочитаното от вас устройство и в полето за търсене въведете името на вашия бот (а не потребителското име, което завършва с „бот“). Отворете чат с него.

Първата команда за стартиране на чат с бот е /start, нашият Arduino ще отговори с приветствено съобщение. Сега въведете помощ (без наклонена черта), тя ще отговори със списък на поддържаните команди, можете да ги изпробвате всички (image4).

Свършили сте теста, ако нещо не работи, проверете информацията, въведена в скицата (име, потребителско име, жетон …)

Сертификати Ако имате грешки при връзката към сървъра за телеграма (дневник: Ботът не е свързан):

  • Отворете Инструменти-> Wifi101/wifinina Updater
  • Уверете се, че вашата платка е свързана, проверете портовете отляво на инструмента за актуализиране, платката трябва да е там
  • Щракнете върху Отваряне на скица за актуализиране и я качете на дъската
  • След качването в актуализатора изберете най -новия фърмуер за вашата дъска и щракнете върху актуализиране на фърмуера
  • След актуализация, в актуализатора, раздел SSL сертификати, щракнете върху Добавяне на домейн, в диалоговия прозорец напишете telegram.org:443, след което натиснете OK.
  • Щракнете върху Качване на сертификати в wifi модула
  • Качете тази скица на дъската

Стъпка 5: Подобрете

Подобряване
Подобряване

Разглеждайки кода, е много лесно да внедрите нови команди и да отговорите на потребителя.

Нови команди: Можете да напишете подзаглавие за всяка нова команда. Всеки подводник ще се погрижи за изпълнението на командата и (в крайна сметка) ще върне информация за състоянието на потребителя.

Ограничаване на потребителите: Разбира се, този проект е само демонстрация. Всеки потребител на Telegram може да се свърже с вашия дом и да изпраща нежелани команди. Не искате това !.

Е, погледнете изображението1, показва 2 свързани потребители. Както можете да видите, всеки потребител има свой собствен потребителски идентификатор. С малко работа по кодовата страна можете да филтрирате (или да съставите списък) само за оторизирани потребители. Просто изучете кода и опитайте да прихванете идентификационния номер на потребителя. След това изпълнявайте команди само от добре познати потребители.

Хардуер: От хардуерна страна, много сензори и релета могат да бъдат свързани към I/O пиновете на Arduino.

Внимавайте: платката, използвана в този проект, е 3.3V толерантна !!! Използвайте превключвател за ниво на напрежение, където е необходимо! За повече информация и съвети относно тази платка, моля, прочетете тук:

Това е всичко, наслаждавайте се!

Препоръчано: