Zeitversatz html->Ajax->PHP->Python

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Hi.

    Kleines Problem:
    Habe eine Webseite wo über mousedown per ajax ein PHP aufgerufen wird welches ein Python Script startet.

    Hintergrund :
    Hab einen USB Raketenwerfer mir einer Kamera versehen und möchte diesen jetzt per Webinterface steuern. Klappt 1a, bis auf den Zeitversatz (auch im LAN), das Zielen ist echt schwer ;)

    Starte ich nicht das Python Script sondern sende nur einen Text wird dieser unmittelbar angezeigt. Von daher denke ich das Python das Problem verursacht.
    Ich habe leider absolut keinen Schimmer von Python. :daumendreh2:

    Any Idea ? :s

    Die Webseite :

    Spoiler anzeigen


    [/spoiler]

    die Klasse :

    Spoiler anzeigen

    PS :
    Bitte keine Diskussionen zum PHP und JS Code anfangen wie : nimm jquery
    oder: das macht man nicht so
    oder: table layout ist überholt
    etc....

    Das ist alles dahingeschmiert und funktioniert so, bis auf den Zeitversatz, erst mal.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Du Schmutzfink! (Ich feier' grad deine Signatur :thumbs1:)

    Aber zum Thema:
    Du verlierst die Zeit wahrscheinlich dabei, dass Python erst gestartet werden muss, das Skript interpretieren muss und erst dann etwas tut. Ich weiß, Du möchtest keine Diskussion zum Thema PHP, aber Du kannst den Kram ganz einfach weglassen.

    Wie man meinen bisherigen Posts hier entnehmen kann, bin ich ein großer Freund von Python+Flask, deswegen würde ich es einfach so lösen (Achtung, ungetestet :)):

    Flask liefert den HTML Kram aus und nimmt auch die AJAX Requests entgegen. Das schaut dann so aus:

    app.py:

    Spoiler anzeigen


    Die index.html muss dann ganz leicht angepasst werden:

    Spoiler anzeigen

    Die Order-Struktur muss dann so aussehen:

    Code
    \app.py
    \armageddon.py
    \templates\index.html

    Starten dann einfach mit 'python main.py'. Damit wird ein Server unter Port 8081 gestartet. Die IP-Adresse solltest Du noch auf die deines Pis ändern. :)

    Das ist natürlich auch kein schöner Code, aber hübscher hab ich's in 5 Minuten nicht hinbekommen. :P Es sollte die Latenz aber merklich reduzieren. :)

    Gruß
    Chris

    PS: Zur Installation von Flask einfach 'pip install flask' ausführen. :)
    PPS: Wieso hab ich plötzlich das Bedürfnis mir einen USB Raketenwerfer zu bestellen?

  • Moinsen Schmierfink ...
    mach doch mal nen "grünen Schmierfink" draus ... so wie dbv, der grüne Mod :lol:

    ok, jetzt ernsthaft ...

    Da wirst Du imho nicht viel machen können.
    Diesen Zeitversatz hatte meigrafd -> hier <- schon mal thematisiert. Die für mich persönlich überzeugendste Lösung war und ist das -> hier <- ...
    Naja, vielleicht hilft's Dir trotzdem weiter ...

    cheers und Grüsse vom Alpenrand,
    -ds-

    • Offizieller Beitrag

    Wat? hier gibts nur einen grünen User und das bin ich. Und eigentlich wollte ich Kickstarter-Grün aber das hat Lesbarkeit des Namens zu sehr erschwert :lol:

    Der Unterschied zwischen Genie und Wahnsinn definiert sich im Erfolg.


  • Ich weiß, Du möchtest keine Diskussion zum Thema PHP

    Jein.
    Keine Diskussionen wie der Code aussieht oder warum ich nicht jQuery oder node.js nutze.

    Dein Vorschlag geht ja in die Richtung : Mach es komplett anders.


    , aber Du kannst den Kram ganz einfach weglassen.

    Flask liefert den HTML Kram aus und nimmt auch die AJAX Requests entgegen. Das schaut dann so aus:

    OK, das heisst ich kann den Apache Kram weglassen und Flesk übernimmt den "Webserver Part ?"


    PPS: Wieso hab ich plötzlich das Bedürfnis mir einen USB Raketenwerfer zu bestellen?

    Weil der Spieltrieb ausgelebt werden muß.
    Für 20 Euro musste ich den haben.
    Als dann der Raketenwerfer neben dem PI auf dem Schreibtisch stand kam es wie es kommen musste. Es gibt Dinge die gehören einfach zusammen.


    naja ... dann halt blau ... ich hoffe, das nimmt er jetzt nicht wörtlich ;)

    cu,
    -ds-

    Wenn ich die Wahl habe dann doch lieber schwarz, aber etwas "verwaschen",
    so verschmiert halt mit Drecksklecksen ;)

    ok, jetzt ernsthaft ...

    Da wirst Du imho nicht viel machen können.

    Geht nicht um den Stream, der ist OK.
    Geht um Klick und Sssst.
    Klick -> warte -> warte -> warte ->Ssst ;)

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

    Einmal editiert, zuletzt von Der_Imperator (13. März 2015 um 12:17)

  • OK, das heisst ich kann den Apache Kram weglassen und Flesk übernimmt den "Webserver Part ?"


    Weil der Spieltrieb ausgelebt werden muß.
    Für 20 Euro musste ich den haben.
    Als dann der Raketenwerfer neben dem PI auf dem Schreibtisch stand kam es wie es kommen musste. Es gibt Dinge die gehören einfach zusammen.

    Ja genau. Den Apache Server brauchst Du dafür nicht. :)

    Das klingt nach einer plausiblen Erklärung. :D

  • Chris1705, du bist der beste !!!!

    Hammer, das funktioniert ohne große Verzögerung.

    Herzlichen Dank.
    Ich mach nächste Woche mal ein Video und pack das hier rein.

    Frei nach "200 Puls" : Das gibt doch gor net, der geht !!!!! :bravo2:

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.


  • Chris1705, du bist der beste !!!!

    Hammer, das funktioniert ohne große Verzögerung.

    Herzlichen Dank.
    Ich mach nächste Woche mal ein Video und pack das hier rein.

    Freut mich, dass es funktioniert! Ich bin gespannt auf das Video. :)

    Was für ein Kamera Bild zeigst Du da eigentlich an? Ist dort eine Kamera auf dem Raketenwerfer? :denker:


    ja :fies: halt standalone, ohne index.html

    Ich dachte, es soll von einem externen Rechner aus gesteuert werden, da bietet es sich an, eine Lösung im Webbrowser zu haben. :huh:

  • Freut mich, dass es funktioniert! Ich bin gespannt auf das Video. :)

    Was für ein Kamera Bild zeigst Du da eigentlich an? Ist dort eine Kamera auf dem Raketenwerfer? :denker:

    Jepp.
    mjepg_streamer ist installirt und eine USB Webcam auf dem Raketenwerfer montiert,

    Ich dachte, es soll von einem externen Rechner aus gesteuert werden, da bietet es sich an, eine Lösung im Webbrowser zu haben. :huh:

    Die Webbrowser Lösung ist so OK.
    Ich möchte meinen Schreibtisch von überall "verteidigen".
    Klappt 1a auch per VPN und Smartphone.

    Das Gebilde ist jetzt der Brüller im Büro.
    Die Kollegen ballern sich nun gegenseitig ab ;)

    meigrafd : Könnte sein dass dies in Nativ Python zu lösen ist nur hab ich null Ahnung davon. Hab mich mit Python nie beschäftigt.
    So ist das OK für mich, und auch sehr schnell in der Reaktion.

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?

    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!