Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] DIO Antwort zu kurz

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    error_reporting(-1);
    sagt nichts (keine Fehler)
    Was genau meinst Du denn mit Protokoll?
    Ich verstehe leider fast nur Bahnhof
    Gruß KK

    Kommentar


    • #17
      Zitat von keithkeith Beitrag anzeigen
      Was genau meinst Du denn mit Protokoll?
      An der Stelle waren wir schon vor ein paar Tagen:
      Das läuft darauf hinaus, ein Protokoll zu realisieren.
      PHP-Klassen auf github

      Kommentar


      • #18
        Zitat von keithkeith Beitrag anzeigen
        #8 der code nur mit einem "festen" string zum testen
        ($wert="teststring")
        #9 habe ich aus dem Arduino heraus per Schleife Werte einzeln übergeben (wollen).

        Gruß KK
        Du drückst F5?


        Zitat von keithkeith Beitrag anzeigen
        So siehts es jetzt genau aus,
        habs versucht einzubauen!
        PHP-Code:
        <?php
        $fd 
        dio_open('/dev/ttyACM0',
                           
        O_RDWR O_NOCTTY O_NONBLOCK);
        if (!
        $fd) {
              
        /* handle the failure to open the file */
              
        echo 'Fehler beim Öffnen der Seriellen Schnittstelle';
            } else {
              
        dio_fcntl($fdF_SETFLO_SYNC);
              
        dio_tcsetattr($fd, array('baud' => 9600,
                                       
        'bits' => 8,
                                       
        'stop' => 1,
                                       
        'parity' => 0));

              
        $w dio_write($fd"LED12on");

              
        readNextValue();
              function 
        readNextValue($fd) {
                         
        $buffer '';
                 while(
        true) {
                         
        $c dio_read($fd1);
                         if(
        $c == "\n") break;
                         
        $buffer .= $c;
                         
        usleep(10);
                         echo 
        "$c:" $c;
                         echo 
        "$buffer:" $buffer;
                         }

                 return 
        $buffer;
                         }


             
        // echo "Temperatur: " .$r. "<br>";
            
        }
        dio_close($fd);
        ?>
        Und was passiert?


        PHP-Code:
        <?php

        function readNextValue($fd) {
            
        $buffer '';
            while(
        true) {
                
        $c dio_read($fd1);
                if(
        $c == "\n") break;
                
                
        $buffer .= $c;
                
                echo 
        '$c:' $c;
                        echo 
        '$buffer:' $buffer;
                
                
        usleep(10);
            }
            
            return 
        $buffer;
        }


        $fd dio_open('/dev/ttyACM0'O_RDWR O_NOCTTY O_NONBLOCK);
        if (!
        $fd) {
              
        /* handle the failure to open the file */
              
        echo 'Fehler beim Öffnen der Seriellen Schnittstelle';
            } else {
              
        dio_fcntl($fdF_SETFLO_SYNC);
              
        dio_tcsetattr($fd, array('baud' => 9600,
                                       
        'bits' => 8,
                                       
        'stop' => 1,
                                       
        'parity' => 0));

              
        $w dio_write($fd"LED12on");

              
        var_dump(readNextValue());
            

             
        // echo "Temperatur: " .$r. "<br>";
            
        }
        dio_close($fd);
        ?>

        Kommentar


        • #19
          Danke,
          funktioniert jetzt soweit.
          PHP-Code:
          <?php


          $fd 
          dio_open('/dev/ttyACM0',O_RDWR O_NOCTTY O_NONBLOCK);
          if (!
          $fd) {
              echo 
          'Fehler beim Öffnen der seriellen Schnittstelle';
              } else {
                
          dio_fcntl($fdF_SETFLO_SYNC);
                
          dio_tcsetattr($fd, array('baud' => 9600,
                                         
          'bits' => 8,
                                         
          'stop' => 1,
                                         
          'parity' => 0));
                
          $w dio_write($fd"LED12off");
                function 
          readNextValue($fd) {
                           
          $buffer '';
                          do {
                           
          $c dio_read($fd1);
                           if(
          $c == "Y") {
                              
          $buffer .= $c;
                              break;
                          }
                              
          $buffer .= $c;
                              
          usleep(10);
                           } while(
          true);
                   return 
          $buffer;
                           }
          echo 
          "Temperatur: ";

          $r=readNextValue($fd);
          echo 
          $r;
              }
          dio_close($fd);
          ?>

          Gruß KK

          Kommentar

          Lädt...
          X