En Facebook-ansluten, Arduino-Powered Music Party (3 / 5 steg)
Steg 3: Ansluta till Internet med WiFly
Vi måste nu skicka ut tagg-ID på servern så att den kan hålla reda på vem lyssnar på musik på varje enhet. Vi skrev en Arduino bibliotek att göra webbförfrågningar mycket, mycket lättare att vi kommer att använda. Du kan hitta all kod du behöver här och vi ska förklara koden rad för rad nedan. Om du inte vill läsa förklaringen, se bara till att du ändrar autentiseringsinformationen nätverk så WiFly kan ansluta till din internet.Vi har gjort några tillägg till den tidigare RFIDEN läsa koden. Låt oss ta en titt på de nya tilläggen överst i filen:
#include < WiFlyHQ.h >
#include < Lifegraph.h >
WiFi seriell anslutning
SoftwareSerial wifiSerial(9,10);
API som vi använder för att tala med internet
JSONAPI api;
/ * Ändra dessa för att matcha ditt WiFi-nätverk * /
CONST char mySSID [] = "YOUR_NETWORK_NAME";
CONST char mittlösenord [] = "YOUR_NETWORK_PASSWORD";
Den mottagande servern som hanterar vår begäran
CONST char värd [] = "musicparty.herokuapp.com";
Unikt ID för denna musik Streaming enheten
char deviceId [] = "YOUR_OWN_DEVICE_ID_HERE";
Vi lagt till den WiFlyHQ och Lifegraph biblioteken för att ansluta till internet lättare. WiFly modul måste ha en seriell port för kommunikation med Arduino som vi skapar på stift 9 och 10. Sedan initiera vi en JSON API (del av Lifegraph bibliotek) som sveper upp HTTP samtal till några enkla metoder. Vi erbjuder sedan våra nätverksreferenser så att WiFly kan ansluta. Värden är vår egen musik parts servrar som hanterar all http-trafik. Den sista raden definierar deviceId som du kan göra upp. Det bestämmer URL-adressen till din musik fest så ju mer unik du gör det, den mindre troligt slumpmässiga personer kommer att ansluta till din musik fest.
Nu låt oss ta en titt på den nya koden i setup-funktionen:
wifiSerial.begin(9600);
Serial.println ("ansluta WiFly...");
Konfigurera nätverksanslutningen.
om (! connectWifi (& wifiSerial, mySSID, mittlösenord)) {
Serial.println ("kunde inte ansluta till nätverk.");
} annat {
Serial.println ("Förenade wifi nätverk.");
}
Skapa ett objekt för att skicka http-begäranden
API: t = JSONAPI (host, "", LIFEGRAPH_BUFFER, LIFEGRAPH_BUFFER_SIZE);
I denna kod segmentet, vi ställer in WiFly seriell kommunikation och ansluta till WiFi. Sedan skapar vi ett API objekt för att hantera våra HTTP-begäranden till musik part servrar.
Nu låt oss titta på förutom looping koden:
Börja använda wifi följetongen så vi kan skickade en begäran
wifiSerial.listen();
Skicka nästa inlägg till tap slutpunkten
API.post("/Tap");
Lägga till enheten Idparam
API.form ("enhets-ID", deviceId);
Konvertera pId från uint8_t till en röding så servern kan förstå det.
Lifegraph.stringifyTag (pId, pIdLength, pIdString);
Lägg till pId param
API.form ("pId", pIdString);
Skicka ansökan och får svar
int svar = api.request();
Skriva ut svaret
Serial.println ("svaret från servern:" + String(response));
om (svar == 404 || svar == 406) {
Serial.println F ("gå till lifegraphconnect.com till sync enhet").
}
annars om (svar == 200 || svar == 0) {
Serial.Print F ("gå till http://musicparty.herokuapp.com/").
Serial.Print(deviceId);
Serial.println(F("/Party"));
}
När vi fått en framgångsrik kran från NFC/RFID-enheter, börja vi kommunicera med WiFI styrelsen i stället för RFID-styrelsen (wifiSerial.listen()). Vi Ställ sedan slutpunkten ska vi slå (som kommer alltid vara "/ Knacka på") och lägga till deviceId som en parameter för begäran. Sedan konvertera vi vår pId från en mängd uint_8 som ser ut som sopor när du skriver ut det, till tecken med metoden stringifyTag. Slutligen, vi skickar begäran och kolla svaret.
Lägga koden på din Arduino, öppna upp seriell övervaka och kontrollera att du skickar en begäran framgångsrikt. Det bör skriva ut ungefär så här:
Anslutande WiFly... Gick med wifi-nätverk. Begär Firmware Version att kontrollera comm fungerar... Hittade Version Data. Comm arbetar. Väntar på en RFID kort... Fick ett tag! Längd: 4, ID: 0x88 0x04 0x16 0x34 Öppna musicparty.herokuapp.com 80 Serversvar: 404 Gå till lifegraphconnect.com till sync anordning
Bra, nu är du klar att synkronisera ditt digitala och fysiska IDs!