Hem Alert: Arduino + moln meddelandehantering på en stor Display (11 / 14 steg)
Steg 11: Skapa webbtjänstprogrammet
Låt oss bygga ansökan och köra det på din Utvecklingsmaskin. Vi kommer att justera Arduino skiss att ansluta till den här instansen av ansökan medan vi testa den. När vi är övertygad om att allt fungerar bra, vi distribuerar till molnet och uppdatera skissen att använda molnet instans.
Här är Ruby kod, allt i en enda fil som heter "web.rb" (denna kod är tillgänglig på Github).
Viktigt: Ladda ner och läsa bifogade PDF-filen, den innehåller detaljerade inbäddade kommentarer (vänligen gör detta innan du fortsätter!).
Nu kan du prova din hem varningssystem. Ändra hemsida och webbsida konstanterna för att peka på din Utvecklingsmaskin och portnummer för din utveckling Sinatra server i din skiss. I mitt fall, jag har en Utvecklingsmaskin på IP 172.16.115.136 och utvecklingen Sinatra server lyssnar på port 5000, så min skiss inställningar är:
#define HW_ID "123"
#define hemsida "172.16.115.136:5000"
#define webbsida "/get_message/"
Denna IP-adress är tillgänglig endast för enheter i mitt hemnätverk.
Inställningen HW_ID representerar "Maskinvaru-ID", det vill säga det ID som Arduino kontroll DMD kommer att identifiera sig för Sinatra ansökan. Det är en mycket grundläggande typ av autentisering. Webbprogrammet kommer att överlämna ett meddelande till en Arduino begär det baserat på den angivna HW_ID. Du kan ha flera enheter med samma HW_ID, då alla enheter visas samma meddelande. Om du vill "sekretess", valde ett ID med massor av slumpmässiga tecken som andra människor inte kommer att kunna gissa. Också se upp, ingen kommunikation är krypterad.
Nu gå vidare och start din Sinatra app, skriv detta (förutsatt att du är i mappen Sinatra projektet):
ruby web.rb
... och du kommer se något sådant (vissa detaljer kan variera, så länge som detta inte kraschar, du är ok):
10:42:18 web.1 | började med pid 49119
10:42:18 web.1 | Puma 2.8.1 startar...
10:42:18 web.1 | * Min trådar: 0, max trådar: 16
10:42:18 web.1 | * Miljö: utveckling
10:42:18 web.1 | * Lyssna på tcp://0.0.0.0:5000
Peka din webbläsare till den plats som servern lyssnar på och ser du här (se andra bifogad fil).
Ladda upp din skiss till Arduino, kontrollera att den är ansluten till det lokala nätverket. Om allt går väl, kommer Arduino avsöker din webbtjänst en gång i minuten. Ge det ett meddelande att Visa: I fältet HW skriver i samma ID du angav för HW_ID konstanten i skissen. Skriv något i den "Ditt meddelande" fältet och markera kryssrutan "Buzz?".
Skicka, vänta en minut och se ditt meddelande i DMD!