PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Simple .exe die WLAN Signal sendet


PEBCAK
2017-07-02, 15:16:30
Hallo Leute,

Ich habe leider überhaupt keine Ahnung vom Programmieren. Aber ich wollte mal fragen wie schwer es ist eine .exe zu erstellen die ein WLAN Signal aussendet um den Input an meinem Av receiver (Denon 1200x) zu ändern. Also auf "bluray" z.b. Es gibt Windows Programme (home remote z.b.) die das können und noch viel mehr. Aber ich benötige nur diese eine Funktion.....geht das?

Besten Gruß

lumines
2017-07-02, 15:32:03
WLAN kennt so etwas wie „Signale“ nicht, die andere Layer im Netzwerkstack betreffen. Die Steuerung deines Receivers findet auf anderen Schichten statt, die vom übertragenden Medium komplett abstrahiert sind. Ich kann dir bei deinem Problem nicht direkt helfen, aber ein Blick in das OSI-Modell könnte dir vielleicht ein bisschen helfen, um zu verstehen, nach was du überhaupt suchst: https://en.wikipedia.org/wiki/OSI_model

Phantom1
2017-07-02, 16:16:05
Probier mal folgende Webadressen (evtl muss die NetzwerkIP von deinem Reciever eingesetzt werden):

http://192.168.2.99/goform/formiPhoneAppMute.xml?1+MuteOn
http://192.168.2.99/goform/formiPhoneAppMute.xml?1+MuteOff

Funktioniert das bei deinem Denon?

Gast
2017-07-02, 19:19:04
Vielen Dank schonmal für eure Antworten. Ja die letzten 2 Adressen funktionieren! Muten meinen AVR.

Inwiefern hilft mir das jetzt weiter? Kann ich damit irgendwie eine .exe erstellen, mit der ich den Kanal auf Bluray wechseln kann? (Mir ist eine .exe wichtig, da ich das ganze in Steam einbinden und aus Big Picture heraus starten möchte)

Danke nochmals!

PEBCAK
2017-07-02, 19:21:14
Ja die Befehle funktionieren. Sie muten meinen AV-Receiver.

Inwiefern hilft mir dies jetzt weiter? Kann ich damit irgendwie eine .exe erstellen, die mir den Input auf Bluray setzt? (mir ist eine .exe wichtig, da ich das ganze später in Steam einbinden und aus Big Picture heraus starten möchte).


Vielen Dank schonmal für die schnellen Antworten!!

#44
2017-07-02, 19:27:32
Grundsätzlich ist es auf diesem Weg nicht besondes schwierig ein kleines Tool zu programmiern.

Es gibt bereits eine Java-Anwendung, die das (Muten) kann: https://github.com/vogti/AVR-Remote/releases

€: Input ändern... Hmm. Ich such mal weiter.
€2: Dem Quellcode nach sollte die Anwendug das auch können. Ausprobieren kann ich das mangels Denon Receiver nicht.
€3: Wohl doch nicht. Man kann nur die gewählte Quelle auslesen. Die passenden Befehle habe ich jetzt auch nicht gefunden. Man müsste wohl erst nochmal mit Wireshark die Android/iPhone App belauschen...

PEBCAK
2017-07-02, 19:38:59
Lautstärke kann sie mir ändern. Hab die App schon ausprobiert. Aber ist nicht ganz das was ich suche....

Brauch nur eine .exe, die, wenn ich sie öffne, mir den Input (auf einen bestimmten) wechselt. Will gar nix mehr klicken müssen....

Ich hab leider überhaupt keine Vorstellung, was ich dazu benötige....hab mir mal vor Jahren ein C++ für Dummies Buch gekauft und bin nicht weiter als "Hallo Welt" gekommen :D

#44
2017-07-02, 19:44:46
Im Endeffekt muss man nur einen Request an die entsprechende URL machen. Das ist relativ easy. (Sagte der professionelle Informatiker)

Grundsätzlich kann man mit etwas Trickserei jede Art von Datei zu Steam hinzufügen. Auch eine Verknüfpung mit einer Webadresse.
W0pzMmrCu1A
Das sollte mit den Mute-Aufrufen funktioniern...

Das Hauptproblem an dieser Stelle ist, dass ich den Aufruf für das Wechseln des Inputs nirgends im Web finde...

PatkIllA
2017-07-02, 19:45:41
Da kannst du auch einfach wget nehmen.
Mit deinem Ziel selber eine exe zu erstellen verbrennst du nur Zeit und lernst trotzdem nichts

