Serwisy partnerskie:
Close icon
Serwisy partnerskie

Proste i bezpieczne wysyłanie często odświeżanych danych w dowolne miejsce

Article Image
Elmax
Czasami potrzebujemy przesyłać paczki często zmieniających się danych, uzyskiwanych na przykład z czujników, z jednego końca świata na drugi. Używane są do tego serwery i usługi online, na przykład takie jak ThingSpeak – usługa platformy analitycznej IoT, która pozwala agregować, wizualizować i analizować strumienie danych na żywo w chmurze. Nasza maszyna może być wystarczająco potężna, aby wysyłać dane co sekundę, ale o ostatecznej przepustowości decyduje wolna ścieżka danych dopuszczona przez serwery online.

Opisany w artykule projekt może pomóc czytelnikom przesyłać dane, np. z czujników, z dużą częstością powtarzania, a także bezpłatnie i niezależnie od przepustowości serwerów dostarczać je przez WebSocket (WebSocket to protokół komunikacji komputerowej, zapewniający kanały komunikacyjne full-duplex za pośrednictwem pojedynczego połączenia TCP). Osiągamy to za pomocą lepszej, bezpiecznej, ale dostępnej na całym świecie, wieloplatformowej, opartej na chmurze usługi przesyłania wiadomości freemium – komunikatora Telegram. Możemy wysyłać dane co kilka sekund za pomocą taniej płytki rozwojowej ESP32 do kanału bota Telegram, a następnie odbierać je na drugim końcu świata za pomocą prostego kodu napisanego w Pythonie. 

W ramach artykułu omówimy zdalną stację telemetryczną, która wysyła dane co cztery sekundy. Dane przychodzą do stacji bazowej zbudowanej w oparciu o płytkę ESP32. ESP32 jest podłączony do Internetu za pomocą sieci Wi-Fi. Następnie wysyła dane do kanału bota Telegramu, a po stronie odbiorcy zwykły komputer podłączony do Internetu uruchamia skrypt napisany w języku Python3, aby w sposób ciągły odbierać dane i używać je do określonych celów. Działanie mogłoby wyglądać następująco:

czujniki w monitorowanym terenie → ESP32 → kanał Telegramu → cyberprzestrzeń → odległy odbiornik → Internet Wi-Fi → Python → odtworzenie danych.

Autorski prototyp pokazano na fotografii.

Zainstaluj aplikację Telegram na swoim telefonie komórkowym, tablecie lub laptopie. Aplikacja jest dostępna bezpłatnie w Google Play Store (dla telefonów z systemem Android) i App Store (dla iPhone’ów) itp. Do komunikowania się z płytką ESP32 utwórz kanał w aplikacji Telegram. 

Po zainstalowaniu aplikacji i skonfigurowaniu konta wyszukaj Botfather w aplikacji. Gdy tylko otworzysz Botfather, zobaczysz przycisk Start lub Restart. Otworzy się lista poleceń i ich aplikacji. Kliknij polecenie /newbot. 

Po tym poleceniu należy nadać nazwę botowi. Ja nazwałem go bera_arduino. Następnie ustaw nazwę użytkownika. Podczas ustawiania nazwy użytkownika należy pamiętać, że powinna być unikatowa i kończyć się słowem bot, na przykład bera1bot. Jak tylko ustawisz nazwę użytkownika, twój bot zostanie utworzony i zobaczysz token API. Zapisz go gdzieś, ponieważ będzie potrzebny później. 

Teraz, aby przygotować oprogramowanie, należy przygotować dwa parametry dla tego kanału (bera_arduino) – chat_id i bot_token. Po utworzeniu nazwy czatu i identyfikatora użytkownika, wydaj polecenie /mybots, co spowoduje otwarcie twoich botów. Po wskazaniu wybranego bota zostanie wyświetlone okno graficzne, a po naciśnięciu API_token otrzymasz bot_token do zapisu dla swojego bota.

Jedynym potrzebnym parametrem jest Twój chat_id. Aby go uzyskać, znajdź bota o nazwie @GetIDsBot. Zostanie wyświetlone okno z opisem Twojego chat_id.

Cóż, teraz masz już dane uwierzytelniające do uruchomienia swojego chatbota w Telegramie. Zanotuj te dwa upiornie wyglądające numery, aby użyć ich w szkicu.

Aby przeczytać ten artykuł kup e-wydanie
Kup teraz
Firma:
Tematyka materiału: przesyłanie danych, np. z czujników, z dużą częstością powtarzania, a także bezpłatnie i niezależnie od przepustowości serwerów dostarczanie ich przez WebSocket, Telegram, EPS32
AUTOR
Źródło
Elektronika dla Wszystkich wrzesień 2024
Udostępnij
UK Logo
Elektronika dla Wszystkich
Zapisując się na nasz newsletter możesz otrzymać GRATIS
najnowsze e-wydanie magazynu "Elektronika dla Wszystkich"