Skip to content

Latest commit

 

History

History
86 lines (61 loc) · 1.61 KB

README.md

File metadata and controls

86 lines (61 loc) · 1.61 KB

Fase 3

Descripción

Creación del API para controlar el arduino

Software

Requisitos

Librerias necesarias

Puesta en marcha del entorno

python -m venv env
.\env\Scripts\activate        # Windows
pip install -r requirements.txt
pip freeze

Verificar que se esta en el entorno.

#Python
from typing import Optional
from enum import Enum
import serial

#Pydantic
from pydantic import BaseModel
from pydantic import Field

#FastAPI
from fastapi import FastAPI
from fastapi import Body, Query, Path

app = FastAPI()
app.serial = None

@app.get("/")
def home():
    return {"App": "Ready"}

@app.get("/connect")
def connect(): 
    print("Iniciando conexión...")
    app.serial = serial.Serial('COM8',115200)
    if app.serial == None:
        return {"Connection": "Fail"}
    else:
        return {"Connection": "Open"}

@app.get("/disconnect")
def disconnect():
    app.serial.close()
    return {"Connection": "Close"}

@app.get("/on")
def led_on():
    app.serial.write('1'.encode())
    return {"led":"on"}

@app.get("/off")
def led_off():
    app.serial.write('0'.encode())
    return {"led":"off"}

Hardware

Archivo fritzing

Prueba

uvicorn back_end:app --reload

Referencias

  1. FastAPI
  2. StackOverflow[python global variable in fastApi not working as normal]
  3. Using FastAPI to Build Python Web APIs