Klockan LED Transit - aldrig missa bussen igen! (8 / 9 steg)
Steg 8: kod
Följande prenumerera metod register en motringning som kallas gotBusData till våra webhook.
Particle.subscribe ("krok-svar/bus_info", gotBusData, MY_DEVICES);
I gotBusData callback-funktionen försöker vi att extrahera relevant information och skriva ut strängen till balk.
void gotBusData (const char * name, const char * data) {
String str = String(data);
String leaveStr = tryExtractString (str, "", "");
String destinationStr = tryExtractString (str, "", "");
String countdownStr = tryExtractString (str, "", "");
String routeStr = tryExtractString (str, "", "");
om (routeStr! = NULL) {
Serial.println ("Route nr:" + routeStr);
}
om (destinationStr! = NULL) {
Serial.println ("kommer att:" + destinationStr);
}
om (countdownStr! = NULL) {
Serial.println ("lämnar i:" + countdownStr + String("Mins"));
}
om (routeStr! = NULL) {
String beamString = sträng (routeStr + "" + destinationStr + "" + countdownStr + "Minuter");
beamString.toUpperCase();
Serial.println(beamString);
char buf [1024];
beamString.toCharArray (buf, 1024);
b.BEGIN();
b.Print(BUF);
b.setSpeed(5);
b.Play();
}
}
I ovanstående funktion används följande rader att "skriva ut" text till balk:
b.BEGIN();
b.Print(BUF);
b.setSpeed(5);
b.Play();
Slutligen, vi kallar metoden publicera i våra huvudloop var 30 sekunder. Detta är att vi inte når våra gränsvärdet för de dagliga API-anrop tillåts.
Particle.publish("bus_info");
Delay(30000);