Control de Arduino con python basado en web API (No php) (3 / 6 paso)

Paso 3: Crear el servidor Web con python

No soy un experto en programación web o protocolos de red específicos pero logró controlar mi arduino en la web, así que tengo fe que todos ustedes también pueden! Vamos a crear un sitio web muy básico y que nuestro equipo ser el anfitrión. Para ello que vamos a utilizar el framework de web frasco para crear un web basado en la API para el control de nuestro arduino. Altamente le animo todos a leer a través de algunos ejemplos sobre el uso de frasco para que pueda entender los conceptos básicos de cómo funciona y porque no puedo ser el mejor maestro.


¿Qué queremos hacer?

  1. Crear una página web con 2 botones

    1. Apagar LED botón
    2. Encender LED botón
  2. Cuando nosotros activar o desactivar el LED que queremos leer el valor de la fotorresistencia y mostrarla
  3. Crear una dirección URL determinada para convertir nuestro LED encendido - necesario para web API

Para crear una página web dinámica que se actualiza con el valor de la fotorresistencia cuando cargamos la página que necesitamos crear una página de plantilla en frasco. Matraz utiliza el valor obtenemos de nuestra fotorresistencia y enviarlo a nuestra plantilla a mostrar. Frasco sigue automáticamente un formato de directorio específico cuando busca nuestra plantilla tan vigilante sobre donde colocar ciertos archivos. En el directorio que está trabajando en desea crear un directorio llamado plantillas. Vamos a poner nuestra página plantilla allí. Nuestra página de html de la plantilla se verá muy similar a una página HTML normal sólo con una opción adicional para colocar una variable en algún lugar. Copia el fragmento de código html en el siguiente link: http://codepen.io/theown1/pen/RNeYMg en un nuevo archivo llamado index.html y el lugar que los archivos en su directorio de plantillas.

Copia que el siguiente código en un archivo había llamado hello_flask_world.py el pedazo de código a continuación es nuestra página básica del matraz. Su bastante simple de entender, sólo tenemos una página web en la dirección '/' que es la página de inicio. La dirección URL de esta página web será su dirección ip en la red o 127.0.01:5000. Cuando alguien se conecta a nuestra página web sólo prestamos nuestra plantilla que teníamos antes con algún valor que vamos a cambiar a nuestra salida del fotorresistor después. Si nuestra página web recibe una petición POST que aka alguien presiona un botón en nuestra página de nuestro servidor se realice la tarea específica de impresión lo que pasó y redirigirá a la Página principal. Puede ejecutar este trozo de código por debajo como si fuera un programa python normal. ($ python hello_world.py)

 from flask import Flask, render_template,request, redirect, url_forapp = Flask(__name__) # we are able to make 2 different requests on our webpage # GET = we just type in the url # POST = some sort of form submission like a button methods = ['POST','GET']) def hello_world(): # variables for template page (templates/index.html) author = "Kyle" readval = 10 # if we make a post request on the webpage aka press button then do stuff if request.method == 'POST': # if we press the turn on button if request.form['submit'] == 'Turn On': print 'TURN ON' # if we press the turn off button elif request.form['submit'] == 'Turn Off': print 'TURN OFF' else: pass # the default page to display will be our template with our template variables return render_template('index.html', author=author, value=100*(readval/1023.)) if __name__ == "__main__": # lets launch our webpage! # do 0.0.0.0 so that we can log into this webpage # using another computer on the same network later app.run(host='0.0.0.0') 

Cuando se ejecuta este programa debería obtener una salida similar a la imagen de arriba. Asegúrese de conectar a la web en tu navegador en http://127.0.0.1:5000 / después de ejecutar el python script (y siga funcionando!) Jugar con los botones y comprobar que está recibiendo a imprimir algo en el terminal.

Ahora debe tener la carpeta que está trabajando en todos los archivos a continuación en los directorios correspondientes.

 ARBITRARY_WORK_FOLDER/ |-- pyduino.py # pyduino library file |-- analog_read_test.py # pyduino code to check circuit |-- hello_flask_world.py # your first Flask webpage |-- templates/ # directory to store flask templates |-- index.html # our html template 

A continuación es el momento de integrar nuestros controles de Arduino en el servidor Web!

Artículos Relacionados

PyDuino, interfaz Arduino con Python a través de comunicación serial

PyDuino, interfaz Arduino con Python a través de comunicación serial

Aprender a interfaz arduino a través de comunicación serial con python usando la librería pyduino. Hay algunos otros tutoriales que hay en instructables en cómo interfaz arduino con python, pero no demuestran cómo hacerlo todo, donde esperamos que es
Control de Arduino con Gamepad

Control de Arduino con Gamepad

