Stap 11: Maken de web service-applicatie
Laten we de toepassing compileren en uitvoeren op uw ontwikkelingsmachine. Dan zullen wij de Arduino schets aansluiten bij dit exemplaar van de toepassing terwijl we testen aanpassen. Zodra we zijn tevreden dat alles goed werkt, we implementeren op de wolk en de schets voor het gebruik van de cloud-exemplaar bijwerken.
Hier is de Ruby code, allemaal in een enkel bestand met de naam "web.rb" (deze code is beschikbaar op Github).
Belangrijk: Download en lees het bijgevoegde PDF-bestand bevat gedetailleerde opmerkingen van de ingesloten (gelieve dit doen voordat u verdergaat!).
U kunt nu uw Home waarschuwingssysteem uitproberen. Veranderen de WEBSITE en webpagina constanten wijs uw ontwikkelingsmachine en poortnummer voor uw ontwikkeling Sinatra server in uw tekening. In mijn geval, ik heb een ontwikkelingsmachine op IP 172.16.115.136, en de ontwikkeling Sinatra-server luistert naar poort 5000, dus mijn schets instellingen zijn:
#define HW_ID "123"
#define WEBSITE "172.16.115.136:5000"
#define webpagina "/get_message/"
Dit IP-adres is toegankelijk alleen voor apparaten in mijn thuisnetwerk.
De instelling van de HW_ID vertegenwoordigt de "hardware-ID", dat wil zeggen de ID waarnaar de beheersing van de DMD Arduino zich bij de toepassing van Sinatra identificeert zal. Het is een zeer fundamentele vorm van verificatie. De webtoepassing zal overhandigen een bericht aan een Arduino vraagt om op basis van de verstrekte HW_ID. U kunt meerdere apparaten met de zelfde HW_ID, in welk geval alle apparaten hetzelfde bericht wordt weergegeven. Als u wilt "privacy", koos een ID met allerlei willekeurige tekens dat andere mensen zullen niet kunnen raden. Ook pas op, geen communicatie wordt gecodeerd.
Nu ga je gang en opstarten uw Sinatra-app, typ dit (veronderstellend bent u in de projectmap Sinatra):
Ruby web.rb
... en u ziet iets als dit (sommige details kunnen variëren, zolang dit geen crash, je ok):
10:42:18 web.1 | begon met pid 49119
10:42:18 web.1 | Puma 2.8.1 beginnen...
10:42:18 web.1 | * Min draden: 0, max draden: 16
10:42:18 web.1 | * Milieu: ontwikkeling
10:42:18 web.1 | * Luistert op tcp://0.0.0.0:5000
Ga met uw webbrowser naar de locatie waarnaar de server luistert, en je ziet dit (Zie tweede bijlage).
Uploaden van de schets aan de Arduino, controleert u of dat deze is aangesloten op uw lokale netwerk. Als alles goed gaat, zal de Arduino poll uw webservice eenmaal per minuut. Geef het een bericht om te laten zien: Typ In het veld code HW in dezelfde ID u hebt ingesteld voor de constante HW_ID in de schets. Typ niets in het veld "Uw bericht" en controleren het selectievakje "Buzz?".
Indienen, een ogenblikje wachten en zien uw bericht verschijnen in het DMD!