INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
NODEMCU - SQL-Datenbank
25.03.2020, 22:54
Beitrag #33
RE: NODEMCU - SQL-Datenbank
Sprintf kennt keinen String. Da musst Du Uname.c_str() benutzen.
Für 1 Zeichen einen String zu nehmen halte ich allerdings für hirnrissig. Was an char hast Du nicht verstanden? (%c)

Warum hast Du 3 query-Variablen? Die benutzt Du doch nicht gleichzeitig. Da reicht eine.
Außerdem solltest Du nicht sprintf, sondern snprintf verwenden:
Code:
snprintf(query,sizeof(query),Format, Variablenliste)

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.03.2020, 23:12 (Dieser Beitrag wurde zuletzt bearbeitet: 25.03.2020 23:22 von abernauer.)
Beitrag #34
RE: NODEMCU - SQL-Datenbank
(25.03.2020 22:54)Tommy56 schrieb:  Sprintf kennt keinen String. Da musst Du Uname.c_str() benutzen.
Für 1 Zeichen einen String zu nehmen halte ich allerdings für hirnrissig. Was an char hast Du nicht verstanden? (%c)

Warum hast Du 3 query-Variablen? Die benutzt Du doch nicht gleichzeitig. Da reicht eine.
Außerdem solltest Du nicht sprintf, sondern snprintf verwenden:
Code:
snprintf(query,sizeof(query),Format, Variablenliste)

Gruß Tommy
Danke Dir Tommy,
ich habe %s mit %c getauscht, habe dann in der Abfrage nur ein ? erhalten.
habe dann wieder %s und dann wurde mir auch der Name in der Abfrage angezeigt, also von daher werden nun die Daten übergeben.

Liebe Dank für den entscheidenden Hinweis.

Mit den query meinst Du kann ich diese jederzeit mit einem neuen sql-string bestücken und dann ausführen?

Das mit dem snprintf, habe ich auf die schnelle nicht Verstanden - sorry. Werde mich damit später auf jedenfall beschäftigen und Dir Feedback geben.

Was leider nicht funktioniert ist der Insert Befehl in die DB, da kommt nix an!
-SORRY man sollte den Name der Tabelle auch richtig schreiben, das war der Fehler!!!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.03.2020, 23:19
Beitrag #35
RE: NODEMCU - SQL-Datenbank
Du solltest mal etwas Zeit in die Kenntnis der primitivsten Grundlagen der Variablentypen investieren.
Code:
char Uname = row->values[2];

und dann mit %c im s(n)printf benutzen.

Ja, query ist doch nur ein Puffer, der jedes Mal neu gefüllt wird.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.03.2020, 13:43
Beitrag #36
RE: NODEMCU - SQL-Datenbank
Hallo Tommy,

vielen Dank für Deine super tollen Ansätze - bin sehr weit gekommen damit!
Man sollte Dir auch mal echt dafür danken, was ich gerne hiermit tue.

So bin nun an dem Punkt wo ich meine RFID-Station (nodecmu) und einen D1 Mini (sollen Raley geschaltet werden) per UPD verbinden will.

Habe Deinen Post
https://www.arduinoforum.de/arduino-Thre...sen?page=2

versucht einzubauen in mein Projekt!

Ich sollte allerdings 1, 2 oder 3 senden....
Du hast ja da ein boolean definiert, was müsste ich da nun umändern?

Gruß aus dem sonnigen Schwarzwald
Andy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.03.2020, 14:06
Beitrag #37
RE: NODEMCU - SQL-Datenbank
Einfach ein byte nehmen. Da kannst Du dann 256 Zustände übergeben.

Code:
byte befehl = 0; // oder 2 oder 3 oder ...
Udp.beginPacket(remoteIP, remotePort);
Udp.write(befehl);
Udp.endPacket();

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.03.2020, 14:08
Beitrag #38
RE: NODEMCU - SQL-Datenbank
(27.03.2020 14:06)Tommy56 schrieb:  Einfach ein byte nehmen. Da kannst Du dann 256 Zustände übergeben.

Code:
byte befehl = 0; // oder 2 oder 3 oder ...
Udp.beginPacket(remoteIP, remotePort);
Udp.write(befehl);
Udp.endPacket();

