Html -› Python cgi-› Сериен порт

Опитвам се да стартирам cgi скрипт на python, за да изпратя някои данни към сериен порт. HTML сървърът се срива, когато се опитам да отворя и да настроя серийния порт на променлива. Ето кода, той получава цвят от html страницата (червен, син, зелен):

    # Import modules for CGI handling 
import cgi, cgitb

# Import Pyserial
import serial

# Set Serial port
ser = serial.Serial('COM3', 9600) #This causes 500 - Internal Server Error

# Create instance of FieldStorage 
form = cgi.FieldStorage() 

# Get data from fields
led = form.getvalue('led_color')

if led == ("red"):
 print "<html>"
 print "<br>"
 print "red/do red script shit"
 print "</html>"

 ser.write('1')

person user3037525    schedule 23.12.2013    source източник


Отговори (1)


Кодът не отпечатва HTTP заглавка.

Добавете следните редове, преди да напишете каквото и да е тяло.

print 'Content-type: text/html'
print

Простото импортиране на cgitb не активира функцията за обработка на изключения. Изрично го активирайте.

import cgitb
cgitb.enable()
person falsetru    schedule 23.12.2013