Obsah:
- Krok 1: Co potřebujete
- Krok 2: Instalace IDE
- Krok 3: Vytvoření telegramového robota
- Krok 4: Upravte, nahrajte a otestujte skicu
- Krok 5: Vylepšení
Video: [IoT] Telegram Bot s Arduino MKR WiFi 1010: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:19
Tento projekt ukazuje, jak propojit Arduino s API Telegram Bot. Projekt je postaven na nové desce MKR WiFi 1010 vybavené modulem ESP32 od U-BLOX.
V této fázi projekt není ničím jiným než důkazem konceptu, jen aby vám ukázal, s čím byste mohli dělat, takže k tomu potřebujete pouze desku Arduino.
Ale co je to telegramový robot? Boti jsou prostě telegramové účty provozované softwarem - ne lidmi - a často budou mít funkce AI. Mohou dělat cokoli - učit, hrát, hledat, vysílat, připomínat, připojovat se, integrovat s jinými službami nebo dokonce předávat příkazy internetu věcí. (kredity od Telegramu:
V našem případě předáme příkazy Arduinu vybudujícímu jednoduché zařízení IoT. Odpoví na jednoduché příkazy a také zapne/vypne vestavěné LED. Nechám vaši fantazii udělat více… (představte si, že připojíte jedno nebo více relé k I/O pinům a například zapnete/vypnete topení nebo klimatizační systém pomocí smartphonu).
Krok 1: Co potřebujete
Pro tento projekt potřebujete:
- Arduino MKR WiFi 1010 z obchodu Arduino:
- Arduino IDE 1.8.5 nebo vyšší:
- Mikro USB kabel pro připojení Arduina k vašemu PC
- Připojení k internetu vyžaduje SSID a heslo. Lepší je použít vlastní domácí router, abyste se ujistili, že není blokován.
- Aplikace Telegram nainstalovaná ve vašem smartphonu, bez ohledu na značku. Zkontrolujte zde také verze pro PC a web!
Krok 2: Instalace IDE
Jo, já vím, já vím … většina z vás už má Arduino IDE nainstalované v PC, ale tento Instructables je určen i pro začátečníky. Nejprve si tedy stáhněte Arduino IDE 1.8.5 dle vašeho výběru (zip soubor pro 'non administrator' nebo exe soubor)
Doporučuje se verze 1.8.5, netestoval jsem staré verze a nová deska použitá v projektu nemohla být vůbec podporována.
Nyní musíte nainstalovat nové desky s jejich ovladači:
- spusťte IDE
- V nabídce Nástroje zvolte Desky a v horní části seznamu procesorů zvolte Správce desek.
- Procházejte novým oknem (viz obrázek), dokud nenajdete desky Arduino SAMD, které obsahují nový MKR WiFi 1010.
- Klikněte na tuto kartu nebo klikněte na Další informace na kartě, vyberte nejnovější verzi a nainstalujte.
- Počkejte na dokončení instalace. Postará se také o instalaci ovladačů
- Pro tuto desku potřebujete také novou knihovnu WiFi: vyberte Sketch, Include Library a Manage Libraries. Vyhledejte Wifinina a nainstalujte stejně jako výše uvedený procesor.
Nyní připojte novou desku Arduino a počkejte, až systém Windows dokončí instalaci ovladače.
V nabídce Nástroje-> Deska najdete nové desky, vyberte MKR WiFi 1010.
Pro tento projekt je zapotřebí další speciální knihovna, je to knihovna ESP8266TelegramBot od Giancarla Bacchia. Knihovna byla mírně upravena pro práci s touto deskou, takže je zahrnuta do složky skici.
Vyberte správný port a otestujte desku pomocí příkazu Získat informace o desce.
Gratulujeme, jste s IDE hotovi!
Krok 3: Vytvoření telegramového robota
Vytvoření nového telegramového robota je celkem jednoduché.
Otevřete aplikaci Telegram a do vyhledávacího pole zadejte @BotFather a začněte s ním chatovat (obrázek1). BotFather je… Bot továrna. Pomůže vám vytvořit nového robota a změnit jeho nastavení.
Po příkazu /start uvidíte seznam nápovědy (obrázek2).
- Zadejte /newbot (image3) Nyní zadejte název svého robota. Jméno je zobrazeno v kontaktních údajích a jinde.
- BotFather vás požádá o uživatelské jméno. Uživatelské jméno je krátký název, který se má použít v rámci odkazů a odkazů na telegram.me. Uživatelská jména mají 5–32 znaků a nerozlišují velká a malá písmena, ale mohou obsahovat pouze znaky latinky, číslice a podtržítka. Uživatelské jméno vašeho robota musí končit „botem“, např. „Tetris_bot“nebo „TetrisBot“.
- Pokud je jméno i uživatelské jméno platné, obdržíte dlouhý řetězec znaků s názvem TOKEN. Toto je váš osobní klíč používaný ke komunikaci se servery Telegram. Zkopírujte jej a vložte do textového souboru v počítači. Použijeme to později v kódu Arduino. Pokud o něj přijdete, nebojte se, stačí znovu otevřít chat a zadáním /tokenu vygenerovat nový.
Všechny kroky jsou popsány zde:
Pokročilé (volitelně)
Znovu otevřete chat a napište /help
Kliknutím na (nebo zadejte) /setuserpic odešlete obrázek pro svého robota. Kliknutím na (nebo zadejte) /setabouttext nastavíte sekci O svém botovi: Lidé uvidí tento text na stránce profilu robota a bude odeslán společně s odkaz na vašeho robota, když ho s někým sdílí.
Kliknutím na (nebo zadejte) /setdescription nastavíte popisnou sekci svého robota. Lidé uvidí tento popis, když otevřou chat s vaším robotem, v bloku s názvem „Co může tento robot dělat?“.
Krok 4: Upravte, nahrajte a otestujte skicu
Je čas nahrát software na desku Arduino MKR WiFi 1010.
Stáhněte si připojené soubory, z nějakého důvodu nemohu nahrát ZIP, vytvořte tedy složku pojmenovanou jako skica a zkopírujte do ní všechny 4 soubory, neměňte prosím názvy, pokud nevíte, co děláte.
Upravit
Otevřete skicu, potřebujeme vyplnit některé informace (obrázek1): vyplňte arduino_secrets.h pomocí svých přihlašovacích údajů pro wifi a telegram.
- Vyhledejte informace o síti WiFi a zadejte název sítě (SSID) a heslo.
- Vyhledejte informace o telegramu Bot a zadejte jméno, uživatelské jméno a token poskytnuté @BotFather
nahrát
Ujistěte se, že je deska v ideu správná (image2) a připojena, pak zkuste zkompilovat kód. Pokud kompilace proběhne dobře, nahrajte ji na tabuli, bude to trvat jen několik sekund.
V případě problémů zkontrolujte překlep a zkuste to znovu.
Test
[DŮLEŽITÉ!] Skica odesílá protokoly do IDE. Procesor má nativní port USB (jako desky Leonardo). Po zapnutí bude kód čekat, dokud nebude spuštěn sériový monitor. Nechte jej tedy připojit k počítači a otevřete sériový monitor. Arduino se nejprve připojí k internetu, poté začne na serveru Telegram vyhledávat nové zprávy (image3).
Nyní otevřete Telegram na vámi preferovaném zařízení a do vyhledávacího pole zadejte název svého robota (nikoli uživatelské jméno, které končí na „bot“). Otevřete si s ním chat.
První příkaz k zahájení chatu s robotem je /start, naše Arduino odpoví uvítací zprávou. Nyní zadejte help (bez lomítka), odpoví seznamem podporovaných příkazů, můžete je vyzkoušet všechny (image4).
Jste hotovi s testem, pokud něco nefunguje, zkontrolujte informace zadané v náčrtu (jméno, uživatelské jméno, token …)
Certifikáty Pokud dochází k chybám při připojení k telegramovému serveru (protokol: robot není připojen):
- Otevřete Nástroje-> Wifi101/wifinina aktualizátor
- Ujistěte se, že je vaše deska připojena, zkontrolujte porty na levé straně nástroje pro aktualizaci, deska tam musí být
- Klikněte na Otevřít skicu aktualizátoru a nahrajte ji na tabuli
- Po nahrání vyberte v aktualizátoru nejnovější firmware pro vaši desku a klikněte na aktualizovat firmware
- Po aktualizaci v části Aktualizátor v sekci SSL certifikáty klikněte na Přidat doménu, v dialogovém okně napište telegram.org:443 a poté stiskněte OK.
- Klikněte na Nahrát certifikáty do modulu wifi
- Nahrajte tento náčrt na tabuli
Krok 5: Vylepšení
Při pohledu na kód je velmi jednoduché implementovat nové příkazy a odpovědět uživateli.
Nové příkazy: Pro každý nový příkaz můžete napsat dílčí. Každý sub se postará o dokončení příkazu a (případně) vrátí stavové informace uživateli.
Omezení uživatelů: Tento projekt je samozřejmě pouze demo. Každý uživatel Telegramu se může připojit k vám domů a odesílat nechtěné příkazy. Tohle nechceš!
Podívejte se na obrázek1, ukazuje 2 připojené uživatele. Jak vidíte, každý uživatel má své vlastní ID uživatele. S trochou práce na straně kódu můžete filtrovat (nebo vytvořit seznam) pouze pro oprávněné uživatele. Prostudujte si kód a zkuste zachytit ID uživatele. Potom spouštějte příkazy pouze od známých uživatelů.
Hardware: Na straně hardwaru lze k I/O pinům Arduina připojit spoustu senzorů a relé.
Buďte opatrní: deska použitá v tomto projektu je odolná vůči 3,3 V !!! Pokud je to nutné, použijte měnič úrovně napětí! Další informace a tipy k této desce naleznete zde:
To je vše, užijte si to!
Doporučuje:
Telegram Flame Alarm Bot: 5 kroků
Telegram Flame Alarm Bot: V tomto článku představím projekt IoT, který umožňuje snímat plamen a odesílat upozornění na telegram uživatele. Co budete potřebovat: Modul senzoru plamene Mikrokontrolér NodeMCU ESP8266 Zdroj napájeníWiFiVýstupní zařízení s telegramem
Použijte štíty Arduino MKR s Raspberry Pi: 8 kroků
Používejte štíty Arduino MKR s Raspberry Pi: Náš PiMKRHAT je adaptér HAT pro použití desek a štítů Arduino MKR společně s Raspberry Pi. Prostřednictvím naší HAT lze jako rozšíření pro Raspberry Pi použít různé štíty Arduino MKR. Chci v tomto malém projektu ukázat, jak používat Ardu
Smart House Telegram Bot With Nodemcu (esp8266, Relay, Ds18b20): 8 kroků
Smart House Telegram Bot With Nodemcu (esp8266, Relay, Ds18b20): V tomto tutoriálu vám ukážu, jak pomocí něj vytvořit telegramového robota a ovládat dům. Nejprve se ale přihlaste k odběru mého telegramového kanálu a objevujte nové projekty rychleji než ostatní. Je to pro mě motivace. Pojďme
Telegram Bot Esp8266-001 (Arduino UNO nebo NodeMCU): 6 kroků
Telegram Bot Esp8266-001 (Arduino UNO nebo NodeMCU): Dobrý den! V tomto tutoriálu vám ukážu, jak ovládat arduino pomocí esp8266-001 a telegramu. Otevírá velké příležitosti pro internet věcí (IoT)
Telegram Intel Edison Espião + Bot: 5 kroků
Intel Edison Espião + Bot Telegram: Projeto a presentado no Intel IoT Roadshow - S ã o Paulo (listopad 2015) Exemplo de detec ç ã o de imagem com Intel Edison, webcam, programada com Python e OpenCV.Neste exemplo ser ser á ukázkový programový program Intel Edison pro