Webbanslutning till Spark Core IOT sensorer (4 / 4 steg)
Steg 4: att lära sig mer och anpassa
JavaScript-kod
Koden är tungt dokumenterad. Om du har någon erfarenhet av webbutveckling (HTML) och JavaScript bör du kunna följa med kommentarer. Den mer komplexa koden hålls i sparkio-client-lib.
Spark Core Firmware
Denna kod dokumenteras också tungt. Du kommer att vara rätt hemma om du har gjort Arduino utveckling i förflutnan.
Spark core dokumentation är awesome för firmware och API sida.
Detta är en Web App och kommer att köras på nästan allt
Om du har en server att placera filer bara kopiera index.html och sparkio-client.js filer till din server och peka din webbläsare där. Om du inte har en server, kan du försöka använda brevlådemapp eller Google Drive. Jag har gjort detta arbete bra med brevlådemapp men hade problem med Google Drive.
Lifehacker har en artikel som visar hur du använder brevlådemapp för att servera sidor. Detta fungerade för mig.
Anpassa din app.
Första skulle kunna ansluta en sensor eller något till kontroll din Spark kärna. Spark IDE innehåller massor av bibliotek för att läsa sensorer som temperatur och kontrollera saker som servon. Efter din kärna är läsa och kontrollera saker, kan du lägga till kod för att publicera sensordata som variabler och funktioner som ska användas för att styra saker. Sedan kan du anpassa filen index.html för att läsa dessa variabler och kallar dessa funktioner.
Säkerhet
En sak att tänka med enheter som denna... du vill behålla din enhet ID och tillgång token hemlighet. Inte sätta dessa värderingar i din java-script filer som någon kan bara se källan till få dem. Kanske inte en stor sak om enheten mäter bara temperaturen någonstans, men om din kontrollera din garageport eller något annat...
Du kommer att frestas att placera dessa långa koder i din kod så att du inte behöver ange dem varje gång du kör app. Om du gör det, rekommenderar jag att du placerar din app i en lösenordsskyddad katalog på servern.
Ett annat alternativ vore att använda lokal lagring så att du bara måste skriva in dem en gång på varje enhet du lastat app på. Detta är den hållning jag planerar, det är bara lite komplicerat för ett första demo program.
Det finns många alternativ att hantera säkerhet, för hem projekt du behöver inte oroa dig för mycket, men för produktion produkter är det ett allvarligt problem.
Min Core
På bilden här ser du min gnista Core i sin nuvarande konfiguration. Jag har en FTDI kabel som används för serial debug data och att driva kärnan. Jag har också en 4XAA batteriet så jag kan lämna det någonstans för att ta avläsningar. Batteripaketet är setup för att läsas på en ADC-ingång så jag kan se hur den gör. Jag finner detta setup fungerar utmärkt för inledande forskning och jag kunde göra en instructable om det om det finns intresse. Låt mig veta i kommentarerna om du vill att...