08.11.2017 Views

arduino_básico_Michael_McRoberts

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Capítulo 17 ■ Comunicação via Ethernet<br />

433<br />

}<br />

dataFlag = false;<br />

} else {<br />

// Adiciona um caractere à string<br />

str[strlen(str)] = ch;<br />

}<br />

// Função para verificar a tag atual de uma string específica<br />

boolean matchTag (char* searchTag) {<br />

if ( strcmp(tagStr, searchTag) == 0 ) {<br />

return true;<br />

} else {<br />

return false;<br />

}<br />

}<br />

Faça o upload do código e abra o monitor serial. Se tudo estiver funcionando corretamente,<br />

você terá uma saída semelhante a:<br />

Starting Weather RSS Reader<br />

connecting...<br />

connected<br />

TempF: 60.0, TempC: 15.4, Humidity: 100, Pressure: 29.96<br />

A cada 60 segundos, o display será atualizado com dados mais recentes. Vejamos<br />

como o código funciona.<br />

Projeto 50 – Leitor de RSS meteorológico – Análise do código<br />

O programa inicia incluindo as bibliotecas necessárias:<br />

#include <br />

#include <br />

Depois, você define o comprimento máximo da string de dados:<br />

#define MAX_STRING_LEN 20<br />

Pode ser necessário elevar esse número, caso você esteja solicitando mais informações<br />

do feed. Em seguida, você cria três arrays para armazenar as strings que serão<br />

processadas (as quais têm apenas o comprimento definido).<br />

char tagStr[MAX_STRING_LEN] = "";<br />

char dataStr[MAX_STRING_LEN] = "";<br />

char tmpStr[MAX_STRING_LEN] = "";<br />

Então, você cria outro array para armazenar as possíveis tags de término que podem<br />

ser encontradas em um feed XML:<br />

char endTag[3] = {'

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!