Проверить ленту на наличие обновлений

Я создал канал thingspeak (канал), который отслеживает Twitter API потоковой передачи. Моя лента обновляется после отправки нового твита с заданными критериями соответствия. Я работаю над написанием эскиза Arduino, который устанавливает высокий уровень на выводе 13 на одну секунду, когда мой канал получает обновлено. У меня есть рабочий запрос GET, но я не знаю, как проанализировать канал и проверить чтобы увидеть, получил ли он новое обновление.

В качестве отправной точки я использую скетч, предоставленный Thingspeak, который был разработан для проверки их фида на наличие обновлений, извлечения ключевого слова из твита и изменения цвета подсветки на основе этого ключевого слова. Я изменил большую часть эскиза, удалив из оригинала детали, связанные с библиотекой освещения GE. Моя проблема заключается в понимании того, что нужно проверить в моем цикле. Вот эскиз, над которым я работал: http://pastebin.com/NP13A2Ht.


person Justjoe    schedule 26.07.2012    source источник


Ответы (1)


Внутри вашего цикла у вас есть следующее:

if (client.available()) {
    char c = client.read();
    Serial.print(c);
}

Это раздел кода, который считывает ответ от ThingSpeak.

Вы можете использовать цикл «пока», чтобы прочитать больше символов, а затем проверить строку на наличие ключевого слова, используя «indexOf».

Вот пример кода:

if(client.available() > 0)
{  
    delay(100); 

    String response;
    char charIn;

    do {
        charIn = client.read(); // read a char from the buffer
        response += charIn; // append that char to the string response
    } while (client.available() > 0); 

    // Check the string if it contains the word "test"
    if (response.indexOf("test") > 0)
    {  
        // Do something!
    }
}
person iohans    schedule 13.03.2013