Добрый день.
Столкнулся с такой проблемой.
Пытаюсь через браузер дать команду 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);
}
Почему не могу открыть порт через браузер?