Instant-Messenger für ESPs und Arduinos - Teil 2

Hallo zusammen,

da unsere Technik-Abteilung aktuell ziemlich ausgelastet ist, hat der 2. Teil des Blogartikels etwas auf sich warten lassen. Dank der Unterstützung eines vorfreudigen Kunden darf ich Ihnen heute den Programmcode für den ESP zur Verfügung stellen.

Hier finden Sie den ersten Teil des Artikels.

Wie Librarys installiert werden, dürfte anhand der letzten 200 Blogbeiträge klar sein, weshalb ich heute auf dieses Thema nur am Rand eingehen werde. 

Wer häufiger Projekte aus dem Internet nachbaut weiß, wie wichtig die Auswahl der richtigen Version der jeweiligen Bibliothek ist. Ein gutes Beispiel sind die Boarddefinitionen der ESPs zusammen mit den MQTT-Bibliotheken. Hier kann man Stunden mit der Fehlersuche verbringen, oder die Versionen benutzen die in den jeweiligen Anleitungen hinterlegt sind.

Auch der folgende Programmcode für die Kommunikation über den Telegram-Messenger funktioniert nicht mit jedem Versionsstand.

 

#define BOTtoken "xxxxxxxxx:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"  // Dein Bot Token (kriegt man vom Botfather, siehe Teil 1)

#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>                  // UniversalTelegramBot V1.1.0 & ArduinoJson V5.13.5

// WLAN Daten für den Router
char ssid[] = "xxxxxxxxxxxxxxxxxxxxxxx";           // WLAN SSID-Name
char password[] = "xxxxxxxxxxxxxxxxxxxx";          // WLAN Passwort

WiFiClientSecure client;                           // SSL Client
UniversalTelegramBot bot(BOTtoken, client);

int Bot_mtbs = 1000;                               // Durchschnittliche Zeit zwischen Nachrichtenscans
long Bot_lasttime;                                 // Nachrichten wurden zuletzt gescant

void setup() {
         
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);                             // WLAN Station Mode 
  WiFi.disconnect();                               // WLAN trennen falls bereits verbunden
  delay(100);

  Serial.print("Verbinde WLAN: ");
  Serial.println(ssid);                            
  WiFi.begin(ssid, password);                      // WLAN verbinden

  while (WiFi.status() != WL_CONNECTED) {          // Warten bis WLAN verbunden ist
    Serial.print(".");
    delay(500);
  }

  Serial.println("");
  Serial.println("WLAN ist verbunden");            // WLAN ist verbunden
  Serial.print("IP Adresse: ");                    
  Serial.println(WiFi.localIP());                  // mit folgender IP Adresse

  }
  
void loop() {
  
String chat_id = "xxxxxxxxxxxxxx";                 // Chat-ID
String text = "AZ-Delivery machts möglich!";       // zu sendende Nachricht
String parses = "";

  Serial.println("Nachricht senden");
  Serial.println(bot.sendMessage(chat_id, text, parses)); // Nachricht wird gesendet
  

delay(5000);

ESP.deepSleep(0);                                  // ESP schlafen legen
}

 

Jetzt kann Ihr ESP Push-Nachrichten über Telegram versenden.

 

Bis zum nächsten Artikel :) 

 

Letzter Artikel Nutzung des ESP32 Deep Sleep Modus für unsere Katzenklappe
Neuer Artikel Eine berührungsempfindliche Lampe

Kommentar

Gast - November 12, 2019

Hallo,

bei mir werden keine Nachrichten versendet (bzw. kommen nicht an)

Serial.println(bot.sendMessage(chat_id, text, parses)); gibt 0 zurück

BOTtoken & Chat-ID stimmen – habe sie über curl an Konsole getestet – funktioniert
WLAN ist auch verbunden.

Gibt es eine Möglichkeit, die Rückmeldung auszulesen? Selbst wenn ich bewusst eine falsche BOTtoken / Chat-ID eingebe gibt bot.sendMessage 0 zurück.

Vielen Dank.

Hinterlasse einen Kommentar

Kommentare müssen vor der Veröffentlichung überprüft werden

Erforderliche Angabe