Spannung Wert nach Telegram senden.

Mehr
08 Jan 2023 15:29 #853 von blackvento
blackvento erstellte das Thema Spannung Wert nach Telegram senden.
Hallo, ich habe zwei Sketche die getrennt laufen. Nur bekomme ich die beiden in einem Sketch nicht ans laufen.
Größtes Problem ist das ich null Ahnung vom Programmieren habe.

Sketch eins: Die Post ist da.
Sketch zwei : Spannung wird an Seriellen Monitor angezeigt.
Bei Sketch drei sollte angezeigt werden das die Post da ist und wieviel Spannung das Akku noch hat.

Kann mir jemand weiter helfen?
MfG blackvento

//Libraries
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>

//WiFi Credentials
const char* ssid = "privat";
const char* password = "XXXX";

//Telegram Bot Credentials
#define botToken "von telegram"
#define userID "meine userID"

WiFiClientSecure client;
UniversalTelegramBot bot(botToken, client);

void setup() {
  client.setInsecure();
  Serial.begin(115200);
  delay(5000);
  Serial.println("Awake");

  //Connecting to WiFi
  Serial.print("Connecting to WiFi: ");
  Serial.println(ssid);

  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(5000);
  }

  Serial.println("");
  Serial.println("Connected!");

  bot.sendMessage(userID, "Die Post ist da.", "");

  delay(5000);
  Serial.println("Going to sleep");
  ESP.deepSleep(0);
}

void setup() {
  Serial.begin(115200);
}

void loop() {
  int sensorValue = analogRead(A0);
  float voltage = sensorValue * (4.77 / 3300.00) * 2;
  Serial.println(voltage);
 
delay(3000);
}
//Libraries
#include <ESP8266WiFi.h>
#include <WiFiClientSecure.h>
#include <UniversalTelegramBot.h>

//WiFi Credentials
const char* ssid = "privat";
const char* password = "XXXX";

//Telegram Bot Credentials
#define botToken "von telegram"
#define userID "meine userID"

WiFiClientSecure client;
UniversalTelegramBot bot(botToken, client);

void setup() {
  client.setInsecure();
  Serial.begin(115200);
  delay(5000);
  Serial.println("Awake");

  //Connecting to WiFi
  Serial.print("Connecting to WiFi: ");
  Serial.println(ssid);

  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(5000);
  }

  Serial.println("");
  Serial.println("Connected!");


void loop() {
  int sensorValue = analogRead(A0);
  float voltage = sensorValue * (4.77 / 3300.00) * 2;
  Serial.println(voltage);
 
delay(3000);
}
  bot.sendMessage(userID, "Die Post ist da.", "");
  bot.sendMessage(voltage ", "");

  delay(5000);
  Serial.println("Going to sleep");
  ESP.deepSleep(0);
}

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
14 Jan 2023 20:01 #855 von colaholiker
Spannung Wert nach Telegram senden.
Hallo,
zwei Sketche zusammenführen mache ich sehr oft mit der Arduino-IDE.
Erst einen Sketch laden, dann aus der IDE eine weitere laden mit dem anderen Sketch.
Die erste IDE im Windowsfenster nach links rammeln, die andere nach rechts.
Jetzt hast Du den Monitor mit den IDEs geteilt.
Die linke speichere ich erstmal unter neuem Namen ab, um nichts kaputt zu machen.
Jetzt such ich rechts den Code, den ich links dazu haben möchte und erledige das mit Copy/Paste.

Welchen Code, sollte Dir klar sein: gleiche Codeteile brauchst Du nur einmal, VOID xyz sind Unterroutinen die nur einmal vorkommen dürfen usw.
Der Rest ist probieren, die serielle Ausgabe hilft dabei.
Hans

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
15 Jan 2023 08:40 #856 von blackvento
Spannung Wert nach Telegram senden.
Hallo Hans,
danke für deine Rückmeldung.
Scheinbar war meine Fragestellung nicht eindeutig. Mein Fehler.
Ich suche jemanden der im Programm drei die Fehler korrigiert und dann hier veröffentlicht. Anhand der Aufrufe glaube ich das auch andere dieses Programm gebrauchen können, wenn auch nur teilweise.
Mit Probieren bin ich seit mehreren Wochen nicht weiter gekommen.

