@B1ackGh0st

Почему python не открывает серийный порт через браузер?

Добрый день.
Столкнулся с такой проблемой.
Пытаюсь через браузер дать команду arduin'e. Но скрипт зависает в том месте где идет подключение к серийному порту. В терминале все работает.

#!/usr/bin/python
# -*- coding: utf-8 -*-
import serial
import cgi, cgitb
import sys 

print ("STATUS: 200 OK\n")

req = cgi.FieldStorage();
ser = serial.Serial("/dev/ttyUSB1", 115200, timeout=3, dsrdtr = 1)

ser.isOpen()

ser.write("1")
ser.close()
#print("Content-type:text/html\r\n\r\n")
print ("okey")


отправляю запрос к скрипту через ajax

$(function() {
        $(".ok").click(function() {
            $(this).parent();
            var PinID = $(this).attr("id");
            $.ajax(
            {
                url: "../cgi/pin.py",
                type: "post",
                datatype: "html",
                data:{
                    PinID: PinID
                },
                success: function(html){
                    $("#pin").html(html);
                }
            });
        });
    });


int led=13;

void setup() {
  Serial.begin(115200);
  pinMode(led, OUTPUT);
}

void loop()
{
    int i=0;
  char buffer[100];

    //если есть данные - читаем
  if(Serial.available())
  {
    delay(100);
    //загоняем прочитанное в буфер
    while(Serial.available() && i< 99) 
    {
      buffer[i++] = Serial.read();
    }
    //закрываем массив
    buffer[i++]='\0';
  }
  //если буфер наполнен
    Serial.println(buffer);
    if ((String)buffer == "1")
    {
      digitalWrite(led, HIGH);   
    }
    if ((String)buffer == "2")
    {
      digitalWrite(led, LOW);   
    }
    buffer[0] = '\0';
  delay(1000);
 
}


Почему не могу открыть порт через браузер?
  • Вопрос задан
  • 274 просмотра
Пригласить эксперта
Ответы на вопрос 1
@vanyamba-electronics
Если Вы работаете с последовательным портом через файл устройства, то проще всего открывать его как обычный файл. Посмотрите примеры к заметке Мой первый шилд и волшебный экран
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы