Vraag vak puzzel (11 / 20 stap)

Stap 11: De Sinatra toepassing

Laat de bijgevoegde Sinatra app ontleden:

Deze krijgen is de vereiste libraries te doen Sinatra en Serial
vereisen 'serialport'
vereisen 'sinatra'

Dit is waar u het nummer van de seriële poort en snelheid configureren
arduinoSerialPort = 'COM22'
arduinoSerialPortSpeed = 9600

Dit maakt de seriële poort-object.  Het is niet echt belangrijk om te begrijpen wat dit betekent, als je niet een programmeur, maar omdat we gemaakt sp gelijk is aan de SerialPort.new dan sp.write is hoe wij zal output spullen op de seriële poort
SP = SerialPort.new (arduinoSerialPort, arduinoSerialPortSpeed, 8, 1, SerialPort::NONE)

Normaal gesproken in Sinatra zou u moeten een afzonderlijk bestand in een aparte map met de sjabloon van uw pagina.  Ik wilde dit app hebben allemaal in hetzelfde bestand, dus ik een echt eenvoudig sjabloon hieronder maakte.  In de "routes" (de pagina's in de URL) vervangen ik woord door het lichaam onder de HTML-code voor die pagina die ik wilt weergeven.
htmlCode = "< html >< hoofd >< / head >< lichaam > lichaam < / body >< / html >"

Hier is de eerste route.  krijg gewoon betekent dat het een get-verzoek, oftewel het type aanvraag dat gebeurt wanneer u in een URL typt of klik op een link.  De '/' betekent van de homepage in feite (dus als ik typ in http://servername/ dan krijg ik deze code).  Alles tussen de "do" en het "einde" wordt uitgevoerd als onderdeel van deze pagina.  Hier is alles wat ik doen hebben een variabele lichaam en ik toewijzen een bos van HTML voor links naar andere pagina's.  Er zijn drie links hieronder een /shootstuff, een /lightallleds en één voor /coinsound.  Het laatste wat dat ik doe is het lichaam in htmlCode (van boven) te vervangen met de HTML-code die ik heb gedefinieerd hier.  Wat het laatste ding in de weg te krijgen is geretourneerd en weergegeven als de pagina.
krijgt ' /' doet
lichaam = "< een href = \" / shootstuff\ "> schieten spul < /a >< br / >"
Body += "< een href = \" / lightallleds\ "> alle LEDs licht < /a >< br / >"
Body += "< een href = \" / coinsound\ "> Mario munt geluid < /a >< br / >"

htmlCode.gsub ("BODY", lichaam)
einde

Hier is een andere route, dit is wat je krijgt als je http://servername/shootstuff.  Het eerste ding dat het doet is een "1" over seriële sturen naar mijn munt-box.  Het heeft dan gewoon een link om terug te gaan naar de laatste pagina.
krijgen ' / shootstuff' doen
SP.Write "1"
lichaam = "< b > spullen moet schieten < /b >< /br >"
Body += "< een href = \" / \ "> Terug naar acties < /a >< br / >"
htmlCode.gsub ("BODY", lichaam)
einde

Vergelijkbaar met de bovenstaande route, deze branden wanneer iemand naar http://servername/lightallleds gaat.  Het verzendt een 2 via seriële en geef een link terug naar de indexpagina
krijgen ' / lightallleds doen
SP.Write "2"
lichaam = "< b > Alle LED's moeten Lit < /b >< /br >"
Body += "< een href = \" / \ "> Terug naar acties < /a >< br / >"
htmlCode.gsub ("BODY", lichaam)
einde

Deze route is vergelijkbaar met de bovenstaande twee.  Deze gebeurtenis wordt gestart wanneer iemand http://servername/coinsound raakt, een "3" over serieel schrijft en een link terug naar de indexpagina heeft
krijgen ' / coinsound' doen
SP.Write "3"
lichaam = "< b > munt geluid moet hebben geklonken < /b >< /br >"
Body += "< een href = \" / \ "> Terug naar acties < /a >< br / >"
htmlCode.gsub ("BODY", lichaam)
einde

Gerelateerde Artikelen

Missie Impossibe puzzel doos met PicAxe

Missie Impossibe puzzel doos met PicAxe

dit is mijn tweede ooit Picaxe project. Schieten, is het mijn tweede ooit elektronische schakeling te ontwerpen en bouwen van mezelf.Halverwege dit project, terwijl het onderzoeken van de opdracht van de "tune" in de programmeertaal Picaxe ik kw
3D afgedrukt 'Centrifugaal puzzel Box' - opgelost met een spin...

3D afgedrukt 'Centrifugaal puzzel Box' - opgelost met een spin...

Voor dit project heb ik besloten om te verkennen van de wereld en het gebruik van 3D-printing verder nadat mijn verkenning van de 3D iPhone gevallen markt waar ik ontworpen afgedrukt, gemaakt en nu verkopen de "TriStand iPhonegeval - 3D gedrukte iPho
Liefhebbers Ring puzzel Box

Liefhebbers Ring puzzel Box

Dit vak puzzel is een creatieve manier om een ring als een geschenk geven. De vangst wordt je om het te krijgen uit de doos eerste. Dus als u ten slotte gaf om te kopen van Ring voor Valentijnsdag, waarom niet zien uw geliefde een strijd een beetje t
Hoe maak je een puzzel doos. "Hel vak"

Hoe maak je een puzzel doos. "Hel vak"

Mijn vrouw moest hebben van chirurgie en zou voor 4 dagen in het ziekenhuis. Ik moest haar een cadeau krijgen. Maar ze zou moeten werken voor. Dus ik heb een puzzel doos gemaakt, of liever "Hell Box" omdat zijn hel krijgen in. Mijn idee was dat
Puzzel Mascottes

Puzzel Mascottes

na het maken van de vele mascot maskers ik mezelf uitdaging wilde door gebruik te maken van dezelfde technieken als een reeks van interactieve Mascottes wilt maken.Dit idee kwamen samen als een indiening voor een festival in Montreal genaamd chromati
Portemonnee Ring vak

Portemonnee Ring vak

Wilt u echt indruk op uw bruid om te zijn, met iets interessanter dan die saaie vakken van de ol ' ring dat de diamant slaan handen u? Goed ga je gang en doe jezelf een plezier door het maken van deze discrete en gladde ring box!Stap 1: inspiratieOke
Dementie puzzels maken voor mijn vader

Dementie puzzels maken voor mijn vader

Ik wou dat ik kon zeggen dat mijn vader er altijd voor me was toen ik een kind was, maar het feit is dat hij niet. De reden waarom was want hij bezig was "er" voor anderen. Hij, en wij zijn familie, die jarenlang 21 in het leger. Dus soms hij ve
Hoe het bouwen van een krullend vak-didge, en hoe niet te

Hoe het bouwen van een krullend vak-didge, en hoe niet te

achtergrondDidgeridoos zijn intrigerende en fascinerende instrumenten. Ze maken een breed scala van geluiden en in de handen van een deskundige ze bijna 'praat' met u. Er is ook een breed scala van de soorten muziek gespeeld op didges, van de traditi
Zonne-vak oven

Zonne-vak oven

ik rommelde rond met parabolische gerechten en fresnel lenzen maar in termen van koken, kon ik niet veel meer dan een ei bakken of koken een paar kopjes water. Dus heb ik besloten om een shot op een efficiëntere manier van zonne-koken redelijke hoeve
(CBG) Sigaar vak gitaar... Piekeren

(CBG) Sigaar vak gitaar... Piekeren

Instructable #2... hier goes!!Zo kreeg ik onlangs aan het begin van het jaar 2013 in leren en het opbouwen van het CBG of Cigar Box Guitars. Ik ben relatief nieuw voor het, maar wanneer ik probeer iets maken en alleen kleine kennis krijgen van het le
Houten deuvel puzzel – Advanced versie

Houten deuvel puzzel – Advanced versie

Afgelopen week postte ik een vattenproducenten puzzel die 8 segmenten. Tot mijn verbazing, bleek zeer uitdagend voor mijn collega's, want er alleen een 25% voltooiing/slagingspercentage was. De typische tijd voordat iemand gevraagd voor een hamer om
Kale botten vacuüm vormen vak

Kale botten vacuüm vormen vak

Allereerst, dit Instructable werd gemaakt ter aanvulling van de oorspronkelijke video voor het project, als het is meer een soort van "watch me maken dit ding" van video. Als je na mijn instructies om uw eigen vacuüm vormen vak, zorg ervoor dat
Laser gesneden vak met "inlay" ontwerpen.

Laser gesneden vak met "inlay" ontwerpen.

Ik hou van vakken met de laser cutter. De laser cutter maakt het vak delen snijden gemakkelijk en nauwkeurig. Door het snijden van een reeks van tabs en sleuven langs de rand, de stukken in elkaar passen zo goed dat je hoeft bijna niet lijm hen om sa
Sphox: de Google gebied vak

Sphox: de Google gebied vak

Welke camera app gebruikt u? Is het Google camera? Nou, ben ik! De app kenmerkt een handvol panorama opties en FOTOSFEER! Dit is relatief nieuw, en er zijn niet veel instructables erover!Ik begon te leren door het lezen van deze https://docs.google.c