Posts by jojouhr

    Moin zusammen
    ich habe die Motorsteuerung und die Kamerasteuerung über eine
    Web-Site hinbekommen.
    Für die Motorsteuerung habe ich eine L298N H-Bridge verwendet
    und für die Kamerasteuerung habe ich einen Arduino genommen.
    Für den Arduino habe ich ein Programm geschrieben, mit dem ich
    2 Servo-Motoren ansteuern kann.
    Den Arduino kann man direkt an die GPIO-PINs des Raspi anschließen, ohne
    Opto-Koppler.
    Ich habe nur einen 1k Wiederstand dazwischen den Pin`s geschaltet.
    Die Stromversorgung für den Arduino kommt auch vom Raspi.
    Jetzt aber mal zum Problem:
    Bis jetzt habe ich für die Motorsteuerung und für die
    Kamerasteuerung 2 Html-Seiten geschrieben.
    für mich wäre es besser, wenn ich nur eine Html-Seite hätte,
    also muß ich zwischen den Functionen im Java-Scrpt
    umschalten können. Leider funzt das nicht.
    Ich habe hier mal nur einen Ausschnitt des Progamm`s
    eingestellt:



    Die Variable "umschalten" sollte eigendlich in der java-scirpt Function
    als global definiert sein, aber irgendwie klappt das nicht.
    Kann mir jemand helfen.
    Schonmal danke.

    Moin zusammen
    Ich habe heute die H-Bridge L 298 NH, ohne PiFace-Modul, an
    meinen Raspi ngeschlossen. Läuft alles super.
    Leider bekomme ich das bearbeitete Bild hier nicht eingefügt.
    Die Html-Seite und die cgi-Codes habe ich auch nochmal angepasst.
    Hier der cgi-Code für rechts:



    Die anderen cgi-Dateien müssen demendsprechend angepasst werden.
    Hier die Html-Seite.


    Ich habe den Html-Code nochmal überarbeitet.
    Eine "function" war falsch deklariert und die Steuer-Buttons
    funktionieren jetzt besser.
    Hier der Html-Code:


    Moin forum
    Ich wollte hier auch noch meinen Senf dazugeben.
    Meinen RasPi habe ich auf ein Chassis von Arexx geschraubt,
    mit dem PiFace, USB-Wlan Stick und einer USB-Cam.
    Die USB-Cam hat noch keine Halterung,
    ich warte noch auf den Servo-Motor. Der Roboter läuft soweit .
    Der RasPi läuft mit Rasbian, Motion und Apache2.
    Es ist alles sehr einfach aufgebaut. Einige Leute werden
    vieleich die Hände über den Kopf zusammen schlagen.
    Macht nichts, es funtz.:thumbs1:
    Hier den Steuer-Code:

    HTML
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html><head>    <meta content="text/html; charset=ISO-8859-1"        http-equiv="content-type">          <title>Pi-Roboter</title><script language="Javascript">function vor(GrafikID,BildURL){    document.location="cgi-bin/vor.cgi";    document.getElementById(GrafikID).src = BildURL;}function rechts(GrafikID,BildURL){    document.location="cgi-bin/rechts.cgi";    document.getElementById(GrafikID).src = BildURL;}function lings(GrafikID,BildURL){    document.location="cgi-bin/links.cgi";    document.getElementById(GrafikID).src = BildURL;}function stop(GrafikID,BildURL){    document.location= "cgi-bin/clear01.cgi";    document.getElementById(GrafikID).src = BildURL;}</script>  </head>    <body>     <table style="text-align: left; width: 100%;              margin-left: auto; margin-right: auto;"                border="1" cellpadding="2" cellspacing="2">  <tbody>    <tr>      <td style="vertical-align: top;       text-align: center;">      &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br>      </td><td style="vertical-align: top; text-align: center;">      <a href="http://192.168.178.58:8081/">      <img id="webcam" style="border: 0px solid ;           width: 640px; height: 480px;" alt=""            src="http://192.168.178.58:8081/">           </a><br>      </td>    </tr>  </tbody></table>  <br><table style="text-align: left; width: 100%; margin-left: auto; margin-right: auto;" border="1" cellpadding="2" cellspacing="2">  <tbody>    <tr>  <td style="vertical-align: top; text-align: center;">      <img style="width: 64px; height: 64px;" alt=""              src="icon/links.png"     onmouseout="stop('webcam','http://192.168.178.58:8081/')"      onmouseup="stop('webcam','http://192.168.178.58:8081/')"   onmousedown="lings('webcam','http://192.168.178.58:8081/')">      </td>      <td style="vertical-align: top; text-align: center;">  <img style="width: 64px; height: 64px;" alt=""          src="icon/vor.png"      onmouseout="stop('webcam','http://192.168.178.58:8081/')"       onmouseup="stop('webcam','http://192.168.178.58:8081/')"      onmousedown="vor('webcam','http://192.168.178.58:8081/')">     <br>      </td>      <td style="vertical-align: top; text-align: center;">  <img style="width: 64px; height: 64px;"           alt="" src="icon/rechts.png"        onmouseout="stop('webcam','http://192.168.178.58:8081/')"        onmouseup="stop('webcam','http://192.168.178.58:8081/')"     onmousedown="rechts('webcam','http://192.168.178.58:8081/')">      </td>    </tr>    </tbody></table><br></body></html>




    Hier noch die cgi-Datei für vor:

    Bash
    #!/bin/bashgpio -p write 200 1gpio -p write 201 1echo "Status: 204 No Content"echo "Content-type: text/plain"echo ""



    und die cgi-Datei für links:

    Bash
    #!/bin/bash
    
    
    gpio -p write 200 1
    echo "Status: 204 No Content"
    echo "Content-type: text/plain"
    echo ""



    und die cgi-datei für rechts:

    Bash
    #!/bin/bash
    
    
    gpio -p write 201 1
    
    
    echo "Status: 204 No Content"
    echo "Content-type: text/plain"
    echo ""



    und die cgi-Datei für stop:




    Bei den cgi-Dateien muß man aufpassen. Wenn sie auf einem
    Windows-Rechner geschrieben werden und auf den RasPi
    übertragen werden, kann es sein, das sie nicht funktionieren,
    weil der Zeilenumbruch ein anderer ist.
    Unter Mozilla funktioniert das ganze.
    Auf meinem Smartphone leider noch nicht. Ich denke die Buttons
    müssen anders deviniert werden. Neben dem Web-Cam Bild habe ich noch eine
    Zelle freigelassen, um dort dien Servo für die Web-Cam anzusteuern; ich weiss nur
    noch nicht wie. Ein Schieber macht da wohl Sinn. (für hoch und runter)
    Zurück fahren braucht der Roboter nicht, weil die Web-Cam nur nach vorn schaut.
    Hier noch der Link für das Chassis:Arexx-Chassis

    Der Html-Code ist sicher noch Verbesserungswürdig. Für Anregungen bin ich gerne zu haben.
    Ich möchte den Code aber so einfach wie möglich halten.


    Noch was: Die beiden Motoren werden natürlich über
    die PiFace Relais angesteuert. Später über eine H-Bridge,
    dann kann ich das PiFace-Modul weg lassen.

    Moin zusammen
    Ich habe das Problem anders gelöst. AJAX scheint wohl eine Reflexreaktion bei
    einigen Leuten zu sein. es geht auch ohne.:thumbs1:



    und hier die cgi-Datei io10off.cgi

    Bash
    #!/bin/bash
    
    
    gpio -g write 10 0
    
    
    echo "Status: 204 No Content"
    echo "Content-type: text/plain"
    echo ""



    und die io10on.cgi

    Bash
    #!/bin/bash
    
    
    gpio -g write 10 0
    
    
    echo "Status: 204 No Content"
    echo "Content-type: text/plain"
    echo ""



    Es muß Apache und WiringPi instaliert und passent konfiguriert sein
    Achtung: Wenn die cgi-Dateien auf einem Windows-Rechner geschrieben werden
    und auf den Raspi übertragen werden, kann es sein, das sie nicht verarbeitet werden.
    Der Zeilenumbruch ist unterschiedlich.
    Ich mach jetzt weiter mit meiner Robotersteuerung.
    Webcam-Steam und Steuertasten habe ich schon hinbekommen.
    Läuft noch nicht richtig rund, aber ich bin auf dem richtigen Weg.
    Melde mich wieder und Tschüs oder so.:thumbs1:


    Hallo F4Icon
    Dein Tip mit dem PHP war gut.
    Ich habe auch etwas dazu im Net gefunden, und an meine Bedürfnisse angepasst.
    Aber es läuft immer noch nicht rund. :wallbash:
    Der erste Code funzt.

    PHP
    <html><head><?php if(isset($_GET['Befehl'])) {//GPIO 10 EINSCHALTEN if($_GET['Befehl'] === 'io10on') {      $val = trim(@shell_exec("/usr/local/bin/gpio -g write 10 1"));  }//GPIO 10 AUSSCHALTEN elseif($_GET['Befehl'] === 'io10off') {          $val = trim(@shell_exec("/usr/local/bin/gpio -g write 10 0"));  }}?></head><body><a href="<?php print($_SERVER['PHP_SELF']); ?>?Befehl=io10on" <form>    <input type="submit" value=" GPIO_10_on ">    </form></a> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; <a href="<?php print($_SERVER['PHP_SELF']); ?>?Befehl=io10off" <form>     <input type="submit" value=" GPIO_10_off ">    </form>    </a></body></html>


    Der zweite Code funzt leider nicht. Kann der PHP-Code im Event-Handler
    (onmousedown bzw. onmouseup ) so nicht ausgeführt werden?
    Hier der zweite Code

    PHP
    <html><head><?php if(isset($_GET['Befehl'])) {//GPIO 23 Einschalten if($_GET['Befehl'] === 'io10on') {    $val = trim(@shell_exec("/usr/local/bin/gpio -g write 10 1"));  }//GPIO AUSSCHALTEN  elseif($_GET['Befehl'] === 'io10off') {    $val = trim(@shell_exec("/usr/local/bin/gpio -g write 10 0"));}}?></head><body>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;    <input type="button" value="GPIO-10"  onmousedown="<?php print($_SERVER['PHP_SELF']); ?> Befehl=io10on ;"  onmouseup="<?php print($_SERVER['PHP_SELF']); ?> Befehl=io10off ;"></body></html>


    Ich denke, so ganz falsch kann ich nicht liegen :shy:
    Ich bin für jede Hilfe dankbar.[/php]

    Hallo zusammen
    Javascript soll ein Shell script starten, über das ein GPIO-Pin angesteuert wird.
    Der GPIO-Pin ist auf out gestellt und das Shell script hat Ausführungsrechte.
    Wenn ich das Shell script über die Shell starte, funktioniert es. Wenn ich das Shell script
    über Javascript ansteuer, wird mir im Browser(Firefox) das Shell script zum öffnen bzw.
    speichern angeboten.Wird also nicht ausgeführt.


    Hier noch die beiden Shell scripte (io10off und io10on)

    Bash
    #!/bin/bash
    gpio -g write 10 0
    Bash
    #!/bin/bash
    gpio -g write 10 1