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

415<br />

Além de outro array de caracteres, que declaramos e inicializamos, para armazenar<br />

o assunto do e-mail:<br />

char subject[] = "ARDUINO: TEMPERATURE ALERT!!\0";<br />

Como você não deseja bombardear o usuário com mensagens seguidas quando os<br />

limites tiverem sido excedidos, deve armazenar o tempo em que o último e-mail foi<br />

enviado. Esse dado será armazenado em um inteiro não sinalizado, lastMessage:<br />

unsigned long lastMessage;<br />

Depois, preparamos as instâncias do sensor, acompanhadas do endereço dele:<br />

OneWire oneWire(ONE_WIRE_BUS);<br />

DallasTemperature sensors(&oneWire);<br />

DeviceAddress insideThermometer = { 0x10, 0x7A, 0x3B, 0xA9, 0x01, 0x08, 0x00, 0xBF };<br />

Definimos também os endereços MAC e IP do shield Ethernet:<br />

byte mac[] = { 0x64, 0xB9, 0xE8, 0xC3, 0xC7, 0xE2 };<br />

byte ip[] = { 192,168,0, 105 };<br />

Depois, você define o endereço IP de seu servidor SMTP de e-mails. Aqui, você deve<br />

incluir o endereço apropriado ao seu caso, ou o código não funcionará:<br />

byte server[] = { 62, 234, 219, 95 };<br />

Uma instância client é criada, e você passa a ela o endereço do servidor, além do<br />

número de porta 25. Caso seu servidor SMTP esteja utilizando uma porta diferente,<br />

altere esse dado como necessário:<br />

Client client(server, 25);<br />

Em seguida, você tem a primeira de suas funções, responsável por enviar o e-mail<br />

ao servidor. Ela requer quatro parâmetros: o assunto do e-mail, a primeira linha da<br />

mensagem, a segunda linha da mensagem e, por fim, a temperatura.<br />

void sendEmail(char subject[], char message1[], char message2[], float temp) {<br />

Você informa ao usuário que está tentando se conectar:<br />

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

Depois, verifica se o cliente se conectou. Se afirmativo, executamos o código do bloco<br />

if:<br />

if (client.connect()) {<br />

Primeiramente, o usuário é informado de que você se conectou ao cliente. O cliente,<br />

nesse caso, é seu servidor SMTP de e-mail:<br />

Serial.println("connected");

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

Saved successfully!

Ooh no, something went wrong!