DAU braucht hilfe.
Moderator: OS4Welt-Team
DAU braucht hilfe.
Ich hab seit kurzen ein Photovoltaik-Anlage auf dem Dach.
Der Wechselrichter hängt bei mir im Netzwerk sodas ich
über ein PC-Programm alle Daten erfassen kann.
Da man auch über einen Browser die Daten angezeigt bekommt,
hab ich mir gedacht das währe was um mal wieder auf dem Amiga
was zu machen.
So Daten kann ich auslesen, nur ich hab Probleme mit der Verarbeitung.
Folgendes hab ich gefunden um die Daten auszulesen : (nur ein Ausschnitt)
sprintf( buffer, "GET %s HTTP/1.0\r\n\r\n", Seite); //Wandle Zahl in String
send( sock, buffer, strlen( buffer), 0);
// Antwort hohlen
do {
count = recv( sock, buffer, sizeof(buffer), 0);
write( 1, buffer, count); // Auf Konsole ausgeben
strncat(WR_Daten, &buffer, count); // In Char-Variable anhängen
}
while (count > 0);
// Verbindung schließen
closesocket( sock);
Das Problem ist folgendes:
Ich bekomme den ersten Datenblock den mir der Server schickt nicht kopier,
oder nur Teilweise?!
Das sieht dann so aus:
Von write() ausgegeben:
6.AmigaOS:> Proggen:CodeBench/Projekte/AmigaPV/Hohle_Daten/hohle_daten
HTTP/1.0 200 OK
Content-Type: text/plain
Content-Length: 13304
Datei 2: Parameter
P 97 Datum = 12.11.2012
P 98 Zeit = 14:36:00
P149 Firmwarerelease = 2.62
P148 Seriennummer = 23012
P 1 Netzspannung = 228V
P 2 Gleichspannung = 378V
P 3 Netzstrom = 7.62A
P 4 Strom DC = 4.76A
P 5 Leistung AC = 1707W
P 6 Leistung DC = 1799W
P 7 Wirkungsgrad = 97.3
P 8 Energie Tag = 10.889kWh
P 9 Energie Woche = 10kWh
P 10 Energie Monat = 68kWh
und so liegt es in WR_Daten:
WR_Daten ------------->=
HTTP/1.0 200 OK
Content-Type: text/plain
Content-Length: 13304
Datei 2: Parameter
6 Leistung DC = 1799W
P 7 Wirkungsgrad = 97.3
P 8 Energie Tag = 10.889kWh
P 9 Energie Woche = 10kWh
P 10 Energie Monat = 68kWh
Was mach ich Unwissender falsch?
Der Wechselrichter hängt bei mir im Netzwerk sodas ich
über ein PC-Programm alle Daten erfassen kann.
Da man auch über einen Browser die Daten angezeigt bekommt,
hab ich mir gedacht das währe was um mal wieder auf dem Amiga
was zu machen.
So Daten kann ich auslesen, nur ich hab Probleme mit der Verarbeitung.
Folgendes hab ich gefunden um die Daten auszulesen : (nur ein Ausschnitt)
sprintf( buffer, "GET %s HTTP/1.0\r\n\r\n", Seite); //Wandle Zahl in String
send( sock, buffer, strlen( buffer), 0);
// Antwort hohlen
do {
count = recv( sock, buffer, sizeof(buffer), 0);
write( 1, buffer, count); // Auf Konsole ausgeben
strncat(WR_Daten, &buffer, count); // In Char-Variable anhängen
}
while (count > 0);
// Verbindung schließen
closesocket( sock);
Das Problem ist folgendes:
Ich bekomme den ersten Datenblock den mir der Server schickt nicht kopier,
oder nur Teilweise?!
Das sieht dann so aus:
Von write() ausgegeben:
6.AmigaOS:> Proggen:CodeBench/Projekte/AmigaPV/Hohle_Daten/hohle_daten
HTTP/1.0 200 OK
Content-Type: text/plain
Content-Length: 13304
Datei 2: Parameter
P 97 Datum = 12.11.2012
P 98 Zeit = 14:36:00
P149 Firmwarerelease = 2.62
P148 Seriennummer = 23012
P 1 Netzspannung = 228V
P 2 Gleichspannung = 378V
P 3 Netzstrom = 7.62A
P 4 Strom DC = 4.76A
P 5 Leistung AC = 1707W
P 6 Leistung DC = 1799W
P 7 Wirkungsgrad = 97.3
P 8 Energie Tag = 10.889kWh
P 9 Energie Woche = 10kWh
P 10 Energie Monat = 68kWh
und so liegt es in WR_Daten:
WR_Daten ------------->=
HTTP/1.0 200 OK
Content-Type: text/plain
Content-Length: 13304
Datei 2: Parameter
6 Leistung DC = 1799W
P 7 Wirkungsgrad = 97.3
P 8 Energie Tag = 10.889kWh
P 9 Energie Woche = 10kWh
P 10 Energie Monat = 68kWh
Was mach ich Unwissender falsch?
X5000--> mit OS4.1 FE pre release, 4GB RAM und 250X
Re: DAU braucht hilfe.
Hi Berny,
wo werden die Daten denn genau gespeichert? Musst du das Programm auf deinem Amiga installieren?
Wenn es eine reine Browser-App ist, solltest du das Programm eigentlich ohne Probleme auf deinem Amiga abrufbar sein. Dazu musst du nur die IP zu dem Programm eingeben. Gibt es eventuell Handbuch zu der Anlage? Oder hast du im Internet schon einmal geschaut?
wo werden die Daten denn genau gespeichert? Musst du das Programm auf deinem Amiga installieren?
Wenn es eine reine Browser-App ist, solltest du das Programm eigentlich ohne Probleme auf deinem Amiga abrufbar sein. Dazu musst du nur die IP zu dem Programm eingeben. Gibt es eventuell Handbuch zu der Anlage? Oder hast du im Internet schon einmal geschaut?
Teste dein Wissen, auch auf dem Amiga: www.länder-quiz.de
Re: DAU braucht hilfe.
Das mit dem Browser auf dem Amiga über die IP des Wechselrichters funktioniert, siehe Bild.
Ich möchte aber ein Amiga-Programm machen.
In diesem Programm möchte ich die aktuellen Daten
und die Langzeitdaten anzeigen bzw. erfassen und bearbeiten.
Ich möchte aber ein Amiga-Programm machen.
In diesem Programm möchte ich die aktuellen Daten
und die Langzeitdaten anzeigen bzw. erfassen und bearbeiten.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
X5000--> mit OS4.1 FE pre release, 4GB RAM und 250X
Re: DAU braucht hilfe.
Aussehen soll das mal so ähnlich!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
X5000--> mit OS4.1 FE pre release, 4GB RAM und 250X
Re: DAU braucht hilfe.
Vermutlich hat der Server irgendwo ein 0-Byte in seinem Datenstrom. Beim Schreiben auf die Konsole fällt das nicht auf, sie ignoriert das einfach. Aber die String-Funktionen von C interpretieren die 0 als Ende vom String und schneiden alles andere ab.Berny hat geschrieben:Was mach ich Unwissender falsch?
Das könnte helfen:
Code: Alles auswählen
for (i = 0; i < count; i++)
if (buffer[i] == 0)
buffer[i] = ' ';
Statt ' ' kannst du auch '-' oder sowas nehmen, dann siehst du, wo das 0-Byte war.
Re: DAU braucht hilfe.
Danke Thomas, genau das war der Fehler!
Du bist einfach der Beste!
Du bist einfach der Beste!
X5000--> mit OS4.1 FE pre release, 4GB RAM und 250X
Re: DAU braucht hilfe.
Kleine aktuallisierung.
Daten hohlen und aufs Fenster ausgeben funktioniert soweit.
Hab noch das Problem das wenn ich die Daten ein zweitesmal hohle der Rechner einfriert.
Und was mir noch fehlt ist wie man Piktogramm-Merkmale ans Programm übergibt?!
Daten hohlen und aufs Fenster ausgeben funktioniert soweit.
Hab noch das Problem das wenn ich die Daten ein zweitesmal hohle der Rechner einfriert.
Und was mir noch fehlt ist wie man Piktogramm-Merkmale ans Programm übergibt?!
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
X5000--> mit OS4.1 FE pre release, 4GB RAM und 250X
Re: DAU braucht hilfe.
Wenn das Programm von der Workbench aufgerufen wird, dann ist argc==0 und argv ein Pointer auf eine struct WBStartup. In der struct WBStartup stehen das Verzeichnis und der Name deines Programms sowie weiterer mit Shift-Click angewählter Icons. Mit diesen Informationen kannst du mit GetDiskObject oder GetIconTags das Icon öffnen und mit FindToolType oder ähnlichen Funktionen die Tooltypes auslesen. FreeDiskObject nicht vergessen!Berny hat geschrieben:Und was mir noch fehlt ist wie man Piktogramm-Merkmale ans Programm übergibt?!
Re: DAU braucht hilfe.
Danke Thomas, wird mir im Moment aber ein wenig zu viel.
Muß mich mal ein wenig in diese Materie einarbeiten.
Aber hier mal ein aktuelles Bild. Funktioniert soweit alles auf der ersten Seite.
Muß mich mal ein wenig in diese Materie einarbeiten.
Aber hier mal ein aktuelles Bild. Funktioniert soweit alles auf der ersten Seite.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
X5000--> mit OS4.1 FE pre release, 4GB RAM und 250X
Re: DAU braucht hilfe.
Hab jetzt noch ein weiteres Fehlverhalten, siehe Bild.
Wenn ich das Programm starte fehlen Gadgets.
Wenn ich vorherCodebench starte erscheint das Programm "NORMAL"?!!?
Wenn ich das Programm starte fehlen Gadgets.
Wenn ich vorherCodebench starte erscheint das Programm "NORMAL"?!!?
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
X5000--> mit OS4.1 FE pre release, 4GB RAM und 250X