Created
November 23, 2015 19:31
-
-
Save jshaw/09857e3eeca5e1cd58f2 to your computer and use it in GitHub Desktop.
photon_subscribe_example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int ledPin = D2; | |
int ledPin7 = D7; | |
int newLike = 0; | |
int locationChange = 0; | |
int i = 0; | |
unsigned long previousTime; | |
int interval = 5000; | |
void myHandler(const char *event, const char *data) { | |
Serial.print("IN CALLBACK"); | |
i++; | |
Serial.print(i); | |
Serial.print(event); | |
Serial.print(", data: "); | |
if (data){ | |
Serial.println(data); | |
digitalWrite(ledPin7, HIGH); | |
newLike = 1; | |
}else{ | |
digitalWrite(ledPin7, LOW); | |
Serial.println("NULL"); | |
} | |
} | |
void myLocationHandler(const char *event, const char *data) { | |
Serial.print("Location CALLBACK"); | |
i++; | |
Serial.print(i); | |
Serial.print(event); | |
Serial.print(", data: "); | |
if (data){ | |
Serial.println(data); | |
digitalWrite(ledPin7, HIGH); | |
locationChange = 1; | |
}else{ | |
digitalWrite(ledPin7, LOW); | |
Serial.println("NULL"); | |
} | |
} | |
void myNewTweet(const char *event, const char *data) { | |
Serial.print("IN CALLBACK"); | |
i++; | |
Serial.print(i); | |
Serial.print(event); | |
Serial.print(", data: "); | |
if (data){ | |
Serial.println(data); | |
digitalWrite(ledPin7, HIGH); | |
newLike = 1; | |
}else{ | |
digitalWrite(ledPin7, LOW); | |
Serial.println("NULL"); | |
} | |
} | |
void setup() { | |
previousTime = millis(); | |
Serial.begin(9600); | |
pinMode(ledPin, OUTPUT); | |
pinMode(ledPin7, OUTPUT); | |
pinMode(A5, INPUT); | |
// digitalWrite(ledPin7, HIGH); | |
Particle.subscribe("enter_school", myLocationHandler); | |
Particle.subscribe("leave_home", myLocationHandler); | |
Particle.subscribe("enter_home", myLocationHandler); | |
Particle.subscribe("photo_like", myHandler); | |
Particle.subscribe("new_tweet", myNewTweet); | |
} | |
void loop() { | |
unsigned long currentTime = millis(); | |
if (currentTime - previousTime > interval){ | |
previousTime = currentTime; | |
digitalWrite(ledPin7, LOW); | |
digitalWrite(ledPin7, LOW); | |
newLike = 0; | |
} | |
if (locationChange == 1){ | |
Serial.print("Location Change:"); | |
Serial.println(locationChange); | |
} | |
if(newLike == 1){ | |
Serial.println("==============="); | |
Serial.print("NEW LIKE: "); | |
Serial.println(newLike); | |
} else { | |
Serial.println("==============="); | |
Serial.print("NO LIKE"); | |
} | |
delay(1000); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment