so hier der eingesbatelte Code mit dem Fehler
invalid conversion from char to char
ich habe die zeile wo das passiert mit ########### gekennzeichnet
das ist der Code von Dir ich habe nur den namen geändert
#include <Ethernet.h>
#include <SPI.h>
// Tiny RTC (DS1307)
#include <Wire.h> // I2C-Bibliothek einbinden
#include "RTClib.h" // RTC-Bibliothek einbinden
RTC_DS1307 RTC; // RTC Modul
//Room_Sesnor DHT22
#include "DHT.h"
#define DHTPIN 9
#define DHTTYPE DHT22 //DHT11, DHT21, DHT22
DHT dht(DHTPIN, DHTTYPE);
//Ethernet_Shield
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 192, 168, 2, 105 };
byte server[] = { 192, 168, 2, 104 }; // Google
//Connect mysql
char url[] = "/test_db/db_conect_2.php";
char key[] = "pass";
char host[] = "192.168.2.104"; // DOMAIN eingeben!
EthernetClient client;
#define echoPin 4 // Echo Pin
#define trigPin 3 // Trigger Pin
#define LEDPin 13 // Onboard LED
int maximumRange = 200; // Maximum range needed
int minimumRange = 0; // Minimum range needed
long duration, distance; // Duration used to calculate distance
void setup()
{
// Initialisiere I2C
Wire.begin();
//Clock
// Initialisiere RTC
RTC.begin();
if (! RTC.isrunning()) {
// Aktuelles Datum und Zeit setzen, falls die Uhr noch nicht läuft
RTC.adjust(DateTime(__DATE__, __TIME__));
Serial.println("Echtzeituhr wurde gestartet und auf Systemzeit gesetzt.");
}
else {
Serial.println("Echtzeituhr laeuft bereits.");
}
Ethernet.begin(mac, ip);
Serial.begin(9600);
client.connect(server, 80);
Serial.println("DHT22 - Test!");
dht.begin();
delay(1000);
// Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
// pinMode(LEDPin, OUTPUT); // Use LED indicator (if required)
}
boolean requestSent;
void loop()
{
//clock
DateTime now=RTC.now(); // aktuelle Zeit abrufen
show_time_and_date(now); // Datum und Uhrzeit ausgeben
delay(10000); // 30 Sekunden warten bis zur nächsten Ausgabe
// Room_temp_and_hum
float hum = dht.readHumidity(); //Luftfeuchte auslesen
float temp = dht.readTemperature(); //Temperatur auslesen
Serial.println("connecting...");
float Water_1_sum;
//float Water_1;
Water_1_sum=Water_1();
Serial.println("jetzt der wasserstand");
Serial.println(Water_1_sum);
Serial.println("jetzt die temp ==>:");
Serial.println(temp);
Serial.println("jetzt die Luftfeuchte ==>:");
Serial.println(hum);
daten_senden(temp,hum,Water_1_sum);
// testen
}
void show_time_and_date(DateTime datetime){
// Wochentag, Tag.Monat.Jahr
//Serial.print(get_day_of_week(datetime.dayOfWeek()));
//Serial.print(", ");
if(datetime.day()<10)Serial.print(0);
Serial.print(datetime.day(),DEC);
Serial.print(".");
if(datetime.month()<10)Serial.print(0);
Serial.print(datetime.month(),DEC);
Serial.print(".");
Serial.println(datetime.year(),DEC);
// Stunde:Minute:Sekunde
if(datetime.hour()<10)Serial.print(0);
Serial.print(datetime.hour(),DEC);
Serial.print(":");
if(datetime.minute()<10)Serial.print(0);
Serial.print(datetime.minute(),DEC);
Serial.print(":");
if(datetime.second()<10)Serial.print(0);
Serial.println(datetime.second(),DEC);
}
//char url, float temp, float hum, char key, char host
void daten_senden(float temp, float hum, float Water_1_sum){
if (client.connected()) {
Serial.println("connected");
// client.println("GET /test_db/arduino_push_data.php?TEMP=$temp&HUM="hum"&key=21baisao06 HTTP/1.0");
//client.println();
//float W_Dist;
// float W_1_Dist;
// int a;
//Serial.println(W_Dist());
Serial.print("Verbunden...sende Daten...");
client.print("GET ");
client.print(url);
client.print("?TEMP=");
client.print(temp);
client.print("&");
client.print("&HUM=");
client.print(hum);
client.print("&water_1=");
client.print(Water_1_sum);
client.print("&func=1");
client.print("&TEST=1");
client.print("&key=");
client.print(key);
client.println(" HTTP/1.1");
client.print("Host: ");
client.println(host);
client.println();
Serial.println("fertig!");
static boolean read;
byte maxReads = 10; //Seconds
while ((maxReads-- > 0) && client.connected()) // Antwort des Servers lesen
{
delay(1000);
// response vom Server abfragen um Daten aus der Datenbank zu ermitteln
while (client.available())
{
char response = client.read();
static char text[81];
static byte charcount=0;
if(response == '@'){
read = true;
}
if(read)
{
if (response>=32 && charcount<sizeof(text)-1)
if (response>=32 )
{
text[charcount]=response;
charcount++;
}
else if (response==10)
{
charcount=0;
//read = false;
Serial.print(text);
}
}
Serial.print(response);
requestSent = true;
///ab hier testen
if(requestSent = true)
{
char* strPtr = response; //habe das Serial im Namen mal weggelassen, da es nicht Serial ist
// hier kommt der Fehler #####################
if (strPtr!=NULL)
{
parseString(strPtr);
requestSent = false;
}
}
}
}
} else {
Serial.println("connection failed");
}
if (client.available()) {
char c = client.read();
Serial.print(c);
}
if (!client.connected()) {
Serial.println();
Serial.println("disconnecting.");
client.stop();
for(;;)
;
}
}
float Water_1()
{
int duration;
float distance;
digitalWrite(trigPin, HIGH);
delayMicroseconds(500);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration/2.0) / 29.1;
//Serial.print(distance);
//Serial.println(" cm");
return distance;
}
Und bitte lass uns nur den String zerlegen
ich will endlich das Ergebnis haben... ich steige sonst nicht durch
wie gesagt die Feinheiten werde ich dann schon noch durch lesen usw. erarbeiten.
Das mit dem array habe ich auch nicht begriffen
ich möchte ja aus der funktion daten_senden alle daten erhalten
ich stelle mir das so vor
ich rufe die funktion auf
in_dem_array_soll_alles_stehen =daten_senden(temp,hum,Water_1_sum);
oder
in_dem_array_soll_noch_noch_mehr_stehen =daten_senden(temp,hum,Water_1_sum, Water_2_sum, Water_3_sum);
das array in_dem_array_soll_alles_stehen
soll dann intern so aussehen
array in_dem_array_soll_alles_stehen[temp]
array in_dem_array_soll_alles_stehen[hum]
array in_dem_array_soll_alles_stehen[Water_1_sum]
usw.
wenn es in der Form
temp = in_dem_array_soll_alles_stehen[0]
hum = in_dem_array_soll_alles_stehen[1]
usw.
geliefert wird wäre das auch ok
das müsste doch gehen oder.
ja ich kenne den unterschied zwischen char, char* usw noch überhaupt nicht.
ich finde dazu in dem gallileo buch auch nichts bzw. keine Beispiel-gegenüberstellung damit es für mich leichetr wird zu begreifen
bei mir ist es so.
ich muss zwei/drei sachen gegenüberstellen und dann verstehe ich auch den Unterschied und begreife eher was das mit den Zeigern etc, zu bedeuten hat.
Der andere dem reicht es wenn er hier was liest und dort was liest. Bei mir ist das leider nicht so.
ich brauche es anhand von Beispielen gegenübergestellt