Pregunta caja Puzzle (11 / 20 paso)

Paso 11: La aplicación Sinatra

Vamos a diseccionar la aplicación adjunta de Sinatra:

Este consigue 's las bibliotecas necesarias para Sinatra y serie
requieren 'serialport'
requieren a 'sinatra'

Esto es donde puede configurar el número de puerto serie y velocidad
arduinoSerialPort = 'COM22'
arduinoSerialPortSpeed = 9600

Esto crea el objeto de puerto serie.  No es realmente importante entender lo que esto significa si no eres un programador, sino porque hicimos sp iguales a la SerialPort.new entonces sp.write es cómo nos va salida cosas al puerto serie
SP = SerialPort.new (arduinoSerialPort, arduinoSerialPortSpeed, 8, 1, SerialPort::NONE)

Normalmente en Sinatra tienes un archivo separado en un directorio separado con la plantilla de su página.  Quería tener esta aplicación en el mismo archivo, así que hice una plantilla muy sencilla a continuación.  En las "rutas" (las páginas URL) cambiar la palabra cuerpo a continuación con el código HTML de la página que desea mostrar.
htmlCode = "< html >< cabeza >< / cabeza >< cuerpo > < cuerpo / >< / html >"

Aquí le damos la primera ruta.  Haz sólo significa que es una petición get, que es el tipo de solicitud que sucede cuando usted escriba una dirección URL o haga clic en un enlace.  La '/' significa básicamente la página (por lo que si escriba http://servername/ llegaré a este código).  Todo entre el "hacer" y el "fin" se ejecuta como parte de esta página.  Aquí todo lo que hago es una variable de cuerpo y asignar un montón de HTML para los enlaces a otras páginas.  Hay tres enlaces a /shootstuff, a /lightallleds y otro para /coinsound.  Lo último que hago es sustituir el cuerpo en htmlCode (desde arriba) con el código HTML define aquí.  Lo que es lo último en la ruta consiga volvió y como la página.
get ' /' hacer
cuerpo = "< a href = \" / shootstuff\ "> cosas dispara < /a >< br / >"
cuerpo += "< a href = \" / lightallleds\ "> todos los luz LED < /a >< br / >"
cuerpo += "< a href = \" / coinsound\ "> sonido de moneda Mario < /a >< br / >"

htmlCode.gsub ("Cuerpo", cuerpo)
final

Aquí hay otra ruta, esto es lo que obtienes si golpeas http://servername/shootstuff.  Lo primero que hace es enviar un "1" en la serie a mi caja de moneda.  Sólo tiene un enlace para volver a la última página.
Haz ' / shootstuff'
SP.Write "1"
cuerpo = "< b > cosas debe tirar < /b >< /br >"
cuerpo += "< a href = \" / \ "> volver a acciones < /a >< br / >"
htmlCode.gsub ("Cuerpo", cuerpo)
final

Similar a la ruta anterior, éste se activa cuando alguien va a http://servername/lightallleds.  Envía un 2 en la serie y darle un enlace hacia la página de índice
Haz ' do lightallleds'
SP.Write "2"
cuerpo = "< b > todos los LEDs deben ser iluminado < /b >< /br >"
cuerpo += "< a href = \" / \ "> volver a acciones < /a >< br / >"
htmlCode.gsub ("Cuerpo", cuerpo)
final

Esta ruta es similar a los dos anteriores.  Dispara cuando alguien golpea http://servername/coinsound, escribe un "3" sobre la serie y tiene un enlace a la página de índice
Haz ' / coinsound'
SP.Write "3"
cuerpo = "< b > moneda sonido debe sonar < /b >< /br >"
cuerpo += "< a href = \" / \ "> volver a acciones < /a >< br / >"
htmlCode.gsub ("Cuerpo", cuerpo)
final

Artículos Relacionados

3D ' centrífuga Puzzle caja impresa ' - resuelto con una vuelta...

3D ' centrífuga Puzzle caja impresa ' - resuelto con una vuelta...

Para este proyecto decidí explorar el mundo y el uso de 3D impresión aún más después de mi exploración del 3D imprime iPhone mercado de casos donde diseñó, creó y ahora venden la 'trípode del iPhone - 3D impreso casos de iPhone con construido en tapa
Puzzle caja fuerte

Puzzle caja fuerte

Este es un rompecabezas que he creado. Usa cuatro pernos para bloquear el "corcho" del centro en el lugar, y la única forma de abrirlo es girar. Rápido. Una vez que la fuerza centrífuga hace que todos los pernos hacia fuera el corcho, podrás lev
Caja de Puzzle de LEGO

Caja de Puzzle de LEGO

en el Instructable siguiente encontrará instrucciones detalladas para la construcción de un desafiante puzzle de Lego. Solución de este rompecabezas es otro paso en el dominio de tales rompecabezas. Espero que disfruten esta empresa "desarrollo de la
Retro Blaster - Puzzle caja Retrofit

Retro Blaster - Puzzle caja Retrofit

El Retro Blaster es una maravilla moderna '25 se mueve abrir' de caos mecánico!,... bueno, eso es lo que digo gente de todos modos. ; ) * Hay un pequeño tour video al final...Que todo comenzó cuando encontré este canal de radio de sobremesa vintage h
Mi caja de Puzzle (The Unabox Project)

Mi caja de Puzzle (The Unabox Project)

Heres un proyecto que hice de hacer la revista. Los planes originales pueden ser un poco difíciles para el principiante así que modificó los planes y crea un cuadro que todavía preformas tan buena como la original. Para abrir el cuadro de uno debe pr
Puzzle caja

Puzzle caja

Hola amigos este es mi primer instructable. En este proyecto nos hará PUZZZZZZZLE de la caja . El video que se muestra a continuación es el modelo final lo siento que no puedo mostrar fotos paso a paso.para hacer solo he hecho el modelo de computador
Puzzle kit de supervivencia de la caja

Puzzle kit de supervivencia de la caja

en este Instructable te enseñaré cómo hacer y utilizar un kit de supervivencia de la caja de puzzle. tiene fuentes de caza pesca equipos y suministros médicos y una manta de supervivencia.Paso 1: Suministros médicos aquí es las cosas que necesitan mé
Puzzle de LEGO caja

Puzzle de LEGO caja

Cajas de puzzle de LEGO molan así que me decidí a hacer uno como este. Ahora en las instrucciones. Oh y una cosa mas no a su lego cajas de hecho yo tengo un corte en el pie así que ten cuidado. Me miento para ello ccuando yo esto doy crédito a legost
LEGO puzzle cuadro no. 1 'Primero' (y otras cajas!)

LEGO puzzle cuadro no. 1 'Primero' (y otras cajas!)

¡ Hola! Después de un largo paréntesis de Instructables, ya estoy de regreso! Tengo un montón de cajas de puzzles que he hecho, y planeo publicar instrucciones para todos ellos. Me encantaría saber que debo publicar a continuación! Arriba están todas
Puzzle caja 2

Puzzle caja 2

este es el segundo puzzle caja he hecho ésta puede contener más cosas y toma más medidas para abrir. he incluido un archivo pdf con el refinado diseño de esta caja y una lista de piezas.Paso 1: Fuera de caja Paso 2: Dentro de la caja Paso 3: Piezas e
Puzzle de Tardis caja luz de noche

Puzzle de Tardis caja luz de noche

En este instructable voy a mostrarte, cómo construir una caja de rompecabezas de Tardis, que sólo puede ser abierta por los paneles de techo de una determinada manera. Me encanta construir cajas de rompecabezas y decidió hacer este otro para un gran
Puzzle caja de seguro

Puzzle caja de seguro

este es mi primer instructable tan desnudo conmigo. Retroalimentación es muy apreciada tanto positivos como negativos.La caja del rompecabezas es una caja misteriosa que sólo puede abrirse una vez que usted saque la llave de la cerradura y entonces a
Puzzle caja (Unabox)

Puzzle caja (Unabox)

Se trata de una versión modificada de la Unabox que fue construido por TXTCLA55 como se muestra aquí:Esta versión simplificada se puede construir con herramientas limitadas y un nivel de habilidades básicas. El dibujo está incluido en la descripción
La caja de Navidad II

La caja de Navidad II

¡Hola a todos! D aquí. He encontrado un montón de cosas buenas en instructables y pensé que era hora de darle un poco hacia atrás. Este es mi primer sorta kinda instructable así que por favor oso conmigo. No es tanto cómo una exacta, pero más de un t