2017-05-03 65 views
-1

我已經設置了我的Photon來控制一個neopixel,並且想要根據用戶通過SMS發送的參數更改顏色。獲取粒子光子和Twilio之間的webhook

我知道如何使用Twilio POST webhook(hook1Ask()下面的工作)發送我的手機短信到我的手機,但我無法找到任何有關通信的任何其他方式(GET webhook for SMS )。

我讀了particle docs on webhooks和Particle.subscribe,並且搜尋了互聯網上的任何答案,但到目前爲止,nada。

這裏是我的代碼:

//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"); 
 
}

回答

0

Twilio開發者傳道這裏。

我不確定自己是否在這裏,因爲我沒有使用過粒子,但似乎粒子術語中的「webhooks」是從粒子設備本身接收數據的粒子服務中的端點。

您可以通過Particle Cloud API向您的粒子進行外部API調用。這需要OAuth令牌進行身份驗證,因此您無法直接將Twilio SMS Webhook(an HTTP request that Twilio sends when it receives an SMS message)連接到API。但是,您可以構建一個小型Web服務器,該服務器接收Twilio webhooks,然後向您提供需要的詳細信息的Particle Cloud API的授權請求。

這有幫助嗎?

+0

謝謝澄清!我忘了關閉這個循環,但是我最終發現了它。 TLDR我創建了一個Twilio和Heroku的紅寶石應用程序,並使用粒子寶石讓它與我的光子很好地搭配。 以下是我使用的寶石寶石的細節,以防萬一任何人想看看:https://github.com/monkbroc/particlerb再次感謝! – MelissaP

+0

嘿@MelissaP,太棒了。我的回答是否足夠幫助您將其標記爲正確?如果你計劃一篇博客文章,我很想看看你是如何實現這一目標的呢? – philnash