Gruß Tommy

Und beim Server ist ja boolean definiert oder dann Byte nehmen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.03.2020, 14:20 (Dieser Beitrag wurde zuletzt bearbeitet: 27.03.2020 14:34 von abernauer.)
Beitrag #39
RE: NODEMCU - SQL-Datenbank
Habe beim UDP - Server das Probelm, dass ich Fehlermeldung bekomme:
Code:
// NodeMCU mit LED an D7
// Als UDP-Slave, der vom NodeMCU 1 seine Befehle bekommt
// für UDP-Server
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>

#define relay1 D1

WiFiUDP Udp;
unsigned int localUdpPort = 4210;  // local port to listen on
byte befehl;  // buffer for incoming packets
byte r1Status = 0;


// <= 31 Zeichen
char *ssid = "SSID";
// >= 8 oder <= 63 Zeichen oder NULL
char *password = "PWD";

void setup() {
  Serial.begin(115200);
  Serial.setDebugOutput(true);
  Serial.println();
  Serial.println();
  Serial.println();
  Serial.println("Start");
  pinMode(relay1, OUTPUT);
  digitalWrite(relay1, LOW);


  Serial.print("Connecting to "); Serial.println(ssid);
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Udp.begin(localUdpPort);
  Serial.print("\n connected UDP-Server bereit an IP: ");
  Serial.print(WiFi.localIP());
  Serial.print("UDP-Server bereit.");
}

void loop() {
int packetSize, len;
  // UDP
  packetSize = Udp.parsePacket();
  // Da ist was da
  if (packetSize) {
    Serial.print("Empfangen "); Serial.print(packetSize);
    Serial.print(" von IP "); Serial.print(Udp.remoteIP());
    Serial.print(" Port "); Serial.println(Udp.remotePort());
    len = Udp.read(befehl);
    r1Status = befehl;
    if (r1Status=1) {
      digitalWrite(relay1, HIGH);
      Serial.println("Relay (Wohnungstüre) wird geschaltet");
      delay(2500);
      digitalWrite(relay1, LOW);
    }
  }
}
Fehlermeldung:
no matching function for call to 'WiFiUDP::read(byte&)'
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
27.03.2020, 14:25
Beitrag #40
RE: NODEMCU - SQL-Datenbank
Ja, für den Server solltest Du bei
Code:
byte befehl[5]; // Puffer
...
len = Udp.read(befehl);
if (len == 1)  r1Status = befehl[0];
bleiben, da Du dort einen Puffer haben solltest.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
Lightbulb SPIFFS DOWNLOAD UPLOAD & DELETE Esp8266 NodeMCU Fips 31 24.146 05.09.2020 19:59
Letzter Beitrag: guenni71
Brick 2 NodeMCU zum Fernsteuern von Relais ntz616616 4 544 07.08.2020 07:31
Letzter Beitrag: hotsystems
  ESP32 NodeMCU: Status der SD-Karte georg1010 0 551 15.07.2020 12:18
Letzter Beitrag: georg1010
  NodeMCU steuert UNO/NANO über I2C Tommy56 21 19.782 12.07.2020 17:43
Letzter Beitrag: daniel_hh
  Erster Versuch mit "ESP8266 NodeMCU V3" Mathias 6 1.016 03.07.2020 18:14
Letzter Beitrag: Mathias
  ESP8266 DHT22,SDS011, MYSQL Datenbank und veröffentlichen von Live werten. Bilderberg2020 15 1.802 07.06.2020 15:18
Letzter Beitrag: Tommy56
  ESP32 NodeMCU: Versorgung mit USB und EXT 5V georg1010 7 1.009 03.05.2020 21:00
Letzter Beitrag: hotsystems
  NodeMCU V3 + rhGeiger ak68 19 2.754 17.04.2020 07:35
Letzter Beitrag: Fips
  NodeMCU -KNX ak68 4 1.255 12.04.2020 10:22
Letzter Beitrag: ak68
  nodemcu - ota abernauer 12 1.645 11.04.2020 13:21
Letzter Beitrag: abernauer

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste