Съдържание:
- Стъпка 1: Какво ви трябва
- Стъпка 2: Инсталиране на IDE
- Стъпка 3: Създаване на Telegram бот
- Стъпка 4: Променете, качете и тествайте скицата
- Стъпка 5: Подобрете
Видео: [IoT] Telegram бот с Arduino MKR WiFi 1010: 5 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:50
Този проект демонстрира как да взаимодейства 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
Да, знам, знам … повечето от вас вече имат Arduino IDE инсталиран на компютъра, но този Instructables е предназначен и за начинаещи. Затова първо изтеглете Arduino IDE 1.8.5 по ваш избор (zip файл за „файл без администратори“или exe файл)
Препоръчва се версията 1.8.5, не тествах стари версии и новата платка, използвана в проекта, изобщо не можеше да се поддържа.
Сега трябва да инсталирате новите платки с техните драйвери:
- стартирайте IDE
- От менюто Инструменти изберете дъски, след което в горната част на списъка с процесори изберете мениджър на платки.
- Превъртете новия прозорец (вижте изображението), докато намерите дъските на Arduino SAMD, които включват новия MKR WiFi 1010.
- Кликнете върху този раздел или щракнете върху Повече информация в раздела, изберете най -новата версия и инсталирайте.
- Изчакайте инсталацията да приключи. Ще се погрижи и за инсталирането на драйвери
- Имате нужда и от нова 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 и в лентата за търсене въведете @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 толерантна !!! Използвайте превключвател за ниво на напрежение, където е необходимо! За повече информация и съвети относно тази платка, моля, прочетете тук:
Това е всичко, наслаждавайте се!
Препоръчано:
Telegram бот с NodeMCU (ESP8266): 3 стъпки
Telegram бот с NodeMCU (ESP8266): Нуждаете се от бот, който да дава известия от вашата система? или направете нещо само като изпратите съобщение? Telegram Bot е вашето решение! В този урок ще използвам Telegram Web и BotFather, за да направя моя бот
Как да изградим боен бот с картон и Arduino: 7 стъпки (със снимки)
Как да изградим боен бот с картон и Arduino: Създадох бойни ботове с помощта на Arduino UNO и картонът беше използван за изграждане на телата. Опитах се да използвам достъпни консумативи и дадох на децата творческа свобода как да проектират своите бойни ботове. Battlebot получава команди от безжичния контролер
Бот за аларма за пламък на Telegram: 5 стъпки
Telegram Flam Alarm Bot: В тази статия ще представя IoT проект, който позволява да се усети пламъкът и да се изпрати известие до Telegram на потребителя. Какво ви е необходимо: Модул за сензор за пламък Node на микроконтролерMCU ESP8266 Източник на захранване Wi -Fi Изходно устройство с телеграма
Бот за чертане на вграден боклук - Моят бот: 13 стъпки (със снимки)
Trash Built BT Line Drawing Bot - My Bot: Хай приятели след дълга пауза около 6 месеца тук идвам с нов проект. До завършването на Cute Drawing Buddy V1, SCARA Robot - Arduino и планирам друг бот за рисуване, основната цел е да покрие голямо пространство за рисуване. Така фиксирани роботизирани ръце c
Telegram бот за Smart House с Nodemcu (esp8266, реле, Ds18b20): 8 стъпки
Smart House Telegram Bot With Nodemcu (esp8266, Relay, Ds18b20): В този урок ще ви покажа как да създадете бот за телеграма и да управлявате къщата с него. Но първо се абонирайте за моя канал в Telegram и откривайте нови проекти по -бързо от други. Това е мотивация за мен