IoT - controlar un Raspberry Pi Robot por internet con HTML y shell scripts sólo (3 / 9 paso)

Paso 3: Control de motores con frambuesa Pi y WiringPi

En este punto, la biblioteca de WiringPi está instalada y usted puede controlar cualquier GPIO directamente desde la línea de comandos en su monitor de RPi. El siguiente paso es crear una lógica para controlar los motores. Para ello, utilizamos un puente en forma de H, L-293-D. Este puente H puede controlar 2 motores. Tiene para cada uno, los motores, 3 entradas:

  • Motor izquierda: "permitir"; "motor +" y "motor-"
  • Motor derecha: "permitir"; "motor +" y "motor-"

Ambos entrada "motores permite" conectar juntos y será controlados por GPIO.18. Este pin se encargará para el control de velocidad. Si no desea que controlan la velocidad, dejar los pernos en alto, por ejemplo. vamos a discutir esto más en este paso.

Vamos a hacer un Convenio si queremos que el motor izquierdo para correr hacia adelante, que debemos configurar motor + como alta y motor-como baja. Para ejecutar en un sentido inverso, debemos hacer lo contrario: motor-como alta y motor + tan bajo.

La mejor manera de definir realmente las entradas correctas para controlar la dirección del motor, es a prueba cuando es el verdadero motor.

Vamos a asignar los GPIOs para entradas de puentes de H:

  • Motor izquierda +: GPIO.5
  • Motor izquierda -: GPIO.6
  • Motor derecha +: GPIO.13
  • Derecha - motor: GPIO.19

Partiendo de los supuestos anteriores, se puede construir una tabla lógica con los niveles que se asignará a los GPIOs (ver tabla imagen). El siguiente paso es crear scripts de shell para ejecutar los motores

Cada archivo de script es esencialmente el texto sin formato. Cuando un archivo de texto se intenta ejecutarse, conchas analizará a través de ellos para pistas en cuanto a si son secuencias de comandos o no y cómo manejar todo correctamente. Debido a esto, hay algunas pautas que necesita saber.

  • Cada script debe ser con "#! / bin/bash" (el Hash-Bang Hack}
  • Cada nueva línea es un nuevo comando
  • Las líneas de comentario comienzan con un #
  • Comandos están rodeados por)

Cuando un shell analiza a través de un archivo de texto, el más directo camino para identificar el archivo como un script está haciendo su primera línea: #! / bin/bash (el Hash-Bang Hack). Si usas otro shell, sustituir su camino aquí. Las líneas de comentario comienzan con hash (#), pero añadiendo el bang (!) y la ruta del shell después de que sea una especie de hack que se omitir esta regla comentario y obligará a la secuencia de comandos a ejecutar con la concha que esta línea apunta a.

Por ejemplo, para crear un script de shell para ejecutar los motores "Forward", basado en la tabla anterior, debemos crear el siguiente archivo (uso el mejor editor para usted. Estoy usando NANO para eso):

sudo nano forward.cgi

#! / bin/bash

GPIO -g escribir 5 1

GPIO -g escribir 6 0

GPIO -g escritura 13 1

GPIO -g escribir 19 0

.

Una vez creado el script, lo debemos dar permiso para ser ejecutados:

sudo chmod 755 forward.cgi

Ahora, para ejecutar el script:

sudo./forward.cgi

4 LEDs fueron utilizados para probar los scripts, los reales motores se añadirán en un paso más. Si funciona, debe estar en el correspondiente LED (ver foto).

Tenga en cuenta que usar cgi como la extensión de archivo. CGI significa "Common Gateway Interface". Es una forma estándar para servidores web para interfaz con programas ejecutables instalados en un servidor que generan dinámicamente páginas web. Estos programas son conocidos como scripts CGI o simplemente CGIs; generalmente están escritas en un lenguaje de scripts, pero pueden escribirse en cualquier lenguaje de programación.

