Hauptmenü

HTTP_GET

Begonnen von lullnix, 28. August 2017, 16:17:22

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 2 Gäste betrachten dieses Thema.

peewit

da die fritzbox hier anscheinend nur als switch agiert hast du ein technisches problem wenn du versuchst den datenverkehr zwischen wago-sps und wlan-steckdose vom notebook aus aufzuzeichnen.

du müsstest die wireshark aufzeichnung von der fritzbox machen lassen oder dich auf einen hub hängen oder einen switch mit spiegel-port benutzen


http://winfuture.de/videos/Hardware/So-lasst-ihr-euch-von-der-FritzBox-den-Datenverkehr-mitschneiden-17088.html




Maiggl

Ok. Welche Verbindung muss ich aufzeichnen (siehe Anhang)?

[gelöscht durch Administrator]

peewit

#17
da es sich um lokalen datenverkehr handelt vermute ich mal das es die schnittstelle eth oder lan ist

notfalls von mehreren schnittstellen eine aufzeichnung machen !


http://www.wehavemorefun.de/fritzbox/Netzwerk-Interfaces

Maiggl

Guten Abend,

zunächst möchte ich mich deine Hilfe bei meinem Problemchen bedanken!

Ich habe mal für beide HTTP-Bausteine jeweils drei Verbindungen mitgeschnitten und angehängt.
Für mich sieht die eth0-Verbindung am erfolgversprechendsten aus. Aber ich werde daraus auch nicht schlau.

Hoffentlich geht es dir anders...

Grüße

[gelöscht durch Administrator]

Maiggl

und hier der Rest

[gelöscht durch Administrator]

peewit

hallo

Die Aufzeichnungen von device "eth0" sind die richtigen

Es gibt nun zwei möglichkeiten

1. entweder ist deine parametrierung vom "HTTP_GET" Baustein nicht korrekt

2. du verwendest nicht die oscat_network_lib v1.35 
    diese enthält den Baustein HTTP_GET in der Version 1.4
    und erst in dieser version habe ich die  Authentication hinzugefügt
    vorhergehenden ältere versionen habe keine Authentication integriert !!

   link zur oscat_network.lib v1_35 beta      -  keine angst - meine beta versionen sind auch super  :-)
   http://www.oscat.de/community/index.php/topic,2546.msg13223.html#msg13223

3.  der wago-baustein verwendet eine HTTP/1.0 mit persistenter Verbindung
     das gleiche kannst du beim HTTP_GET Baustein mit Parameter MODE = BYTE#1 erreichen (* HTTP/1.0 mit persistenter Verbindung gewünscht *)
     das dürfte aber kein wirkliches problem sein

viel spass noch mit oscat .....

Maiggl

Hi nochmal,

zu 1) : Das ist gut möglich...
zu 2) : Stimmt, ich hatte die Version 1.21. wenn ich diese jetzt allerdings rauswerfe und die die oscat_network_lib v1.35  einbinde,
bekomme ich den Fehler 3803 : Speicher für Variablen aufgebraucht...

Bei den Übersetzungsoptionen habe ich die nicht verwendeten Sachen schon von der Übersetzungen ausgeschlossen.

weißt du hier auch noch Rat?

Maiggl

#22
Ok,ich habe erstmal in dem rudimentären Programm alle nicht benötigten libs entfernt.

Jetzt klappt es! Vielen Dank für deine Zeit!

Eine Frage habe ich allerdings noch zwei:
1) Wenn ich die url, also den Schaltbefehl, mit der Wago losschicke, dauert es ca 7 Sekunden bis die Steckdose schaltet.
    Kann man das irgendwie beschleunigen?

    Über den Browser geht das in Millisekunden...

2) Wie komme ich an die Antwort der Steckdose in Klartext ran? Ich muss nämlich den Status (ein oder aus) auswerten.
   Im Browser sieht so eine Antwort so aus:   { "result": {"id": "2",   "status": 0}}   

peewit

dein sps programm wird ja zyklisch abgearbeitet
und je nach auslastung und zykluslänge ergibt sich eine viel längere durchlaufzeit

aber selbst 7 sekunden sind sehr lange


{ "result": {"id": "2",   "status": 0}}   

du kannst mit "buffer_search" nach "{ "result": {"id": "2",   "status": " suchen und dann mit relativen offset zur gemeldeten position im buffer dann genau auf das Byte mit der "0" oder "1" zugreifen

Maiggl

das Programm wird jede Millisekunde abgearbeitet.
Mit dem Wago-HTTP_GET_Baustein dauert es ähnlich lange.

Das mit dem buffer_search klingt schon mal gut, allerdings habe ich gerade keinen Plan,
wie ich das praktisch ausführen sollte..

peewit

jede millisekunde wird wahrscheinlich so nicht stimmen

programmiere mal einen simplen zähler und schau mal wie hoch der zählerstand nach einer gewissen zeit ist