Hem Alert: Arduino + moln meddelandehantering på en stor Display (3 / 14 steg)

Steg 3: Sinatra intar scenen!



Det finns många sätt att skapa webbplatser och webbtjänster. Från programmeringsspråk med web-stödja bibliotek, till kompletta ramar, det kan vara förvirrande och svårt att välja en för detta jobb.

Jag har använt och spelade med en hel del teknik för webbprogram, och upptäcker att Sinatra är idealisk för att skapa webbtjänster och liten webbplatser. Särskilt när jag bygga en webbtjänst för att stödja en Arduino gadget, är Sinatra ett riktigt bra val.

Vad är Sinatra och varför är det ett bra val? Jag är glad att du frågade!

Sinatra är ett språk för den snabba utvecklingen av webbapplikationer. Den är byggd ovanpå Ruby, en mycket populär och uttrycksfulla allmänt ändamål skriptspråk. Du kan höra Sinatra som kallas en "DSL", ett domän specifika språk. Här är webben. Sökord (ord) och syntaxen för Sinatra är sådan att det gör det enkelt och snabbt för människor att skapa webbapplikationer.

I en tid där så kallade "påstridig" ramar för web app utveckling som Ruby on Rails och Django är super populär, fångar Sinatra den motsatta änden av spektrumet. Medan Ruby on Rails och Django kräver programmeraren att följa en särskild konvention och sätt att göra saker (vilket i sin tur innebär en brant och lång inlärningskurva), gör Sinatra inga sådana krav.

Sinatra är begreppsmässigt mycket enklare än Rails och Djangos av världen. Du kan få igång med en webbapplikation som kan interagera med din Arduino inom några minuter.

Jag kommer att Visa med ett exempel. Här är vad en Sinatra minimal web app ser ut (bara läsa följande för nu, inte faktiskt gör detta på din dator eftersom du skulle förmodligen inte har inställningen för förutsättningar för detta än):

I en enda fil, låt oss kalla det my_app.rb, lägga till denna text:

kräver "sinatra"
få ' /' göra
"Hello, world!"
slutet

Starta app så här på kommandoraden:

ruby my_app.rb

Appen startar och du kommer att se denna text i konsolen:

Peter ruby my_app.rb
Puma 2.8.1 startar...
* Min trådar: 0, max trådar: 16
* Miljö: utveckling
* Lyssna på tcp://localhost:4567
== Sinatra/1.4.4 har tagit scenen på 4567 för utveckling med backup från Puma

Appen är nu redo att ta emot en klient begäranden. Öppna en webbläsare, peka den till http://localhost:4567och detta är vad du kommer att se (se bifogad skärmdump).

Det är fyra enkla rader kod i en enda fil. Däremot Rails skulle ha krävt över hundra filer, skapas bara för att tillfredsställa den ramen krav. Missförstå mig inte, jag älskar Rails, men egentligen...?

Så är Sinatra enkel och snabb att köra. Jag antar att du vet ingenting om Ruby, Sinatra och programdistribution till molnet, så i nästa avsnitt kommer jag ta dig steg för steg från noll till distribution av din Arduino webbtjänst till molnet.

Se Steg
Relaterade Ämnen

Arduino - Theremin med 7 Segment LED Display

i detta instructable, jag kommer att visa dig hur man gör en enkel leksak den kombinationen av LED flash och Theremin. Vi kommer att använda vissa grundläggande elektronik byggd ovanpå en Arduino. Den grundläggande tanken med 7 Segment LED Display va...

Arduino decimal counter med 7 segment display