Sucediendo, debe aplicarse la misma idea para las otras posibilidades de la tabla anterior:

sudo nano stop.cgi

#! / bin/bash

GPIO -g escribir 5 0

GPIO -g escribir 6 0

GPIO -g escribir 13 0

GPIO -g escribir 19 0

.

sudo nano reverse.cgi

#! / bin/bash

GPIO -g escribir 5 0

GPIO -g escribir 6 1

GPIO -g escribir 13 0

GPIO -g escribir 19 1

.

sudo nano left.cgi

#! / bin/bash

GPIO -g escribir 5 0

GPIO -g escribir 6 1

GPIO -g escritura 13 1

GPIO -g escribir 19 0

.

sudo nano right.cgi

#! / bin/bash

GPIO -g escribir 5 1

GPIO -g escribir 6 0

GPIO -g escribir 13 0

GPIO -g escribir 19 1

.

Una vez creados los scripts deben darles permisos para ser ejecutado, al igual como se hizo con forward.cgi

sudo chmod 755 stop.cgi

sudo chmod 755 reverse.cgi

sudo chmod 755 left.cgi

sudo chmod 755 right.cgi

Ahora, ejecutar algunas pruebas para confirmar que todo está funcionando:

./forward.cgi

./Left.cgi

./Reverse.cgi

./Right.cgi

./STOP.cgi

Es una buena práctica que tenemos un directorio específico para los programas que utilizan y lo llaman "bin". Por lo tanto, para guardar las secuencias de comandos que vamos a utilizar en el proyecto, debemos crear un directorio como cgi-bin que contiene todos los scripts ejecutables (o archivos binarios). Por ejemplo, httpd www/cgi-bin.

Por lo tanto, vamos a crear el directorio www debajo de var, donde se ubicará la página web y debajo de ella, el directorio cgi-bin con las secuencias de comandos:

sudo mkdir/var/www

sudo mkdir httpd www/cgi-bin

Ahora, vamos a pasar todos los archivos a este nuevo directorio:

