Skip to content

Instantly share code, notes, and snippets.

@jshaw
Created November 23, 2015 19:31
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jshaw/09857e3eeca5e1cd58f2 to your computer and use it in GitHub Desktop.
Save jshaw/09857e3eeca5e1cd58f2 to your computer and use it in GitHub Desktop.
photon_subscribe_example
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