Instant Messenger voor ESP's en Arduinos - Deel 1

Hallo.

In eerdere blogposts hebben we al het verzenden van MQTT-pakketten en Gmails getoond met de ESP8266. Het verzenden en ontvangen van MQTT-berichten is meestal alleen interessant voor slimme thuisgebruikers en Gmail is alleen beperkt om de melding te pushen, dus ik wil het verzenden van telegramberichten met de ESP in de volgende twee berichten laten zien.

Vandaag doen we het voorbereidende werk. Wij registreren Telegram, maken een bot, installeren CURL voor Windows en werken met de bot over de opdrachtregel.

In de volgende post laat ik zien hoe de microcontroller kan worden geïmplementeerd.

We hebben nodig:

  • ESP8266 bord
  • Smartphone (met mobiel telefoonnummer voor registratie)

 

Wat is Telegram? Telegram is een instant messenger vergelijkbaar met WhatzApp, maar met enkele significante verschillen. In tegenstelling tot WhatzApp is Telegram open en is een (gedocumenteerde) API beschikbaar en worden ook zogenaamde "bots" ondersteund. Wat zijn bots?A (Ro) bot is een automatische service die berichten kan verzenden en ontvangen zonder dat er een fysiek apparaat nodig is of door de gebruiker.

Registreer Telegram-account:

Een telefoonnummer is vereist om een ​​telegramaccount te maken. U kunt zich registreren bij een pc of rechtstreeks bij een mobiele telefoon. Na het downloaden van de app of toepassing, wordt een controle van het nummer gemaakt door een beveiligingscode in te voeren (komt via sms)

Als u het bureaubladprogramma hebt gekozen, wordt het volgende venster na verificatie geopend:

Er zijn geen contacten meer in het adresboek, daarom wordt alleen het lege venster weergegeven.

Bot maken:

De creatie van de Bot is interactief met de "Botfather". Als u verbinding wilt maken met Botfather, klikt u op de zoekbalk in Telegram en voert u "Botfather" in:

Start een gesprek met Botfather via de knop Start:

Daarna zien we al de opdrachten waarmee we onze bot kunnen maken / configureren / beheren. In principe kan de chat worden gebruikt als een opdrachtregel. "/newbot" instrueert de botfather om een ​​nieuwe bot te maken. Vervolgens wordt ons gevraagd naar de naam van onze bot:

Daarna heb ik voor de gebruikersnaam voor testdoeleinden elk "azdemobot" gekozen.

Als de bot is gemaakt, krijgen we een teken voor de API. Kortom, we hebben nu de Naam van de bot, den Gebruikersnamen en de token.

Het token speelt een centrale rol en mag niet worden gedeeld met andere gebruikers, omdat de houder de bot volledig kan besturen.

Op zoek naar onze bot vinden we de service die we zojuist hebben gemaakt en kunnen we een gesprek beginnen door op de knop "STARTEN" te klikken:

In ons voorbeeld dient de bot als een webinterface. Om te controleren of alles is uitgewerkt, kunnen we de opdrachtregeltool "curl" gebruiken. Linux-gebruikers staan ​​bekend om de tool en kunnen de installatie overslaan.

Om krul te installeren Het pad in de console moet worden opgeslagen, zodat Windows het automatisch doorsturen naar curl.exe wanneer u de curl-opdracht invoert.

Curl gibt es hier zum Download

Afhankelijk van het besturingssysteem hebt u de 64-bits of 32-bits variant nodig.

Na het downloaden en uitpakken verplaatsen we de map naar: "C:\Users\Username\curl"

Dit pad moet nu worden toegevoegd aan de systeemomgevingsvariabelen, u vindt het in het menu Start:

Selecteer vervolgens omgevingsvariabelen ...

Markeer de regel "Pad" en klik op "Edit ...", een nieuw venster wordt geopend:

De knop Nieuwe maakt het pad mogelijk DE UITVOERDATUM in de bin-maptoegevoegd door krul:

Damit haben wir curl installiert und können es über die Kommandozeile nutzen:

Nu kunnen we testen of de bot die we hebben geconfigureerd werkt.

Om met de API te werken hebben we de volgende URL nodig:

Hier moeten we nog steeds onze gegevens of tokens krijgen, evenals de Methode (d.w.z. instructie) in ons geval willen we controleren of de bot nieuw nieuws voor ons heeft. Dus vragen we "getUpdates" als een methode:

En ontvang de volgende editie:

 

Het geselecteerde gebied geeft aan dat er geen nieuwe informatie beschikbaar is.

Laten we een telegrambericht naar de bot sturen:

En begin de vraag opnieuw:

Wie wir sehen hat sich der "Content" geändert. Curl biedt ook de mogelijkheid om dit rechtstreeks in een bestand op te slaan of om het in verschillende varianten weer te geven. Als we de inhoud in een bestand zouden opslaan, zou de inhoud als volgt zijn:

Dus we zien de boodschap die we verzenden, evenals aanvullende informatie zoals Chat en update ID.

Omgekeerd werkt het precies zo.

Laten we het volgende commando invoeren:

curl -k https://api.telegram.org/bot694546623:AAGIPm0_89TvPFDAiI0LVFS0Egg62845nNo/sendMessage -d chat_id=724358638 -d text="Das war der erste Teil"

In het venster Telegram verschijnt het bericht dat door ons via de opdrachtregel wordt verzonden:

Natuurlijk moet u hier uw token gebruiken, evenals de chat-ID die op de query wordt weergegeven.

Hierdoor kunnen we via de API met CURL communiceren, in het tweede deel op maandag zal ik laten zien hoe dit comfortabel kan worden geïmplementeerd met een ESP.

Bis tomorrow :)

Esp-32Esp-8266Für arduinoProjekte für fortgeschrittene

5 Kommentare

Frank

Frank

War ziemlich gut – nur fehlt die Fortsetzung! Bitte Teil zwei veröffentlichen!

rawa

rawa

wo bleibt der 2.Teil !!!

Steffen

Steffen

Würde mich auch über einen 2. Teil freuen!
Viele Grüße

tbretz

tbretz

Wo gibt es den 2. Teil ?

Tonx

Tonx

Hey richtig cool! kanns kaum erwarten heute den zweiten Teil zu lesen!

Einen Kommentar hinterlassen

Alle Kommentare werden vor der Veröffentlichung moderiert

Aanbevolen blog berichten

  1. Installeer ESP32 nu van de raad van bestuur
  2. Lüftersteuerung Raspberry Pi
  3. Arduino IDE - Programmieren für Einsteiger - Teil 1
  4. ESP32 - das Multitalent
  5. OTA - Over the Air - ESP Programmeren via Wi-Fi