[PYTHON] Wenn Sie auf den Webserver zugreifen, L Chika mit Arduino

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

Wenn Sie auf den Webserver zugreifen, L Chika mit Arduino
L Chika (HTTPS-kompatibel) mit Arduino beim Zugriff auf den Webserver
Ich habe Sie dazu gebracht, das Ende der IP-Adresse mit L Chika auszudrücken
Remote L Chika mit Pigpio
Greifen Sie mit python27 / pyodbc auf dem Container auf den SQL Server des Hosts zu
Laden Sie den mit Gunicorn eingerichteten Server neu, wenn Sie den Code ändern
Wenn Sie das Intervall der Achsenskala mit APLpy anpassen möchten
Probieren Sie L Chika mit Himbeerpi
[Webserver] Eine Geschichte, als ich nachforschte, weil ich nicht auf nginx zugreifen konnte
VS Code friert ein und der PC stürzt ab, wenn der Server mit go gestartet wird
[https-Proxy mit Tintenfisch] Beseitigen Sie den Fehler beim Zugriff auf einen Webserver, auf dem kein zwischengeschaltetes CA-Zertifikat verkettet ist.
Greifen Sie mit Requests auf die Docker Remote API zu
Starten Sie den Webserver im aktuellen Verzeichnis
Verhalten bei der Rückkehr in den with-Block
Webserver zum Testen des Browsers mit Mocha
Laden Sie mit Python Dateien im Web herunter
RaspberryPi L Chika mit Python und C #
[C, C ++, Python, JavaScript] L Chika mit Edison
Veröffentlichen Sie das aktuelle Verzeichnis auf dem Webserver
Als ich versuchte, das Root-Passwort mit ansible zu ändern, konnte ich nicht darauf zugreifen.