[PYTHON] Lorsque vous accédez au serveur Web, L Chika avec Arduino

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

Lorsque vous accédez au serveur Web, L Chika avec Arduino
L Chika (compatible HTTPS) avec Arduino lors de l'accès au serveur Web
Je t'ai fait exprimer la fin de l'adresse IP avec L Chika
Remote L Chika avec pigpio
Accédez au serveur SQL de l'hôte avec python27 / pyodbc sur le conteneur
Recharger le serveur configuré avec gunicorn lors du changement de code
Lorsque vous souhaitez ajuster l'intervalle de l'échelle de l'axe avec APLpy
Essayez L Chika avec raspberrypi
[Serveur Web] Une histoire où j'ai enquêté parce que je ne pouvais pas accéder à nginx
VS Code se bloque et le PC se bloque lors du lancement du serveur avec go
[proxy https avec squid] Éliminez l'erreur lors de l'accès à un serveur Web qui n'a pas de certificat CA intermédiaire enchaîné.
Accéder à l'API Docker Remote avec des requêtes
Démarrez le serveur Web dans le répertoire actuel
Comportement lors du retour dans le bloc with
Serveur Web pour tester le navigateur avec Mocha
Télécharger des fichiers sur le Web avec Python
RaspberryPi L Chika avec Python et C #
[C, C ++, Python, JavaScript] L Chika avec Edison
Publier le répertoire actuel sur le serveur Web
Lorsque j'ai essayé de changer le mot de passe root avec ansible, je ne pouvais pas y accéder.