Tabla de contenido:

Control web Beaglebone Black con WebPy: 6 pasos
Control web Beaglebone Black con WebPy: 6 pasos

Video: Control web Beaglebone Black con WebPy: 6 pasos

Video: Control web Beaglebone Black con WebPy: 6 pasos
Video: CupBot - BeagleBone Black - using a web app as a controller 2024, Mes de julio
Anonim
Control web Beaglebone Black mediante WebPy
Control web Beaglebone Black mediante WebPy
Control web Beaglebone Black mediante WebPy
Control web Beaglebone Black mediante WebPy

Alguna vez quiso crear una forma de controlar la puerta de su garaje usando su teléfono, tal vez recopilar datos y verlos desde su computadora portátil. Hay una computadora de placa única llamada Beaglebone Black, que es un dispositivo extremadamente poderoso que le permite controlar sus pines GPIO para interactuar con elementos del mundo real como motores, LED, lámparas, etc. El Beaglebone es como una frambuesa pi tablero pero mucho más poderoso. La comunidad de Beaglebone no es tan grande como las Raspberry Pi, así que ten cuidado por la falta de tutoriales.

Mientras buscaba en Internet una solución para controlar mi Beaglebone Black desde mi computadora portátil usando una página web, aparecieron muchos tutoriales usando la biblioteca Bonescript de Beaglebone y la biblioteca socket.io usando la nube 9 ide. Mientras seguía los tutoriales y miraba el código de las personas, me sentí frustrado debido al hecho de que el ide de Cloud 9 seguía fallando, mi falta de comprensión de javascript y también la falta de flexibilidad de cada tutorial (cada tutorial te obligaba a usar una cantidad predefinida de GPIO's). Estaba familiarizado con Python y mi amigo me presentó web.py, que es un excelente marco web utilizado para desarrollar aplicaciones web. También utilicé la biblioteca GPIO Beaglebone Black de Adafruit para controlar los pines individuales del Beaglebone Black.

Que necesitarás:

  • Un ordenador
  • Terminal SSH como PuTTY o use SSH en el terminal (para Mac y Linux, Windows no tiene SSH incorporado)
  • Un Beaglebone Black conectado a la computadora a través de USB
  • Una conexión a Internet al Beaglebone Black
  • (opcional) Un cliente SFTP

Paso 1: instale las bibliotecas de Python necesarias

Necesitamos instalar dos bibliotecas que no son módulos estándar en Python 2.7. Las bibliotecas son las bibliotecas Adafruit BBIO y WebPy. Necesitamos acceder a Beaglebone usando SSH. Decidí usar la terminal PuTTy y acceder a ella usando la dirección IP de beaglebone, la mía es 192.168.7.2, la tuya se puede encontrar en beaglebone start.html. Si está utilizando Angstrom, escriba:

  • opkg actualizar && opkg instalar python-pip python-setuptools python-smbus
  • pip instalar Adafruit_BBIO
  • pip instalar web.py

Si está utilizando Debian o Ubuntu:

  • sudo apt-get update
  • sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y
  • pip instalar Adafruit_BBIO
  • pip instalar web.py

Para probar si las bibliotecas están instaladas correctamente, escriba:

  • pitón
  • importar web
  • importar Adafruit_BBIO. GPIO

Si no se producen errores en la consola de Python, entonces ha instalado las bibliotecas correctamente y estamos listos para codificar.

Paso 2: el código Python

El código Python
El código Python

El código de Python es bastante fácil de entender si está familiarizado con el uso de Python, si es un principiante en la programación, es posible que tenga algunos problemas para comprender partes del código.

La documentación de las 2 bibliotecas se puede encontrar aquí:

  • Web.py
  • Biblioteca GPIO de Adafruit

He escrito código y lo he comentado para que lo entiendas y lo juegues.

Paso 3: creación de la página web

Creación de la página web
Creación de la página web

Si tiene el código de Python que adjunto, puede verme hablando sobre la solicitud GET. Una solicitud GET es básicamente una forma de que una página web se comunique con un servidor. Para agregar, eliminar y cambiar las salidas, estamos usando Jquery para hacer algunas solicitudes básicas de obtención. He adjuntado una página html que hace precisamente eso y también he comentado el código para su conveniencia.

El archivo control.html está aquí: fuente de vista:

Paso 4: transferir el archivo Python a su Beaglebone

Transfiriendo el archivo Python a su Beaglebone
Transfiriendo el archivo Python a su Beaglebone

Puede transferir el archivo main.py a través de la línea de comandos, pero para transferir archivos fácilmente, voy a usar WinSCP (puede usar cualquier cliente sftp) que puede descargar aquí. Existe Cyberduck para usuarios de Mac, pero como soy un usuario de PC, no sé cuál es el mejor, así que tienes que buscarlo en Google. El proceso es simple, simplemente arrastre el archivo main.py en el escritorio o en cualquier otro directorio que elija.

Paso 5: Ejecutar el servidor

Ejecutando el servidor
Ejecutando el servidor

Ejecutar el servidor es fácil, simplemente use SSH usando PuTTY o su terminal y cambie su directorio al directorio main.py. Escribir:

python main.py 1234

Ahora lo que acabamos de hacer es pedirle a Python que ejecute el archivo main.py en el puerto 1234

Paso 6: ¡Tienes el control

¡Tienes el control!
¡Tienes el control!
¡Tienes el control!
¡Tienes el control!
¡Tienes el control!
¡Tienes el control!

Ahora ve al archivo control.html y ábrelo con google chrome o cualquier otro navegador que uses, tendrás una página web con 2 cuadros de texto y 3 botones. El cuadro de texto del número de PIN solicita el número de PIN, como P8_10 o P8_29, etc. Necesita completar el nombre para poder usar los botones de borrar y cambiar. Ahora que tiene control web, puede usar este ejemplo para crear un panel más avanzado. Tal vez use las capacidades de la base de datos para usar su Beaglebone Black como un registrador de datos o lo use para la automatización del hogar, las posibilidades son infinitas. Si le gusta este instructivo, vote por este proyecto en el concurso de creaciones codificadas y también marque como favorito este proyecto. ¡Gracias por leer este instructivo y sigue hackeando!:)

Recomendado: