Python CGI与串口通信

时间:2014-11-08 20:55:07

标签: python cgi

我在通过python cgi程序与串口通信时遇到问题。我在html中有两个按钮用于控制两个LED(LED1,LED2)。

<html>
<h1>Test Page 2</h1>
<form name="input" action="/cgi-bin/myscript-2.py" method="get">
<input type="submit" value="LED1" name="Submit">
<input type="submit" value="LED2" name="Submit1">
</form>
</html>

现在我的python程序从这里收到结果

#!/usr/bin/python
import cgi
import cgitb;
import serial
form = cgi.FieldStorage()
cgitb.enable()
port = "/dev/ttyACM0"
ser = serial.Serial(port, 9600, timeout=0)
if "LED1" in form:
    ser.write("hello")
elif "LED2" in form:
    ser.write("hello")
else:
    print "Couldn't determine which button was pressed."

我总是无法确定按钮.apache错误日志就像这样

[Sat Nov 08 12:41:41.579738 2014] [cgid:error] [pid 1080:tid 3004140352] [client 127.0.0.1:48698] malformed header from script 'myscript-2.py': Bad header: Couldn't determine which butto, referer: http://localhost/page2.html

1 个答案:

答案 0 :(得分:0)

如果使用CGI脚本,则必须先打印标题。

看看https://wiki.python.org/moin/CgiScripts。 你错过了

print "Content-type: text/html"
print

作为剧本的第一个陈述。