我已将 Photon 设置为控制 Neopixel,并希望根据用户通过短信发送的参数更改颜色。
我知道如何使用 Twilio POST webhook 将短信从我的粒子发送到我的手机(下面的
hook1Ask()
正在工作),但我在网上找不到任何有关相反通信的信息(GET webhook for SMS)。
我阅读了 webhooks 和 Particle.subscribe
上的粒子文档,并在互联网上搜索任何答案,但到目前为止,什么也没有。
这是我的代码:
//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");
}
这里是 Twilio 开发者布道者。
我不确定我是否在这里,因为我没有使用过粒子,但粒子术语中的“webhooks”似乎是粒子服务中从粒子设备本身接收数据的端点。
您可以通过 Particle Cloud API 对您的粒子进行外部 API 调用。这需要 OAuth 令牌进行身份验证,因此您无法将 Twilio SMS Webhook(Twilio 在收到 SMS 消息时发送的 HTTP 请求)直接连接到 API。但是,您可以构建一个小型 Web 服务器,该服务器接收 Twilio Webhooks,然后使用您想要的详细信息向 Particle Cloud API 发出授权请求。
这有帮助吗?