Spisu treści:

[IoT] Telegram Bot z Arduino MKR WiFi 1010: 5 kroków
[IoT] Telegram Bot z Arduino MKR WiFi 1010: 5 kroków

Wideo: [IoT] Telegram Bot z Arduino MKR WiFi 1010: 5 kroków

Wideo: [IoT] Telegram Bot z Arduino MKR WiFi 1010: 5 kroków
Wideo: AS5600 бесконтактный датчик угла документация 2024, Listopad
Anonim
Image
Image
Czego potrzebujesz
Czego potrzebujesz

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

Czego potrzebujesz
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

Instalowanie IDE
Instalowanie IDE
Instalowanie IDE
Instalowanie IDE
Instalowanie IDE
Instalowanie 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:

  1. uruchom IDE
  2. Z menu Narzędzia wybierz Tablice, a następnie u góry listy procesorów wybierz Menedżer tablic.
  3. Przewiń nowe okno (patrz zdjęcie), aż znajdziesz płyty Arduino SAMD, które zawierają nowy MKR WiFi 1010.
  4. Kliknij tę kartę lub kliknij Więcej informacji na karcie, wybierz najnowszą wersję i zainstaluj.
  5. Poczekaj na zakończenie instalacji. Zajmie się również instalacją sterowników
  6. 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 bota telegramu
Tworzenie bota telegramu
Tworzenie bota telegramu
Tworzenie bota telegramu
Tworzenie bota telegramu
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

Zmodyfikuj, prześlij i przetestuj szkic
Zmodyfikuj, prześlij i przetestuj szkic
Zmodyfikuj, prześlij i przetestuj szkic
Zmodyfikuj, prześlij i przetestuj szkic
Zmodyfikuj, prześlij i przetestuj szkic
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

Ulepszenia
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: