Je pense que ce genre de chose fait à la fois des chats et de la louche, mais je l'ai écrit en utilisant un framework Web appelé bottle.py et pySerial. Puisqu'il est possible que le contenu soit sur le Web et que le matériel soit localhost, l'en-tête ʻAccess-Control-Allow-Origin` est ajouté pour prendre en charge CORS (Cross-Origin Resource Sharing).
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)
Lorsque le côté arduino reçoit la chaîne de caractères "1" en série, il brille pendant 1 seconde.
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;
}
}
}
Bottle.py et pySerial peuvent être installés avec pip sur Mac.
pip install bottle
pip install pyserial
Recommended Posts