0

USB経由でラップトップに接続されたarduino Unoがあります。Windows 7でWAMP Webサーバーを実行しています。python 2.7とpyシリアルがインストールされています。ボタンをクリックすると led1.py (python スクリプト) が呼び出される HTML を作成しました。Python スクリプトは arduino と通信して LED を付け、ユーザーは別のボタンを押して LED を外します。ボタンを押すと Python スクリプトが呼び出され、LED が点灯しますが、HTML ページでエラーが発生します。

内部サーバーエラー;
サーバーで内部エラーまたは構成ミスが発生したため、リクエストを完了できませんでした。サーバー管理者の admin@localhost に連絡して、エラーが発生した時刻と、エラーの原因となった可能性のある操作を知らせてください。このエラーの詳細については、サーバー エラー ログを参照してください。

どこが間違っていますか?HTML コードは次のとおりです。

    <html>
    <head>
        <title>Sample Web Form</title>
    </head>
<body>

<h1>Fill Out This Form</h1>

<form action="/cgi-bin/led.py" method="POST">
    <input type="submit" name='action' value="LEFT">
    <input type="submit" style="background-color:yellow" name='action' value="LEFT"/><br><br><br>
    <input type="submit" style="background-color:yellow" name='action' value="BACK"/> 

</form>

</body>
</html>

Python コードは次のとおりです。

#!python
import serial
import time
keyword =form.getvalue('action')
arduino = serial.Serial('COM4', baudrate=115200, bytesize=8, parity='N', stopbits=1, timeout=1)
arduino.open()
arduino.isOpen()
time.sleep(5) # waiting the initialization...
print("initialising")
while True:
    if keyword == 'LEFT':
       arduino.write("H\n") # turns LED ON
       break
    elif keyword == 'BACK':
       arduino.write('L\n') # turns LED OFF
       break
    elif break
arduino.close() #say goodbye to Arduino

Arduino コードは非常に単純です。

int redpin =13;
int incomingbyte;

void setup()
{
  Serial.begin(115200);
  pinMode(redpin,OUTPUT);
  pinMode(greenpin,OUTPUT);
  pinMode(fanpin,OUTPUT);
  }

void loop()
{
  if(Serial.available()>0)
  {
    incomingbyte=Serial.read();
  }
  if(incomingbyte == 'H')
  {
    digitalWrite(redpin,HIGH);
  }
  if(incomingbyte == 'L')
  {
    digitalWrite(redpin,LOW);
  }
}

どこが間違っているのか教えてください?? 私はpythonが初めてです。また、 python を使用して同じ HTML ページに arduino のセンサーからのデータを表示したいと考えています。どうしてそれが可能でしょうか。このために、HTML と Python の両方の完全な小さなプログラムを用意できますか。

4

1 に答える 1

1

Python スクリプトのコンテンツが のコンテンツである場合、次のcgi-bin/led.pyようになります。

   7 print "Content-type: text/html"
   8 print
   9 
  10 print """
  11 <html>
  12 
  13 <head><title>Sample CGI Script</title></head>
  14 
  15 <body>
  16 
  17   <h3> Sample CGI Script </h3>
  18 """

http://wiki.python.org/moin/CgiScriptsから

Python スクリプトにヘッダーがありません。

于 2013-05-22T11:01:59.923 に答える