WagoAppHTTP Http Abfrage an einen Lautsprecher stellen

Auszu2020

Level-1
Beiträge
8
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich bin neu im Gebiet um SPS und wollte mir ein kleines Programm schreiben, bei dem, falls der Trigger ausgeloest wird eine Http URI (http://192.168.66.185/axis-cgi/playclip.cgi?location=ding_dong.mp3&repeat=0&volume=42) an den angebundenen Lautsprecher gesendet wird und dieser letztendlich die durch die URI angeforderte Audiodatei abspielt .

Dazu habe ich mir die Bibliothek zu Hilfe gezogen und den Funktionsbaustein WagoAppHttp mit dem Funktionsblock FbHTTP_Get gewaehlt. Theoretisch muesste jetzt nach dem ich den xTrigger Wert auf True gesetzt habe eine Audiodatei vom Lautsprecher abgespielt werden, jedoch wird ein Error bei oStatus angezeigt: "Error HTTP 401" (Benutzername und Passwort sind korrekt). Bei manueller Eingabe der URl im Browser wird die Audiodatei sofort abgespielt. Wegen des Errortypes vermute ich ein Authentifizierungsproblem.

Ich komme an dem Punkt nicht weiter, koennt ihr mir bitte helfen?

Vielen Dank im Voraus!
 
Hallo,

hast Du die eAuthentication auf den Wert none gesetzt?
So sollte der Baustein sich nicht versuchen zu authentifizieren.

Grüße
 
Bist Du sicher, dass dein Browser auch HTTP und nicht HTTPS nutzt?
Ich würde zur Sicherheit die Telegramme vergleichen.

Grüße
 
Es ist egal ob ich HTTP oder HTTPS benutze, wenn ich manuell die URI/URL eingebe kommt bei beiden das erwünschte Ergebnis.
Die Telegramme lassen sich schlecht vergleichen. Mit Wireshark sehe ich das die Abfrage am Lautsprecher ankommt und das der Lautsprecher eine 401 Unauthorized Meldung zurück schickt, mehr jedoch nicht.
 
Ich kann das mit Wireshark nicht wirklich abfangen.

Hier noch mal der Quelltext des Funktionsbausteins:

Alarm(
sURI:='http://192.168.66.185/axis-cgi/playclip.cgi?location=ding_dong.mp3&repeat=0&volume=42',
sUser:= '*****',
sPassword:='******',
sHeader:= ,
eAuthentication:=0,
pRxBuffer:=ADR(rxBuffer),
udiRxBufferSize:= SIZEOF(rxBuffer),
tTimeout:= t_timeout,
xTrigger:=x_send,
xBusy=> x_busy,
xError=> x_error,
oStatus=> o_status,
udiRxNBytes=> udi_RxNBytes );
 
Nochmal ein anderer Gedankengang.
Wenn du Testweise eine Visu baust und dort ein Rechteck einfügst und bei Betätigung eine URL aufrufen willst. Hast du das schonmal probiert? Vllt geht das ja, dass du dann einfach das Rechteck auf der Visu kurz antriggerst? ist das möglich, oder bin ich da gedanklich falsch?
 
Ich trigger direkt, indem ich den x_send Wert auf true setze, wodurch die URI zum Lautsprecher geschickt wird und ein Ton ausgeben werden müsste (was in dem Error 401 endet).
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
Ja das stimmt. Ich habe vorhin geschaut ob es auch ohne geht. Normalerweise steht da eine 2.

Die 2 wird laut Doku noch nicht unterstützt. Da mußt Du die 1 (Basic) nehmen, wenn Du mit Username/Password arbeiten mußt.

Aber das hast Du wahrscheinlich auch schon ausprobiert.

Nimm sonst mal sHeader:= raus, aus dem Aufruf.

Gruß
 
Hi,

ja, das habe ich auch schon gelesen und ja ich habe das mit dem eAuthentication 1 versucht, was auch nicht klappt. Es geht auch ohne Header nicht, wobei dieser auch stehen bleiben könnte, da er sowieso auf Default steht, er leer ist.
 
Also scheinbar muss Du dich doch anmelden.
Kommt beim Webbrowser ein Dialog um dich anzumelden?

Eventuell unterstützt der Lautsprechen die Übergabe von Benutzer und Passwort als PHP Parameter. So funktioniert das auch bei vielen IP Kameras.
Beispiel: http://192.168.178.74/snapshot.jpg?user=admin&pwd=Geheim

Ich habe eine Kamera die das nicht unterstützt. Dort gebe ich Benutzer und Passwort im Link mit an:
http://admin:Geheim@192.168.66.185/axis-cgi/playclip.cgi?location=ding_dong.mp3&repeat=0&volume=42
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Ja, klar muss ich mich anmelden, sonst bräuchte ich ja keine Login-Daten. Wenn ich die URI manuell eingebe kommt ein Dialog in dem ich Benutzername und Passwort eingeben muss.

http://admin:Geheim@192.168.66.185/axis-cgi/playclip.cgi?location=ding_dong.mp3&repeat=0&volume=42
Das habe ich schon versucht, mit dem Ergebnis, dass sich beim manuellen Test erneut ein Dialog Fenster, mit der Aufforderung Zugangsdaten einzugeben öffnet.
 
Zurück
Oben