Помогите подружить ардуино с php

Тема в разделе "Arduino & Shields", создана пользователем alexdoronin95, 12 июн 2017.

Метки:
  1. alexdoronin95

    alexdoronin95 Нуб

    В общем хочу попробовать управлять светодиодом через php передавая данные на компорт. Если открыть монитор порта в arduino ide тоВозникают следующие ошибки:

    Warning: fopen(COM3) [function.fopen]: failed to open stream: Permission denied in C:\OpenServer\domains\server\index.php on line 10



    Warning: fwrite(): supplied argument is not a valid stream resource in C:\OpenServer\domains\server\index.php on line 11



    Warning: fclose(): supplied argument is not a valid stream resource in C:\OpenServer\domains\server\index.php on line 12


    А если монитор порта закрыт то ничего не происходит. Вот собственно код

    arduino
    Код (C++):
    #include <SPI.h>

    int ledPin1 = 7;
    int ledPin2 = 8;
    char tmp;

    void setup() {
      Serial.begin(9600);

      pinMode(ledPin2, OUTPUT);

    }

    void loop() {
      if (Serial.available() > 0) {
        tmp = Serial.read();

        if (tmp == 1) {
          digitalWrite(ledPin2, HIGH);
        }
        else {
          digitalWrite(ledPin2, LOW);
        }
      }


    }
    php

    PHP:
    <html>
    <head>
    <meta charset="utf-8">
    <title>Сервер Arduino</title>
    </head>
    <body>

        <?
    if(isset($_POST['tmp'])){
        exec("mode COM3 BAUD=9600 PARITY=N data=8 stop=1 xon=off");
        $f = fopen("COM3","w");
        fwrite($f,chr(49));
        fclose($f);
    }
    if(isset($_POST['btn2'])){
        $f = fopen("COM3","w");
        fwrite($f,chr(50));
        fclose($f);
    }

    ?>
        <form action="" method="post">
            <input type="submit" name="tmp" value="ВКЛЮЧИТЬ"/>
            <input type="submit" name="btn2" value="ВЫКЛЮЧИТЬ"/>
        </form>
       


    </body>
    </html>

     
  2. rkit

    rkit Гуру

    Ну правильно, потому что вы заняли порт из arduino ide, и пхп его открыть не может.
     
    Cynep нравится это.
  3. alexdoronin95

    alexdoronin95 Нуб

    А когда монитор порта закрыт, то на мили секунду загорается светодиот rx и больше ничего не происходит..
     
  4. Cynep

    Cynep Нерд

    Мне кажется, что копать надо сюда "failed to open stream: Permission denied"

    Ошибка всего одна, две другие это следствие из первой.