08.11.2017 Views

arduino_básico_Michael_McRoberts

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

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

423<br />

while (firstTweet) {<br />

sprintf(message, "Int. Temp: %d C (%d F) Ext. Temp: %d C (%d F). Tweeted from Arduino. %ld",<br />

int(itempC), int(itempF), int(etempC), int(etempF), millis());<br />

tweet(message);<br />

}<br />

}<br />

void loop() {<br />

EthernetDHCP.maintain();<br />

sensors.requestTemperatures();<br />

// compila a string a ser impressa no monitor serial<br />

sprintf(serialString, "Internal Temp: %d C %d F. External Temp: %d C %d F", int(itempC),<br />

int(itempF), int(etempC), int(etempF));<br />

delay(500);<br />

Serial.println(serialString);<br />

Serial.println();<br />

if (millis() >= (lastTime + interval)) {<br />

// compila a string a ser twittada<br />

sprintf(message, "Int. Temp: %d C (%d F) Ext. Temp: %d C (%d F). Tweeted from Arduino.<br />

%ld", int(itempC), int(itempF), int(etempC), int(etempF), millis()); tweet(message);<br />

}<br />

delay(10000); // 10 segundos<br />

}<br />

Depois do upload do código para seu Arduino, abra a janela do monitor serial. O<br />

Arduino tentará se conectar ao Twitter (na verdade, ao site de NeoCat) e enviar o<br />

tweet. Se isso der certo, a saída no monitor serial será semelhante a esta:<br />

connecting ...<br />

OK. Tweet sent.<br />

Internal Temp: 26 C 79 F. External Temp: 26 C 79 F<br />

Internal Temp: 26 C 79 F. External Temp: 26 C 79 F<br />

Internal Temp: 26 C 79 F. External Temp: 26 C 79 F<br />

Quando o programa for executado pela primeira vez, ele obterá a temperatura e continuará<br />

tentando se conectar ao Twitter na rotina de inicialização, antes de avançar para<br />

o loop principal. Esse processo continuará até que a conexão ocorra. Se o programa<br />

não conseguir se conectar, você receberá um código de falha 403, ou uma mensagem<br />

de falha de conexão. Se o tweet der certo, o código não twittará novamente, até que o<br />

período de intervalo tenha transcorrido. Por padrão, esse intervalo é definido como<br />

dez minutos, mas você pode alterá-lo. O Twitter limita um máximo de 350 solicitações<br />

por hora, por isso não exagere. Agora você pode acessar o site do Twitter e visualizar<br />

sua conta onde quer que esteja, conferindo as leituras de temperatura.<br />

Vejamos como esse código funciona.

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

Saved successfully!

Ooh no, something went wrong!