Ich denke, dass so etwas sowohl Katzen als auch Schöpflöffel macht, aber ich habe es mit einem Webframework namens Flasche.py und pySerial geschrieben. Da sich der Inhalt möglicherweise im Web befindet und die Hardware localhost ist, wird der Header "Access-Control-Allow-Origin" hinzugefügt, um CORS (Cross-Origin Resource Sharing) zu unterstützen.
import serial
import sys
from bottle import response,route,run
try:
ser = serial.Serial('/dev/tty.usbmodem1451',9600)
except OSError:
ser = False
except:
print sys.exc_info()[0]
raise
@route('/arduino/<command>')
def arduino(command):
response.set_header('Access-Control-Allow-Origin','*')
if ser:
ser.write(command)
line = ser.readline()
return line
else:
return "arduino is not connected"
run(host="localhost",port=8946,debug=True)
Wenn die Arduino-Seite die Zeichenkette "1" seriell empfängt, leuchtet sie 1 Sekunde lang.
byte c = 0;
void setup(){
Serial.begin(9600);
pinMode(13,OUTPUT);
}
void loop(){
while (Serial.available()){
c = (int)Serial.read();
//Serial.flush();
switch(c){
case 49://1
digitalWrite(13,HIGH);
delay(1000);
digitalWrite(13,LOW);
break;
}
}
}
Sowohl Flasche.py als auch pySerial können mit pip auf dem Mac installiert werden.
pip install bottle
pip install pyserial
Recommended Posts