Você está na página 1de 3

C�DIGOS QUE N�O DERAM CERTO

//printf("GET /update?key=KVIBGCA5EQTV9HZZ&field1=%d&field2=
%d\r\n\0",intUmidade,intTemperatura);
//printf("GET /update?key=KVIBGCA5EQTV9HZZ&field1=%d",intUmidade);
//printf("&field2=%d\r\n\0",intTemperatura);
//sprintf(Texto,"GET /update?key=KVIBGCA5EQTV9HZZ&field1=%d&field2=
%d\r\n\0",intUmidade,intTemperatura);
//puts(Texto);
//puts("GET /update?key=KVIBGCA5EQTV9HZZ&field1=7&field2=10\r\n\0");
//printf("GET /update?key=KVIBGCA5EQTV9HZZ&field1=%d&field2=
%dHTTP/1.1\r\n\0",intUmidade,intTemperatura);
//puts("GET /update?
key=KVIBGCA5EQTV9HZZ&field1="+intUmidade+"&field2="+intTemperatura+"\r\n\0");
//printf("GET /update?key=KVIBGCA5EQTV9HZZ&field1=%d&field2=
%d\r\n\0",intUmidade,IntTemperatura);
//sprintf(buffer,"&field1=%d&field2=%d\r\n\0",intUmidade,intTemperatura);
//printf("GET /update?key=1FRK9AGB96JKCWJG%s\r\n\r\n\0",buffer);
//printf("GET /update?key=1FRK9AGB96JKCWJG&field1=%d&field2=
%d\r\n",intUmidade,intTemperatura);
//printf("GET /update?key=1FRK9AGB96JKCWJG&field1=%d&field2=
%d\r\n\0",intUmidade,intTemperatura);
//printf("GET /update?key=1FRK9AGB96JKCWJG&field1=%d&field2=
%d\r\n\r\n",intUmidade,intTemperatura);
//puts("GET /update?key=1FRK9AGB96JKCWJG&field1=7\r\n\0");
//puts("GET /update?key=1FRK9AGB96JKCWJG&field1=7&field2=10\r\n\0");
//puts("GET /update?
key=1FRK9AGB96JKCWJG&field1=1&field2=2&status=greevy\r\n\0");

#fuses NOMCLR INTRC_IO


setup_oscillator(OSC_8MHZ);

#include <18F4550.h>
#use
delay(clock=8000000) //
Informa ao complilador que o clock ser� de 8MHz
#fuses INTRC, PUT,
NOPROTECT // INTRC: Utiliza o
clock interno

// PUT: Faz com que o programa comece 72ms ap�s ser iniciado

19:24:40
// NOPROTECT: Permite reprogramar o PIC e enxergar o c�digo

#BYTE OSCCON = 0xFd3

long TempoEntreUploadThingSpeak =
0; // Vari�vel que controla o tempo
entre os envios de dados
char FlagEnviaDados = 0;
#INT_TIMER1
// Tratamento da interrup��o do Timer1
void Timer1()
{
/*==================================================== Valores do Timer para
8MHz ============================================================
Clock de 8000000/4 = 2000000; Prescaler = 4; Per�odo =
1/(2000000/4) = 1/500000 = 2us
65536*2us = 0,131072
65536 - 0,131072s
x - 0,1s

x = 50000
valor a ser inicializado no Timer 1 =
65536 - 50000 = 15536

===================================================================================
=========================================================*/

TempoEntreUploadThingSpeak+
+; // Incrementa a vari�vel do
tempo entre uploads

// Contabiliza o tempo de envio do dado ao thingspeak


if (TempoEntreUploadThingSpeak >=
300) // Verifica se o tempo � igual a 30s
FlagEnviaDados =
1; // Se 1, autoriza o envio
dos dados

set_timer1(15536); //
Configura timer para 0,1s e reinicia a interrup��o
}
void
main() //
Programa principal
{
//setup_oscillator(OSC_8MHZ);
OSCCON =
0x72; // Configura o
clock para 8MHz

// Habilita todas as interru��es


enable_interrupts(GLOBAL);

// Habilita a interrup��o da porta serial


enable_interrupts(INT_RDA);

// Configura Timer1
setup_timer_1(T1_INTERNAL|
T1_DIV_BY_4); // Configura��o do Timer1 para
clock interno, prescaler 8

set_timer1(15536); //
Carrega o timer1 com valor para 0,1s

enable_interrupts(INT_TIMER1); //
Habilita a interup��o do timer1

// Inicializa, configura e conecta ESP8266 ao roteador

puts("AT+CWMODE=1\r\n\0"); //
Configura o ESP8266 para operar em modo esta��o (cliente)

delay_ms(500); //
Delay para configurar

puts("AT+CWJAP=\"GDESTE@2.4\",\"(GcEm)2@17W1f1.\"\r\n\0"); // Nome
e senha da rede, respectivamente

delay_ms(7000); //
Delay para conectar

puts("AT+CIPMUX=1\r\n\0"); //
Configura o ESP8266 para operar com multiplas conex�es

delay_ms(500); //
Delay para configurar

while(1) //
Loop infinito
{
if ((FlagEnviaDados == 1)&&(FlagDHT11==1)) //
Verifica se pode enviar os dados
{

output_toggle(LED); // Liga o
LED

puts("AT+CIPSTART=4,\"TCP\",\"184.106.153.149\",80\r\n\0"); //
Configura o ESP8266 para operar com 4 conexoes, usando TCP,

// e informa IP do ThingSpeak e porta

delay_ms(5000); // Delay
para configurar

puts("AT+CIPSEND=4,46\r\n\0"); // 46 � o
tamanho do comando get (incluindo o \r\n\0)

delay_ms(500); // Delay
para configurar
// Envia a chave e os dados para o ThingSpeak
printf("GET /update?key=EZR89UBCDP1ZTAWV&field1=%d%d&field2=%d%d\r\n\0",
intUmidade, decUmidade, intTemperatura, decTemperatura);
TempoEntreUploadThingSpeak =
0; // Zera o flag para verificar a
contagem de 30s para enviar os dados
FlagEnviaDados =
0; // Zera o flag que autoriza
o envio dos dados

output_toggle(LED); // Apaga o
LED
}
}
}