Schönes Restwochenende
blackvento

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
16 Jan 2023 00:33 - 16 Jan 2023 00:49 #857 von colaholiker
Spannung Wert nach Telegram senden.
hm, zweiter Versuch mit dieser Forumssoftware, daher nur kurz:

Das:
bot.sendMessage(voltage ", "");
geht nicht wegen dem nur einen Anführungszeichen hinter voltage.
Zwei oder gar keins!
Evtl. muß auch userID mit dazu. Das mußt Du recherchieren.

im LOOP unter delay(3000); ist die } Klammer zuviel.

Aber wirf sie nicht weg!
sie gehört über die Zeile void loop() { um nämlich die Routine void setup() { zu beenden.

Mach die 3 Sachen erstmal und nenne Dein Programmier-Programm bitte.
Dan gucken wir weiter.
Hans

PS: hab noch was probiert.
mit den o.g. Änderungen und...

bot.sendMessage(userID, String(voltage), "");

läuft der Code bei mir. voltage habe ich damit in einen String umgewandelt.
Letzte Änderung: 16 Jan 2023 00:49 von colaholiker.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
16 Jan 2023 18:15 #858 von blackvento
Spannung Wert nach Telegram senden.
Hallo Hans,

vielen Dank für deine Bemühungen.
Ich habe die drei Punkte geändert und das Programm läuft.
In der bot Zeile habe ich für die Optik noch " Volt " eingegeben.
bot.sendMessage(userID, "Volt " + String(voltage), "");
Zum Programmieren benutze ich Arduino 1.8.18
Das Board ist ein Wemos D1 mini pro mit zusätzlicher Antenne.

VG blackvento

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
16 Jan 2023 19:20 - 16 Jan 2023 19:24 #859 von colaholiker
Spannung Wert nach Telegram senden.
schön daß es funktioniert.

Noch zwei Sachen zum verbessern:

Im LOOP addieren sich die Wartezeiten zu 8 sekunden. Evtl. kannst Du die ersten 3 sec. laufen lassen für voltage, dann weitere 2sec. für die Postmeldung. Somit hat diese ja wieder ihre 5 sec. wie vorher?
Das spart Batterie. Überhaupt solltest Du gucken, wiviel Delay Du wegknapsen kannst wegen Stromsparen.

Die zwei Meldungen bot.send( könntest Du auch zu einer zusammenfassen "Die Post ist da! Volt: " und so weiter.
Auch das spart Zeit, Strom und evtl. Traffic.

Die Arduino-IDE 1.8 nutze ich auch. Daher kann ich Dir empfehlen, mal eine der geschweiften oder normalen Klammern zu markieren. Das Programm zeigt Dir dann die Gegenklammer. Die muß immer vorhanden sein und an der richtigen Stelle. Das hilft sehr bei der Kontrolle.

Darf ich fragen wie Du die Spannung mißt? Hast Du eine Beschaltung an einem Pin (A0)?
Und wie merkt der ESP daß Post da ist? Mir ist etwas unklar, was Du mit "Post ist da" meinst: könnte ja auch Email sein. Ich sehe im Skech keinen Auslöser für die Postmeldung.

Ich will mir auch gerade was für meinen Briefkasten bauen. Leider kann ich keinen Kontakt an die Klappe anbringen oder so, und überlege, ein Signal per Mikrofon oder Radar zu nutzen.
Hans
Letzte Änderung: 16 Jan 2023 19:24 von colaholiker.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Powered by Kunena Forum