Spisu treści:
- Krok 1: Czego potrzebujesz
- Krok 2: Instalacja IDE
- Krok 3: Tworzenie bota telegramu
- Krok 4: Zmodyfikuj, prześlij i przetestuj szkic
- Krok 5: Ulepszenia
Wideo: [IoT] Telegram Bot z Arduino MKR WiFi 1010: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:27
Ten projekt pokazuje, jak połączyć Arduino z API Telegram Bot. Projekt jest zbudowany wokół nowej płyty MKR WiFi 1010 wyposażonej w moduł ESP32 firmy U-BLOX.
Na tym etapie projekt jest niczym więcej jak dowodem koncepcji, tylko po to, aby pokazać, z czym można zrobić, więc do tego potrzebujesz tylko płytki Arduino.
Ale co to jest Telegram Bot? Cóż, boty to po prostu konta Telegrama obsługiwane przez oprogramowanie – a nie ludzi – i często mają funkcje sztucznej inteligencji. Mogą robić wszystko – uczyć, bawić się, wyszukiwać, transmitować, przypominać, łączyć się, integrować z innymi usługami, a nawet przekazywać polecenia do Internetu Rzeczy. (kredyty Telegrama:
W naszym przypadku przekażemy polecenia do Arduino budując proste urządzenie IoT. Odpowiada na proste polecenia, a także włącza/wyłącza wbudowaną diodę LED. Pozwolę Twojej wyobraźni zrobić z tym więcej… (wyobraź sobie, że podłączasz jeden lub więcej przekaźników do pinów I/O i np. włączasz/wyłączasz ogrzewanie lub klimatyzację za pomocą smartfona).
Krok 1: Czego potrzebujesz
Do tego projektu potrzebujesz:
- Arduino MKR WiFi 1010 ze sklepu Arduino:
- Arduino IDE 1.8.5 lub nowszy:
- Kabel micro-USB do połączenia Arduino z komputerem
- Połączenie internetowe, wymaga SSID i hasła. Lepiej, jeśli używasz własnego routera domowego, aby mieć pewność, że nie jest zablokowany.
- Aplikacja Telegram zainstalowana na Twoim smartfonie, bez względu na markę. Sprawdź tutaj również wersje na PC i Internet!
Krok 2: Instalacja IDE
Tak, wiem, wiem… większość z was ma już zainstalowane Arduino IDE na komputerze, ale ta instrukcja jest przeznaczona również dla początkujących. Przede wszystkim pobierz wybrane Arduino IDE 1.8.5 (plik zip dla „nie administratorzy” lub plik exe)
Zalecana jest wersja 1.8.5, nie testowałem starych wersji, a nowa płyta używana w projekcie nie mogła być w ogóle obsługiwana.
Teraz musisz zainstalować nowe płyty z ich sterownikami:
- uruchom IDE
- Z menu Narzędzia wybierz Tablice, a następnie u góry listy procesorów wybierz Menedżer tablic.
- Przewiń nowe okno (patrz zdjęcie), aż znajdziesz płyty Arduino SAMD, które zawierają nowy MKR WiFi 1010.
- Kliknij tę kartę lub kliknij Więcej informacji na karcie, wybierz najnowszą wersję i zainstaluj.
- Poczekaj na zakończenie instalacji. Zajmie się również instalacją sterowników
- Potrzebujesz również nowej biblioteki WiFi dla tej płyty: wybierz Szkic, Dołącz bibliotekę i Zarządzaj bibliotekami. Wyszukaj Wifinina i zainstaluj tak, jak w przypadku powyższego procesora.
Teraz podłącz nową płytkę Arduino i poczekaj, aż system Windows zakończy instalację sterownika.
Z menu Narzędzia->Płytka znajdziesz nowe płytki, wybierz MKR WiFi 1010.
Inna specjalna biblioteka jest potrzebna do tego projektu, jest to biblioteka ESP8266TelegramBot autorstwa Giancarlo Bacchio. Biblioteka została nieznacznie zmodyfikowana do pracy z tą płytą, więc znajduje się w folderze szkicu.
Wybierz odpowiedni port com i przetestuj tablicę za pomocą polecenia Get Board Info.
Gratulacje, skończyłeś z IDE!
Krok 3: Tworzenie bota telegramu
Tworzenie nowego Telegram Bota jest dość proste.
Otwórz aplikację Telegram i w pasku wyszukiwania wpisz @BotFather i rozpocznij z nim czat (zdjęcie1). BotFather to… fabryka botów. Pomoże Ci stworzyć nowego bota i zmienić jego ustawienia.
Po komendzie /start zobaczysz listę pomocy (obrazek2).
- Wpisz /newbot (zdjęcie3) Teraz wpisz nazwę swojego bota. Nazwisko jest wyświetlane w danych kontaktowych i gdzie indziej.
- BotFather poprosi Cię o nazwę użytkownika. Nazwa użytkownika to nazwa skrócona, używana we wzmiankach i linkach telegram.me. Nazwy użytkowników mają długość od 5 do 32 znaków i nie uwzględniają wielkości liter, ale mogą zawierać tylko znaki łacińskie, cyfry i podkreślenia. Nazwa użytkownika Twojego bota musi kończyć się na „bot”, np. „tetris_bot” lub „TetrisBot”.
- Jeśli zarówno nazwa, jak i nazwa użytkownika są prawidłowe, otrzymasz długi ciąg znaków o nazwie TOKEN. To jest Twój osobisty „klucz” używany do komunikacji z serwerami Telegram. Na razie skopiuj go i wklej do pliku tekstowego na komputerze. Użyjemy go później w kodzie Arduino. Jeśli go zgubisz, nie martw się, po prostu ponownie otwórz czat i wpisz /token, aby wygenerować nowy.
Wszystkie kroki są opisane tutaj:
Zaawansowane (opcjonalnie)
Ponownie otwórz czat i wpisz /help
Kliknij (lub wpisz) /setuserpic, aby przesłać zdjęcie dla swojego bota. Kliknij (lub wpisz) /setabouttext, aby ustawić sekcję Informacje dla swojego bota: Ludzie zobaczą ten tekst na stronie profilu bota i zostanie on wysłany razem z link do Twojego bota, gdy ktoś go komuś udostępni.
Kliknij (lub wpisz) /setdescription, aby ustawić sekcję opisu dla swojego bota. Ludzie zobaczą ten opis, gdy otworzą czat z Twoim botem, w bloku zatytułowanym „Co ten bot może zrobić?”.
Krok 4: Zmodyfikuj, prześlij i przetestuj szkic
Czas wgrać oprogramowanie na płytkę Arduino MKR WiFi 1010.
Pobierz załączone pliki, z jakiegoś powodu nie mogę przesłać pliku ZIP, więc stwórz folder o nazwie jako szkic i skopiuj wszystkie 4 pliki w nim, proszę nie zmieniaj nazw, chyba że wiesz, co robisz.
Modyfikować
Otwórz szkic, musimy wypełnić pewne informacje (zdjęcie 1): wypełnij arduino_secrets.h danymi uwierzytelniającymi Wi-Fi i telegramem.
- Znajdź informacje o sieci Wi-Fi i wpisz nazwę sieci (SSID) oraz hasło.
- Znajdź informacje o botach telegramu i wpisz imię i nazwisko, nazwę użytkownika i token dostarczone przez @BotFather
Wgrywać
Upewnij się, że płyta jest poprawna (obraz 2) w ide i podłączona, a następnie spróbuj skompilować kod. Jeśli kompilacja pójdzie dobrze, wgraj ją na tablicę, zajmie to tylko kilka sekund.
W przypadku problemów sprawdź literówkę i spróbuj ponownie.
Test
[WAŻNE!] Szkic wysyła logi do IDE. Procesor ma natywny port USB (podobnie jak płyty Leonardo). Po włączeniu kod poczeka, aż monitor szeregowy zostanie uruchomiony. Więc pozwól mu podłączyć się do komputera i otwórz monitor szeregowy. Arduino najpierw połączy się z Internetem, a następnie rozpocznie odpytywanie serwera Telegram o nowe wiadomości (obrazek 3).
Teraz otwórz Telegram na preferowanym urządzeniu i w polu wyszukiwania wpisz nazwę swojego bota (nie nazwę użytkownika, która kończy się na „bot”). Otwórz z nim czat.
Pierwszym poleceniem rozpoczęcia czatu z botem jest /start, nasz Arduino odpowie wiadomością powitalną. Teraz wpisz help (bez ukośnika), odpowie z listą obsługiwanych poleceń, możesz wypróbować je wszystkie (obrazek 4).
Skończyłeś z testem, jeśli coś nie działa, sprawdź informacje wpisane w szkicu (imię, nazwę użytkownika, token…)
CertyfikatyJeżeli występują błędy z połączeniem z serwerem telegramów (log: Bot nie podłączony):
- Otwórz Narzędzia->Aktualizator Wifi101/wifinina
- Upewnij się, że twoja płyta jest podłączona, sprawdź porty po lewej stronie narzędzia aktualizującego, płyta musi tam być
- Kliknij Otwórz szkic aktualizatora i prześlij go na tablicę
- Po wgraniu w aktualizatorze wybierz najnowsze oprogramowanie dla swojej płyty i kliknij zaktualizuj oprogramowanie
- Po aktualizacji, w aktualizatorze, w sekcji Certyfikaty SSL, kliknij Dodaj domenę, w oknie dialogowym wpisz telegram.org:443 a następnie naciśnij OK.
- Kliknij Prześlij certyfikaty do modułu wifi
- Prześlij ten szkic na tablicę
Krok 5: Ulepszenia
Patrząc na kod bardzo łatwo jest zaimplementować nowe polecenia i odpowiedzieć użytkownikowi.
Nowe polecenia:Możesz napisać sub dla każdego nowego polecenia. Każdy podwykonawca zajmie się wykonaniem polecenia i (ostatecznie) zwróci użytkownikowi informację o statusie.
Ograniczanie użytkowników:Oczywiście ten projekt to tylko demo. Każdy użytkownik Telegrama może połączyć się z Twoim domem i wysyłać niechciane polecenia. Nie chcesz tego!.
Spójrz na obrazek1, pokazuje 2 podłączonych użytkowników. Jak widać, każdy użytkownik ma swój własny ID użytkownika. Przy odrobinie pracy po stronie kodu możesz filtrować (lub budować listę) tylko dla autoryzowanych użytkowników. Po prostu przestudiuj kod i spróbuj przechwycić numer identyfikacyjny użytkownika. Następnie wykonuj polecenia tylko od znanych użytkowników.
Sprzęt:Po stronie sprzętowej do pinów we/wy Arduino można podłączyć wiele czujników i przekaźników.
Bądź ostrożny: płyta użyta w tym projekcie jest tolerancyjna na 3,3 V!!! W razie potrzeby użyj przełącznika poziomu napięcia! Aby uzyskać więcej informacji i wskazówek dotyczących tej płyty, przeczytaj tutaj:
To wszystko, ciesz się!
Zalecana:
Telegram Flame Alarm Bot: 5 kroków
Telegram Flame Alarm Bot: W tym artykule przedstawię projekt IoT, który umożliwia wykrywanie płomienia i wysyłanie powiadomień do Telegramu użytkownika. Czego potrzebujesz: Moduł czujnika płomieniaMikrokontroler NodeMCU ESP8266Źródło zasilaniaWiFiUrządzenie wyjściowe z telegramem
Kontroluj Arduino za pomocą Telegram Bot bez dodatkowego sprzętu: 5 kroków
Kontroluj Arduino za pomocą bota Telegram bez dodatkowego sprzętu: Istnieje wiele rzeczy, które możesz zrobić z Arduino, ale czy kiedykolwiek myślałeś o sterowaniu Arduino za pomocą bota Telegram? PC Niektóre sterowane urządzenie (używamy wbudowanej diody LED Arduino w
Smart House Telegram Bot z Nodemcu (esp8266, Relay, Ds18b20): 8 kroków
Smart House Telegram Bot z Nodemcu (esp8266, Relay, Ds18b20): W tym samouczku pokażę ci, jak stworzyć bota telegramowego i sterować domem za jego pomocą. Ale najpierw subskrybuj mój kanał Telegram i odkrywaj nowe projekty szybciej niż inne. To dla mnie motywacja. Ruszajmy
Telegram Bot Esp8266-001 (Arduino UNO lub NodeMCU): 6 kroków
Telegram Bot Esp8266-001 (Arduino UNO lub NodeMCU): Witam! W tym tutorialu pokażę jak sterować arduino za pomocą esp8266-001 i telegramu. Otwiera wielkie możliwości dla Internetu Rzeczy (IoT)
Intel Edison Espião + Bot Telegram: 5 kroków
Intel Edison Espião + Bot Telegram: Projekt zaprezentowany w ramach Intel IoT Roadshow - São Paulo (listopad 2015) Przykład wykrywaniação imagem z Intel Edison, kamera internetowa, programowanie z Python i OpenCV. Demonstracja como programowanie uma Intel Edison dla v