Últimamente he sido curioso sobre amistad con Arduino o cualquier otro microcontrolador con un gamepad para poder tener interacción física con las cosas que hago, pero parecía que no rápido o barato a hacerlo.Mayoría de las soluciones implicadas:Comp
Conectar Bluetooth Universal de Arduino - Control tu Arduino con tu dispositivo Android

Conectar Bluetooth Universal de Arduino - Control tu Arduino con tu dispositivo Android

Siempre quise controlar fácilmente mi Arduino con mi Smartphone, pero nunca encontré la solución perfecta para hacerlo. No quiero decir que esto es perfecto, pero hace lo que quiero que do...well no totalmente pero estoy cerca... Creo.En este Instruc
Control de Arduino con teléfono Android a través de Bluetooth

Control de Arduino con teléfono Android a través de Bluetooth

Hola gente, aquí pueden aprender a controlar Arduino con teléfono Android a través de Bluetooth. Puede utilizar tu smartphone como un control remoto para sistema de iluminación del hogar o se puede utilizar como un etc. remoto del abejón.Para realiza
Control de Arduino con Blynk [USB] [principiantes] inalámbrico en cualquier lugar del mundo

Control de Arduino con Blynk [USB] [principiantes] inalámbrico en cualquier lugar del mundo

Aquí es cómo controlar arduino con blynk a través de USB desde cualquier lugar del mundo!!!!!!Paso 1: Aquí es cómo controlar arduino con blynk a través de USB desde cualquier lugar del mundo!!!!!!ver y disfrutar!
Control de Arduino con su teléfono.

Control de Arduino con su teléfono.

En este Instructable te voy a mostrar cómo controlar tus cosas con tu teléfono y la placa arduino. Yo he controlado todo desde máquinas de humo también luz de la Navidad de este programa.Video:lo siento el video es un poco extraño porque mi cámara es
Control de arduino con Blynk USB

Control de arduino con Blynk USB

Este es mi segundo instructable. En este instructivo se muestra cómo controlar LED usando Blynk.Blynk es la aplicación que nos ofrece el tablero de instrumentos, así como conectividad. que se puede descargar desde google play store (para Android). &
Control de arduino con visual studio a través de bluetooth

Control de arduino con visual studio a través de bluetooth

Hola todo el mundo,Aquí controlaremos uno condujo vía bluetooth con tu pc por un programa wirtten con visual studiolo que necesitas es:1) Arduino (alguno)2) módulo Bluetooth (hc05 o hc 06)3) led4) 2 resistencias (10ko 15ko)y puede hacerlo ;)todos los
Control de Edison con Python

Control de Edison con Python

Este es un proyecto familiar el Edison de Intel y tarjeta de expansión de Arduino de Intel.Mientras tanto finalmente aprendió algo de código Python.Hace ya un tiempo he usado Linux y ahora tuve que hacerlo sin un ventana Gui front end y no mc (comand
Control de Arduino mediante un servicio Web con Teleduino

Control de Arduino mediante un servicio Web con Teleduino

Convertir tu Arduino en una plataforma de control de web sofisticados usando Teleduino.Teleduino es un producto y un servicio. Una vez que el boceto de Teleduino se ha cargado en el Arduino (el ' producto'), luego se conecta al servidor de Teleduino
Control de Cubase con Arduino basado en MIDI

Control de Cubase con Arduino basado en MIDI

Un amigo mío quería controlar Cubase, su software de grabación de audio, con un botón de modo que él podría detener e iniciar grabaciones de forma remota sin tener que ir a la computadora y escribir en el teclado. Podrá hacerlo en otro software de gr
Espectáculo de láser de Arduino con Control completo de XY

Espectáculo de láser de Arduino con Control completo de XY

Update! Ver 32 paso para saber cómo utilizar este proyecto con una laser verde! Comprobación también - el LaserTweet Instructable para hacer que este proyecto Mostrar datos desde Twitter:Este proyecto utiliza un Arduino y algunos altavoces baratos pa
Control de Arduino RoverBot con mando a distancia TV

Control de Arduino RoverBot con mando a distancia TV

soy un pobre Arduino Hacker 15 años de edad, que tiene poco acceso a piezas y materiales para construir un robot de alta tecnología.  Estoy seguro que hay muchos otros por ahí que están en mi situación.  Este Instructable poco se explicar y demostrar
Vuelo simulador con Arduino y Python

Vuelo simulador con Arduino y Python

Control de la opción de simulador de vuelo de Google Earth utilizando un Arduino y un acelerómetro.Volar prácticamente todo el mundo; el acelerómetro de inclinación hacia adelante, atrás, izquierda y derecha para controlar el avión Pitching y banca.O