2017-05-03 13 views
-1

Ich habe meine Photon zur Steuerung eines Neopixels eingerichtet und möchte die Farbe anhand eines vom Benutzer per SMS gesendeten Parameters ändern.GET webhook zwischen Particle Photon und Twilio

Ich weiß, wie SMS von meinem Partikel zu meinem Telefon mit einem Twilio POST Webhaken (hook1Ask() unten funktioniert), aber ich kann nichts online über Kommunikation finden umgekehrt (GET Webhook für SMS).

Ich las die particle docs on webhooks und ParticleScribe, und durchforstete die Inter-Webs für jede Antwort, aber bis jetzt, nada.

Hier ist mein Code:

//States keep it from sending too many messages 
 
# define STATE_1 1 
 
# define STATE_2 2  
 
int state = 1; 
 

 
//Variables to keep things tidy 
 
String HOOK_1_ASK = "HOOK_1_ASK"; 
 
String HOOK_1_REPLY = "HOOK_1_REPLY"; 
 
String data = String(10); 
 

 
void setup() 
 
{ 
 
    Serial.begin(9600); 
 
    Particle.subscribe("HOOK_1_REPLY", myHandler); 
 
} 
 

 
void loop() 
 
{ 
 
    hook1Ask(); 
 
    delay(100); 
 
} 
 

 

 
//*************************************************** 
 
// Webhook event trigger 
 
//*************************************************** 
 

 
void hook1Ask(){ 
 
    if(state == 1){ 
 
    String data = "What's your favorite color? 1=Blue 2=Green 3=Something else"; 
 
    Particle.publish("HOOK_1_ASK", data, PRIVATE); 
 
    state = STATE_2; 
 
    } 
 

 
} 
 

 
//*************************************************** 
 
// myHandler for the subscribe event 
 
//*************************************************** 
 

 
int i = 0; 
 

 
void myHandler(const char *event, const char *data) 
 
{ 
 
    i++; 
 
    Serial.print(i); 
 
    Serial.print(event); 
 
    Serial.print(", data: "); 
 
    if (data) 
 
    Serial.println(data); 
 
    else 
 
    Serial.println("NULL"); 
 
}

Antwort

0

Twilio Entwickler Evangelist hier.

Ich bin mir nicht sicher, ob ich hier bin, da ich kein Particle verwendet habe, aber es scheint, dass "Webhooks" in Particle Terms Endpunkte im Particle-Dienst sind, die Daten vom Particle-Gerät selbst empfangen.

Sie können externe API-Aufrufe an Ihr Partikel über die Particle Cloud API vornehmen. Dies erfordert die Authentifizierung eines OAuth-Tokens, sodass Sie keinen Twilio SMS-Webhaken (an HTTP request that Twilio sends when it receives an SMS message) direkt an die API anschließen können. Sie könnten jedoch einen kleinen Webserver erstellen, der Twilio-Webhooks empfangen hat, und anschließend eine autorisierte Anfrage mit den gewünschten Details an die Particle Cloud-API senden.

Hilft das überhaupt?

+0

Danke für die Klärung! Ich habe vergessen, die Schleife hier zu schließen, aber ich habe es herausgefunden. TLDR Ich habe eine Ruby-App mit Twilio und Heroku erstellt und den Partikel-Edelstein verwendet, damit er gut mit meinem Photon spielt. Hier sind die Details zu dem Rubinstein, den ich für den Fall benutze, dass jemand einen Blick darauf werfen möchte: https://github.com/monkbroc/particlerb Nochmals vielen Dank! – MelissaP

+0

Hey @MelissaP, das ist großartig. Hat meine Antwort geholfen genug, dass Sie es als richtig markieren würden? Ich würde gerne darüber nachdenken, wie du das auch geschafft hast, wenn du vielleicht einen Blogpost planst? – philnash

Verwandte Themen