Phantom1
2017-07-02, 19:45:53
gut das das mit dem Muten schonmal funktioniert hat. Der nächste schritt ist jetzt das wechseln des einganges.... Hab einige Befehle zum wechseln gefunden, bin mir aber nicht sicher ob der richtige dabei ist? Am besten du testest die mal durch ob der richtige dabei ist.

http://192.168.2.99/goform/formiPhoneAppDirect.xml?SITV
http://192.168.2.99/goform/formiPhoneAppDirect.xml?SIGAME
http://192.168.2.99/goform/formiPhoneAppDirect.xml?SIIRADIO
http://192.168.2.99/goform/formiPhoneAppDirect.xml?SIFAVORITES
http://192.168.2.99/goform/formiPhoneAppDirect.xml?ZMFAVORITE1


Evtl geht ja auch sowas hier (hab da mal ins blaue geraten, keine anhnung ob das geht):

http://192.168.2.99/goform/formiPhoneAppDirect.xml?SIBLURAY

Pinoccio
2017-07-02, 19:47:17
Für das Anliegen müste es doch reichen, die angegeben URLs abzurufen, wenn ich das richtig vetrstehe. Dann tut es auch eine Batchdatei mit der Zeile
powershell -Command "(new-object net.webclient).DownloadString('http://example.com')"
http://example.com müsste dann durch eine Webadresse entsprechend der Antwort von Phantom1 ersetzt werden.

Quelle: StackOverflow (https://stackoverflow.com/a/35818093)

Nachtrag: Es müsste SIBD /Nachtrag2: #44 war schneller.

mfg

#44
2017-07-02, 19:50:43
Evtl geht ja auch sowas hier (hab da mal ins blaue geraten, keine anhnung ob das geht):

http://192.168.2.99/goform/formiPhoneAppDirect.xml?SIBLURAY

Ich werfe auch noch

http://192.168.2.99/goform/formiPhoneAppDirect.xml?SIBD
(http://blue-pc.net/2015/03/15/denon-binding-fuer-openhab/)
in den Raum.

€: Sollte passen. Denon liefert da sogar selbst die Dokumentation (https://www.denon.de/uk/downloads/productdownloads?FileName=Steuerungsprotokoll_IP_RS232C_AVR-X1200W_AVR-X2200W_AVR-X3200W_AVR-X4200W.pdf) :eek:
Einfach eine Verknüpfung mit der Webadresse anlegen und mit dem Trick oben zu Steam hinzufügen.

PEBCAK
2017-07-02, 20:01:12
Ich werfe auch noch

http://192.168.2.99/goform/formiPhoneAppDirect.xml?SIBD
(http://blue-pc.net/2015/03/15/denon-binding-fuer-openhab/)
in den Raum.


Woooow! Der Befehl funktioniert!!!! Werd schon ganz nervös hier :D

Also was muss ich jetzt genau machen, dass ich damit eine Datei hab, die ich in Steam ausführen kann? (und sonst nichts mehr klicken muss?....hab da keine Maus zur Verfügung)

Besten besten Dank schonmal an alle!!

PEBCAK
2017-07-02, 20:03:32
Achso...habs überlesen. Also ne chrome (ist mein Browser) Verknüpfung in Steam einbinden?

Nur der Kosmetik halber: Gibt es auch einen Weg, der das direkt macht? Ohne vorher Chrome zu öffnen?

Phantom1
2017-07-02, 20:04:05
Also was muss ich jetzt genau machen, dass ich damit eine Datei hab, die ich in Steam ausführen kann? (und sonst nichts mehr klicken muss?....hab da keine Maus zur Verfügung)
vieleicht gehts ja so wie oben in dem video, probieren kostet nix :wink:: https://www.forum-3dcenter.org/vbulletin/showpost.php?p=11419479&postcount=8

Pinoccio
2017-07-02, 20:09:02
Wie geschrieben: Batchdatei. Einfach eine neue anlegen, den Befehl
powershell -Command "(new-object net.webclient).DownloadString(http://192.168.2.99/goform/formiPhoneAppDirect.xml?SIBD')"reinkopieren und entpsrechend z.B. auf dem Desktop ablegen.

mfg

Phantom1
2017-07-02, 20:13:05
@pinoccio: da fehlt ein hochkomma (vor http)

powershell -Command "(new-object net.webclient).DownloadString('http://192.168.2.99/goform/formiPhoneAppDirect.xml?SIBD')"

Pinoccio
2017-07-02, 20:31:08
@pinoccio: da fehlt ein hochkomma (vor http)

powershell -Command "(new-object net.webclient).DownloadString('http://192.168.2.99/goform/formiPhoneAppDirect.xml?SIBD')"Stimmt. Ist wohl beim Kopieren verloren gegangen, in #11 war es noch da.

mfg

PEBCAK
2017-07-02, 21:46:27
Es funktioniert es funktioniert!!!!! Ihr seid echt die allerbesten! Hab ewig gegrübelt wie ich das hinbekomm😂

(Zu fragen ob es möglich ist, dass das DOS Fenster, das kurz erscheint, aus kometischen gründen verschwindet wäre unverschämt oder?😀)

Leonidas
2017-07-03, 05:36:27
Unter DOS ging das mit
@ECHO OFF

(oder so). Wie es unter der Powershell geht, weiss ich nicht. Aber man könnte in diese Richtung hin googlen.

Mosher
2017-07-03, 06:23:42
Unter DOS ging das mit
@ECHO OFF

(oder so). Wie es unter der Powershell geht, weiss ich nicht. Aber man könnte in diese Richtung hin googlen.

:)

@ECHO OFF unterdrückt lediglich die Ausgabe der Codezeilen in der Konsole.


@PEBCAK:
Bei mir schließt sich das Fenster automatisch, aber nur, wenn die URL auch erreichbar ist. Ansonten bleibt der Powershell-Befehl wohl in einer Schleife.

Du kannst folgendes versuchen:
1.) noch die Zeile EXIT an's ende deiner .bat setzen (Wird vermutlich nichts bringen)
2.) Versuchen, herauszufinden, warum und unter welchen Umständen powershell -Command "(new-object net.webclient).DownloadString('http://192.168.2.99/goform/formiPhoneAppDirect.xml?SIBD')" nicht beendet, bzw. ob man noch irgendeinen timeout-Parameter mitgeben kann.

Edit: Ah, ich sehe gerade, bei mir schließt sich das Fenster auch nach einer Weile, wenn die URL nicht erreichbar ist. Es scheint also einen timeout zu geben.

PEBCAK
2017-07-03, 06:29:57
Hallo danke für die Rückmeldung. Das Fenster schließt sich auch bei mir. Würde nur gern das Fenster komplett unterdrücken damit die batch unsichtbar ausgeführt wird.😀

Phantom1
2017-07-03, 06:35:50
Würde nur gern das Fenster komplett unterdrücken damit die batch unsichtbar ausgeführt wird.��
Probier mal...
1. eine verknüpfung zur batch datei anlegen (rechte maustaste->senden an->desktop verknüpfung)
2. Dann in die eigenschaften der verknüpfung gehen und "Ausführen" auf "Minimiert" einstellen
3. Die Verknüpfung dann anstatt der batch datei in Steam aufrufen.

Mosher
2017-07-03, 06:41:05
Hallo danke für die Rückmeldung. Das Fenster schließt sich auch bei mir. Würde nur gern das Fenster komplett unterdrücken damit die batch unsichtbar ausgeführt wird.��


Habe dir schnell was in c zusammengebastelt.

Ist eine .exe, das CMD-Fenster poppt aber trotzdem kurz auf.

Und dein Browser macht bei jeder Ausführung einen neuen Tab auf ;D

#include < windows.h >
#include < ShellApi.h >

void openURL(const char*URL)
{
ShellExecute(GetDesktopWindow(), "open",URL, NULL, NULL, SW_SHOWNORMAL);
}

int main()
{
openURL("http://192.168.2.99/goform/formiPhoneAppDirect.xml?SIBD");
}

Jedes weitere Feature (alles soll unsichtbar ablaufen. An Weihnachten soll Jingle Bells gespielt werden etc.) kostet extra ^^

Vielleicht setz' ich mich mal dran.

Die .exe könnte ich dir schicken. Ist aber eher ein Fall von Kanonen und Spatzen ^^

Bin mir sicher, es gibt mit batch und powershell irgendeine elegantere Methode.

PEBCAK
2017-07-03, 16:56:55
Probier mal...
1. eine verknüpfung zur batch datei anlegen (rechte maustaste->senden an->desktop verknüpfung)
2. Dann in die eigenschaften der verknüpfung gehen und "Ausführen" auf "Minimiert" einstellen
3. Die Verknüpfung dann anstatt der batch datei in Steam aufrufen.
Habs gerade probiert. In windows funktioniert es einwandfrei. DOS Fenster ist weg. Wenn ich das ganze per Steam starte jedoch nicht?!....komisch

PEBCAK
2017-07-03, 16:58:42
Habe dir schnell was in c zusammengebastelt.

Ist eine .exe, das CMD-Fenster poppt aber trotzdem kurz auf.

Und dein Browser macht bei jeder Ausführung einen neuen Tab auf ;D

#include < windows.h >
#include < ShellApi.h >

void openURL(const char*URL)
{
ShellExecute(GetDesktopWindow(), "open",URL, NULL, NULL, SW_SHOWNORMAL);
}

int main()
{
openURL("http://192.168.2.99/goform/formiPhoneAppDirect.xml?SIBD");
}

Jedes weitere Feature (alles soll unsichtbar ablaufen. An Weihnachten soll Jingle Bells gespielt werden etc.) kostet extra ^^

Vielleicht setz' ich mich mal dran.

Die .exe könnte ich dir schicken. Ist aber eher ein Fall von Kanonen und Spatzen ^^

Bin mir sicher, es gibt mit batch und powershell irgendeine elegantere Methode.
Danke für deine Mühe! Würde jedoch lieber erst den batch Datei Weg ausprobieren. Der funktioniert bis auf das kleine Detail mit dem Fenster ganz gut!

Nagelbrett
2017-07-03, 18:05:00
Statt eines Kommandozeilen-Scripts könntest du es mal mit einem VBScript-Script versuchen, das dürfte ja kein cmd-Fenster öffnen, aber nicht sicher.. hab kein Windows hier um es zu testen. Beispiel hier:
https://stackoverflow.com/questions/204759/http-get-in-vbs

PEBCAK
2017-07-03, 18:22:43
Statt eines Kommandozeilen-Scripts könntest du es mal mit einem VBScript-Script versuchen, das dürfte ja kein cmd-Fenster öffnen, aber nicht sicher.. hab kein Windows hier um es zu testen. Beispiel hier:
https://stackoverflow.com/questions/204759/http-get-in-vbs

Oh wow das liest sich kompliziert für den Laien....

PEBCAK
2017-07-03, 22:58:25
Habs geschafft! Hab ein Programm gefunden, das sich bat to exe converter nennt. Damit dann die .bat in ne .exe umgewandelt und in den Optionen des Programms auf "unsichtbares Programm" gestellt. CMD Fenster ist jetzt weg :D

An dieser Stelle abschließend noch einmal ein großes Dankeschön an alle Mithelfenden und Mitwirkenden!!! Ohne euch hätt ich das nicht geschafft. Vielen Dank!

hadez16
2017-07-06, 10:39:07
Denon scheint da ja recht offen zu sein.....

Ich habe reverse-engineering mal bei meinem Yamaha CDN Netzwerkspieler probiert...das Ende vom Lied war, dass ich zumindest wusste, dass die Steuerung via WLAN über proprietäre SOAP-Nachrichten gemacht wird...

Eine Doku findet man dazu natürlich nirgens, und ein Man-in-the-Middle einzurichten um rauszufinden was die Handy-App da von sich gibt, war mir dann doch zu aufwendig.

PHuV
2017-07-08, 02:25:30
Blöde Frage, funktioniert das auch im LAN? Bei mir klappt das erst mal nicht.

Phantom1
2017-07-08, 08:46:29
Blöde Frage, funktioniert das auch im LAN? Bei mir klappt das erst mal nicht.
klar geht das....ob LAN oder WLAN spielt keine rolle.... Hast du denn die richtige IP Adresse in der URL angepasst?

PHuV
2017-07-08, 22:50:39
Hab ich. Ich habs gefunden, ich mußte noch eine Option "Web Control on" einstellen, dann gehts. Ist ja geil. :eek:

Ectoplasma
2017-07-10, 12:16:50
@Mosher, liegt es eventuell daran, dass du eine command.exe erstellt hast? Erstelle einfach ein Win32 Programm, ohne darin ein Fenster zu öffnen und dann sollte es klappen. "main" muss dann noch gegen "WinMain" ausgetauscht werden.

#include < windows.h >
#include < ShellApi.h >

void openURL(const char*URL)
{
ShellExecute(GetDesktopWindow(), "open",URL, NULL, NULL, SW_SHOWNORMAL);
}

int WINAPI
WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, char* cmdLine, int cmdShow)
{
openURL("http://192.168.2.99/goform/formiPhoneAppDirect.xml?SIBD");
return 0;
}