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
  NodeMCU als Repeater Franky1140 7 93 Heute 20:13
Letzter Beitrag: Tommy56
  NodeMCU -KNX ak68 16 2.825 24.02.2021 17:06
Letzter Beitrag: matty67
  GPS-Synchronisierung mit NodeMCU-ESP8266 Floke4 3 225 22.02.2021 19:33
Letzter Beitrag: rev.antun
  NodeMCU: zyklisch WDT reset miq19 1 150 21.02.2021 16:30
Letzter Beitrag: miq19
  NodeMCU-ESP8266 Floke4 13 798 25.01.2021 18:17
Letzter Beitrag: hotsystems
  Mit NodeMCU-V3 L9110S Schrittmotor steuern ICookie 14 884 19.01.2021 12:05
Letzter Beitrag: ICookie
  NodeMCU GPIO15 Transistor Ansteuern rev.antun 14 1.174 06.01.2021 20:42
Letzter Beitrag: rev.antun
  Variablen NodeMCU ESP8266-E Speicher Sparen rev.antun 47 2.911 17.12.2020 00:58
Letzter Beitrag: rev.antun
  NodeMCU ESP8266 - IDE Verbindungsprobleme bei D0-Reset Verbindung ayykaramba 8 1.037 14.12.2020 12:09
Letzter Beitrag: N1d45
  Welche Einstellungen in Arduino IDE für NodeMCU frankmehlhop 20 1.708 20.11.2020 08:06
Letzter Beitrag: Beinhardt

Gehe zu:


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