Med en arduino uno och en sju segment display vi kommer att göra en mycket enkel och grundläggande krets som räknar från 0 till 9 och upprepar tills du stänger av.Steg 1: Saker som vi behöver Arduino UNO220 Ω motstånd7-segment display (jag använder e...

Stoppur & varvtid med Arduino Nano och Maxi 7219 LED Display (8 gräva X 7 Seg)

Hej alla,Detta är en mycket lätt projekt göras åt ett stoppur med Arduino Nano och Maxi 7219 LED display (8 siffror x 7 segment).Stoppuret använda denna typ av display är ny och jag kunde inte hitta något liknande.De första 4 siffrorna i displayen vi...

Styr ditt hem med Arduino

Arduino är ett bra verktyg att styra och känsla sak, det är därför de flesta människor använder det, men det finns en stor hake. Arduino kan bara hantera riktigt små strömmar. (Inte mer än 40mA). Detta är ok för vissa elektroniska projekt, men hur ko...

Spara ditt hem med Arduino

nyligen, fanns det en kallfront som bråkade med makt över. Det var en tornado klocka i Kanada, ännu. Det fanns några riktigt coola moln, då vissa åska, då en hel del blixtar, åska och regn. Massor av regn och konstant mullrande som himlen öppnade des...

Smarta hem med Arduino Ethernet shield och Teleduino (med web app)

Detta projekt är en enkel lösning för dem som vill ha en smart-home system men inte har en stor budget och för lat de som inte vill komma från sängen till släcker belysningen av eller på.Det är också projektera av en high school student för sitt slut...

Smarta hem med arduino

Hej.Jag kommer att visa dig hur man bygger ditt eget smarta hem. Det visar temperaturen såväl inom och utanför, om fönstret är öppna eller stängda, visar när det regnar och göra larm när PIR-sensorn känner av flytten. Jag gjorde programmet på android...

"Rum-duino": styra enheten hem från Internet, en hem-brygga Arduino lösning

jag nyligen konstruerade "Roomduino" att styra elektriska enheter i mitt rum från internet, det är en lösning som bas på Arduino, jag anpassade utformade två brädor för små system, först är en "nätverk gate" ombord, som är som en hubb...

Smarta hem med arduino och jubito

jubito är en programvara som jag utvecklar jaNETramverk. En smart home server som skapas gränssnitt mellan olika hårdvara (som arduino) och programvarukomponenter, att förmågan att interagera varandra och låt mig tillgång automatiseringar och mer öve...

Variera Alerter Arduino projekt

En Arduino ultraljud utbredning larma projekt, som meddelar användaren av närheten av hinder med hjälp av ultraljud HC-SR04 ultraljud modul. Avståndet mäts med hjälp av kod och bygger på närheten lämplig LED lyser upp.Steg 1: Få objektDet finns inte...

Twitter kontrollerad Arduino utgångar - ingen PC - LCD-Display + sensordata till Twitter

kontroll digital ut PIN-koder genom Twitter-meddelanden. Sensormätningar skickas tillbaka till Twitter.ÄNDRAD av JOHN GÄLLNÖBY från Twitter2LCD ursprungligen skriven av Fabrizio GranelliSe * Du kan skicka textmeddelanden till Arduino LCD-skärmen från...

Arduino och Python seriell kommunikation - knappsatsen Display

Detta projekt är gjord för mac-användare men det kan också genomföras för Linux och Windows, den enda åtgärd som bör vara olika är installationen.Steg 1: Installation av programvara Ladda ner och installera Arduino -> https://www.arduino.cc/en/Main/S...

Arduino Nano och Visuino: 7 Segment Display klocka med MAX7219 och DS1307 realtid Clock(RTC)

DS1307 Realtidsklocka finns allmänt tillgänglig låg kostnad I2C RTC moduler. De kommer med en klocka och ett litet batteri, och när ansluten till Arduino, kan hålla reda på realtid även när Arduino styrelsen inte drivs. Jag har redan gjort Instructab...

Arduino Nano: Analog 7 Segment MAX7219 Display med Visuino

7 segmenterar skärmar är mycket populärt val för att visa data. De emellertid består av ett stort antal lysdioder och kontrollera varje LED med en digital pin från Arduino är inte en praktisk lösning. Maxim Integrated erbjuder mycket bekvämt chip för...

Arduino hem basket Hoop poäng Detection System aka ScoreKeeper

Min lillasyster och jag hittade denna inomhus basket hoop (bilden ovan) på en container för några veckor sedan. Vi kom hem från kyrkan precis som två personer lossning det från sin lastbil. Vi beslutade att ta tag i det, tillsammans med tabellen air...

Ren binär LED väggklocka med Arduino

Min binära Väggklocka är inspirerad från många binära klockor jag hittade på InstructablesLänkar:Lilypad Arduino klocka:Binär klocka:Plus några andra binär klocka instructables.Men...Vad jag fann saknas i dem var omfattningen och storleken på display...

Arduino MIDI bas pedaler

jag har alltid gillat bas pedaler. Jag är ett stort fan av bandet Rush och deras basist Geddy Lee. De flesta av mina favorit Rush album använder Moog Taurus pedaler som har blivit synonymt med sina ljud från den tiden. Jag vet inte vad det är. Den dj...

Hemautomation använder Arduino Uno

Någonsin velat göra ditt hem automatiserad? Ville styra lampor, fläkt och andra apparater från din smartphone? Eller ville ha en genomgång om anslutna enheter och komma igång med det? Android Home Automation visar dig hur man gör ditt hem automatiser...

LED moln ljus

Detta ljusa och mångsidig moln ljus kan vara stora eller små, ändra eller vit och hängde från taket eller fristående! Tillverkad i huvudsak papper lanternor och bomull vadd, är molnet lätt att montera och lätt. Lampor är små och batteridriven så att...