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 />

425<br />

Dois arrays de caracteres são criados, para armazenar a mensagem que será twittada<br />

e a mensagem que você mostrará na janela do monitor serial.<br />

char message[140], serialString[60];<br />

Agora, você cria algumas funções. A primeira serve para obter as temperaturas dos<br />

dois sensores e armazená-las em suas variáveis.<br />

void getTemperatures() {<br />

itempC = sensors.getTempC(insideThermometer);<br />

itempF = DallasTemperature::toFahrenheit(itempC);<br />

etempC = sensors.getTempC(outsideThermometer);<br />

etempF = DallasTemperature::toFahrenheit(etempC);<br />

}<br />

Em seguida, temos a função que fará os tweets para você. Ela requer um parâmetro:<br />

o array de caracteres que contém a sua mensagem.<br />

void tweet(char msg[]) {<br />

Informamos ao usuário que você está tentando se conectar:<br />

Serial.println("connecting ...");<br />

Depois, você utiliza o método post() do objeto twitter para enviar a mensagem. Se o<br />

post der certo, a função retorna true. Se ele falhar ao tentar se conectar, ela retorna false.<br />

if (twitter.post(msg)) {<br />

Se você conseguir se conectar, verifique o status do post utilizando o método wait().<br />

Isso retorna o código de status HTTP presente na resposta vinda do Twitter:<br />

int status = twitter.wait();<br />

Caso o código de status seja 200, essa é a forma do código HTTP dizer que está tudo<br />

o.k. Em outras palavras, se o tweet foi enviado corretamente, o código dentro do<br />

bloco será executado.<br />

if (status == 200) {<br />

Se a condição for verdadeira, você informa ao usuário:<br />

Serial.println("OK. Tweet sent.");<br />

Serial.println();<br />

Então, definimos lastTime com o valor atual de millis(), para que você possa determinar<br />

quanto tempo transcorreu desde o último tweet:<br />

lastTime = millis();<br />

Na primeira vez que um tweet ocorre com sucesso, você deseja que o programa saia<br />

do loop while, da rotina de inicialização, e avance para o loop principal, por isso você<br />

define a flag firstTweet como false.<br />

firstTweet = false;

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

Saved successfully!

Ooh no, something went wrong!