sudo mv /*.sgi httpd www/cgi-bin

CD httpd www/cgi-bin

Utilizando el línea comando ls, puede ver los archivos creados (ver foto).

LS

Una última cosa antes de que procedamos a otro paso. Si reinicia el IPC, los GPIOs volverá a su estado por defecto que es la entrada. Por lo tanto, tenemos que cambiar el script /etc/rc.local que se ejecuta al inicio de cualquier frambuesa. Justo antes del último comando en el script == > exit 0, debemos incluir los comandos de modo de GPIOs:

sudo nano /etc/rc.local

modo de GPIO -g 5 a

modo de GPIO -g 6 a

modo de GPIO -g 13 a

modo de GPIO -g 19 a

...

exit 0

Ahora, en cualquier momento que el IPC comienza, estará listo para controlar las salidas diseñadas.

Artículos Relacionados

Caja de Pandora - jugador de una Radio por Internet con un Pi de frambuesa!

Caja de Pandora - jugador de una Radio por Internet con un Pi de frambuesa!

Enchufe en este reproductor de radio de internet y escuchar sus emisoras favoritas de Radio Pandora. Seis pulsadores controlan la música, mientras que una pantalla LCD proporciona información sobre la canción, artista y otra información útil. Todo es
Radio por Internet con pantalla táctil, frambuesa

Radio por Internet con pantalla táctil, frambuesa

Hacer esta super fácil y fresco aspecto 2,8" pantalla táctil Radio por Internet que puede ser controlado con la PC, Smartphone y básicamente todas las máquinas que cuenta con un navegador y una conexión a internet...(encontrar los altavoces en la par
Radio por Internet con frasco frambuesa Pi

Radio por Internet con frasco frambuesa Pi

El propósito de este tutorial es mostrar cómo construir una radio que puede transmitir audio desde internet utilizando una interfaz web sencilla para operarla. Necesitamos lo siguiente:Frambuesa PiAlgunos oradores puede conectar a su frambuesa PiMatr
Radio por Internet con un Evo T20 Thin Client que necesitan sin monitor teclado o ratón para ejecutar!

Radio por Internet con un Evo T20 Thin Client que necesitan sin monitor teclado o ratón para ejecutar!

Aquí es cómo utilizar un cliente Evo T20 como un receptor de radio de Internet independiente:Por qué hacerlo bien lo hice por 3 razones1] porque era un desafío2] tener una unidad silencioso de bajo consumo sólo 20 vatios pico en lugar de ejecutar una
IoT DIY dispositivos de conexión a Internet con pfodApp

IoT DIY dispositivos de conexión a Internet con pfodApp

Cómo conectarse en casa y a usar la misma conexiónEste instructabe incluye cómo obtener su pfodDevice WiFi, IoT, conectado a Internet. También muestra cómo el pfodApp soluciona el problema de no poder conectarse al dispositivo local a través de Inter
Cómo compartir datos de temperatura de DHT22 por Internet con Xively

Cómo compartir datos de temperatura de DHT22 por Internet con Xively

la web definitivamente ha cambiado muchas cosas, como la disponibilidad de datos a petición, rápida y fácilmente. Por ejemplo saber la temperatura que está ahí, está disponible a través de varias webs dedicadas, que también proporcionan previsiones e
Robot de telepresencia controlado por Internet

Robot de telepresencia controlado por Internet

En este tutorial le mostrará cómo construir un Robot de telepresencia controlado por Internet con un brazo robótico para menos de $100.Paso 1: Materiales básicos Para este tutorial, hay algunas imprescindibles:1. una placa Arduino (estoy usando la Ar
Hablar con el dispositivo por internet

Hablar con el dispositivo por internet

Hablas, y el dispositivo se escucha... incluso si el dispositivo está a medio camino en todo el mundo!Este instructable le mostrará cómo usar un sistema de reconocimiento de voz basado en la cámara Intel RealSense para enviar comandos de descanso por
Crear un robot de internet controlado mediante Livebots

Crear un robot de internet controlado mediante Livebots

aquí usted aprenderá cómo crear un robot controlado por internet u otra instalación de uso Livebots.Livebots es un proyecto que estoy trabajando en que consiste el sitio Web fácil de usar para todos los robots que la gente puede interactuar con a tra
Control de un Servo por Internet

Control de un Servo por Internet

Este Instructable muestra cómo controlar un servo por Internet, mediante un Núcleo de la chispa. Este Instructable es alimentado por un núcleo de la chispa y y una pequeña que está incluido en el Kit de fabricante de chispa (un servo normal funcionar
1979 bang & Olufsen frambuesa Pi Radio por Internet

1979 bang & Olufsen frambuesa Pi Radio por Internet

esto es un 1979 Bang & Olufsen Beocord 1500 grabadora que he convertido en una independiente de radio por internet de Raspberry Pi. Los medidores de VU analógicos son conducidos por el Pi a través de un circuito DAC (convertidor analógico Digital), c
Acceso a Arduino por internet

Acceso a Arduino por internet

Este instructable es sólo otro intento de conectar tu arduino a internet. Hay tantos instructables similares que decirle cómo hacer lo mismo, esta es la versión algo más detallada, que pensé que podría ayudar a los principiantes como yo. Así que vamo
Radio por Internet de U-WAVE

Radio por Internet de U-WAVE

Crear una radio por internet funcional y simple que se puede controlar desde cualquier lugar en su casa así como el sonido increíble. Raspberry Pi puede crear una radio por internet para su hogar por una fracción del precio de compra! Como se ve en M
Crear tu propia radio por internet

Crear tu propia radio por internet

Este Instructable le muestra cómo crear una radio por internet (escuchar música house, rock, jazz, salsa...) en menos de 30 minutos sin ningún técnico conocimiento ni soldadura.La radio utiliza un frambuesa Pi como hardware, listo para archivo flash