Ir ao conteúdo

Posts recomendados

Postado
1 hora atrás, lucianolcoa disse:

Qual seria o limite de tempo? desconheco

 

Então, eu nunca usei esse tipo de serviço, mas já vi algo a respeito, no caso do site que eu vi, cada envio não podia ter um intervalo menor que 5 segundos se não me engano. Entra no site que está te oferecendo o serviço, lá deve ter essa informação, caso você não consiga obtê-la, coloca um tempo grande entre cada envio e depois vai diminuindo, vai ser cansativo, mas dá pra conseguir descobrir por tentativa e erro.

Postado
2 horas atrás, ViniciusKruz disse:

 

Acho que é hábito hehehe, realmente é muito baixa. Os equipamentos que trabalho aqui vêm todos como padrão em 9600 e já tive muitos problemas ao passar para velocidades mais altas, fica muito suscetível .a interferência.

adicionado 9 minutos depois

 

Seguem as rotinas:



#define EEPROM_END 0x57 //(A1,A2 e A3 abertos na plaquinha)


void i2c_eeprom_escrita(unsigned int end_memoria, byte valor)
{
 Wire.beginTransmission(EEPROM_END);
 Wire.write((int)(end_memoria >> 8));   // MSB
 Wire.write((int)(end_memoria & 0xFF)); // LSB
 Wire.write(valor);
 Wire.endTransmission();
 delay(10);
}

byte i2c_eeprom_leitura(unsigned int end_memoria)
{
 byte rdata = 0xFF;
 
 Wire.beginTransmission(EEPROM_END);
 Wire.write((int)(end_memoria >> 8));   // MSB
 Wire.write((int)(end_memoria & 0xFF)); // LSB
 Wire.endTransmission();
 
 Wire.requestFrom(EEPROM_END,1);
 
 if (Wire.available()) rdata = Wire.read();
 return rdata; 
 
}

/////rotinas do RTC DS3231

void setDS3231time(byte second, byte minute, byte hour, byte dayOfWeek, byte
dayOfMonth, byte month, byte year)
{
  // sets time and date data to DS3231
  Wire.beginTransmission(DS3231_I2C_ADDRESS);
  Wire.write(0); // set next input to start at the seconds register
  Wire.write(decToBcd(second)); // set seconds
  Wire.write(decToBcd(minute)); // set minutes
  Wire.write(decToBcd(hour)); // set hours
  Wire.write(decToBcd(dayOfWeek)); // set day of week (1=Sunday, 7=Saturday)
  Wire.write(decToBcd(dayOfMonth)); // set date (1 to 31)
  Wire.write(decToBcd(month)); // set month
  Wire.write(decToBcd(year)); // set year (0 to 99)
  Wire.endTransmission();
}

void readDS3231time(){
  Wire.beginTransmission(DS3231_I2C_ADDRESS);
  Wire.write(0); // set DS3231 register pointer to 00h
  Wire.endTransmission();
  Wire.requestFrom(DS3231_I2C_ADDRESS, 7);
  // request seven bytes of data from DS3231 starting from register 00h
  intSegundo = bcdToDec(Wire.read() & 0x7f);
  intMinuto = bcdToDec(Wire.read());
  intHora = bcdToDec(Wire.read() & 0x3f);
  intDiasemana = bcdToDec(Wire.read());
  intDia = bcdToDec(Wire.read());
  intMes = bcdToDec(Wire.read());
  intAno = bcdToDec(Wire.read());
}

// Convert normal decimal numbers to binary coded decimal
byte decToBcd(byte val)
{
  return( (val/10*16) + (val%10) );
}

// Convert binary coded decimal to normal decimal numbers
byte bcdToDec(byte val)
{
  return( (val/16*10) + (val%16) );
}

 

adicionado 10 minutos depois

@lucianolcoa  Você está obedecendo o limite de tempo entre cada envio exigido pelo site?

Qual seria o limite do site?meu refresh dei de 20 em 20 segundos.

Postado

@ViniciusKruz

Chegou meio tarde, já estava com a minha rotina de escrita e leitura na EEPROM AT24C32 (adaptei de um site que vendia  a plaquinha com o DS3231 e a AT24C32, fornecendo as rotinas de acesso), o bom é que a EEPROM suporta até 1 milhão de escritas (muito mais que as 10 mil do Flash do ESP8266), foi fácil portar do EEPROM virtual para a real (fácil demais). Agora tenho que pensar numa tela para o Browser (HTML) com os links para acertar e/ou calibrar o DS3231, uma tela com vários botões ativos.

 

A minha rotina exemplo está ficando enorme, 1369 linhas, e ainda vai crescer bem mais.  Neste caso, para fins de entendimento, talvez seja melhor pensar em criar algumas bibliotecas de funções, eu começo e ter problemas para programar no Arduino IDE com um programa com muitas linhas, fica ruim andar para frente e para trás, começo a gastar muito tempo navegando dentro do programa. Vou ter dar um jeito de botar o Eclipse para funcionar com o ESP8266.

  • Curtir 1
  • Membro VIP
Postado
5 horas atrás, Intrudera6 disse:

A minha rotina exemplo está ficando enorme, 1369 linhas, e ainda vai crescer bem mais.  Neste caso, para fins de entendimento, talvez seja melhor pensar em criar algumas bibliotecas de funções, eu começo e ter problemas para programar no Arduino IDE com um programa com muitas linhas, fica ruim andar para frente e para trás, começo a gastar muito tempo navegando dentro do programa. Vou ter dar um jeito de botar o Eclipse para funcionar com o ESP8266.

 

Por favor, explique esse comparativo melhor. Como seria num e noutro ambiente?

Postado

Não conheço o Eclipse, mas pelo que eu já li e vi em fóruns ele tem muitas ferramentas para ajudar na programação, como formas de marcar pontos do código para poder voltar facilmente entre outros recursos, e a IDE do Arduino é crua demais, não tem nada que nos auxilie, isto diminuí bastante a eficiência.

  • Curtir 1
Postado

@Intrudera6 O Eclipse creio eu que vá ajudar somente nas edições porque tenho quase certeza de que na hora de compilar, vai usar o mesmo sistema do Arduíno, ou seja, vai demorar do mesmo jeito, posso estar enganado, mas de qualquer forma, se ajudar na edição, já vai ser um grande avanço.

Postado

@ViniciusKruz

O meu problema é na edição, poder marcar pontos de retorno e ter a informação das variáveis e rotinas me ajudaria muito no desenvolvimento melhorando a velocidade na programação (O Visual Studio tinha tudo isso, mas não deu certo comigo). Li em algum lugar que o Eclipse permite distribuir as tarefas da compilação por vários núcleos (o que a IDE do Arduino não permite), imagino que isto deve dar uma boa acelerada na compilação, mas isto não é o que me incomoda mais, e a compilação fica bem mais rápida na IDE do Arduino depois da primeira compilação até você fechar o programa (sempre a primeira vez é muito demorada).

  • Curtir 1
Postado

A velocidade ta mais na  construção do arquivo hexadecimal do que a compilação propiamente dito. Lembrando que cada vez que voce grava um arquivo na IDE do arduino voce esta gravando um novo firmware no NODE. Não sei por que fizeram desse jeito, mas tenho minhas duvidas. O nodemcu aguenta mesmo ficar reebotando ele direto?E por que a gravação do firmware na IDE do arduino é tão demorada? Por essas questoes e mais outras que eu levanto a hipotese de terem feito uma baita gambiarra para programar o sujeito de maneira diferente da do seu campo original(LUA).

  • Curtir 1
Postado

@aphawk 

 

Você ja usou o comando Sleep? ou alguem aqui ja usou? pelo que entendi do interpretador ESPbasic você define o tempo que irá dormir em segundos? e após esse tempo ele "acorda" ? é isso, não tem como acordar por uma interrupção de um pino por exemplo?

Pelo que entendi também ele perde a conexão wifi certo?  

 

Pelo que entendi essa função seria para quando a alimentação provier de baterias? seria isso?

 

Estranho.. pois digamos que eu tenha um sensor de proximidade e precise ler se algo está perto do ESP (uma coisa qualquer) eu nao poderia usufruir dessa função pra economizar bateria certo?  Ou é a conexão wifi que consome a maior parte da energia? e seria possivel habilitar a conexão wifi somente quando precisasse enviar algum dado?

Postado
20 minutos atrás, rodrigocirilo disse:

@aphawk 

 

Você ja usou o comando Sleep? ou alguem aqui ja usou? pelo que entendi do interpretador ESPbasic você define o tempo que irá dormir em segundos? e após esse tempo ele "acorda" ? é isso, não tem como acordar por uma interrupção de um pino por exemplo?

Pelo que entendi também ele perde a conexão wifi certo?  

 

Pelo que entendi essa função seria para quando a alimentação provier de baterias? seria isso?

 

Estranho.. pois digamos que eu tenha um sensor de proximidade e precise ler se algo está perto do ESP (uma coisa qualquer) eu nao poderia usufruir dessa função pra economizar bateria certo?  Ou é a conexão wifi que consome a maior parte da energia? e seria possivel habilitar a conexão wifi somente quando precisasse enviar algum dado?

O comando sleep não seria aquele do php? Ou a linguagem php vem implementada no esp basic? A respeito de sua duvida o Aphawk postou um código de como fazer o esp se logar sozinho LoL, não entendi a logica que ele implementou mas sendo ele não há duvidas que fumfa... Talvez voce possa usar o comando sleep e incorporar esse código em especifico dele ao seu para unir o "util" ao "agradavel".

Postado

@rodrigocirilo ,

 

Não, ainda não usei isso. Pelo que eu lí, só funciona se você ligar dois pinos juntos do ESP, e é o modo que simplesmente desliga tudo durante o tempo programado, perdendo a conexão wi-fi, e depois quando volta ele refaz a conexão.

Se tivesse todos os 4 modos de sleep ia ser uma belezinha .... quem sabe no futuro ....

 

É para uso com baterias, sim. O que mais consome energia é o envio de dados por wi-fi. Mesmo assim, se você usa outros sensores I2C, o correto seria programar o sensor também para baixo consumo.

 

Paulo

 

Postado

@aphawk

 

Então para uma aplicação que tivesse que ficar lendo algum sensor e transmitindo a cada 10 seg por exemplo sem chance de usar com bateria hehehe...

 

To fazendo varios testes aqui.. e tenho ido bem... o que está sendo um pouco difícil é a formatação da tela web. poucos exemplos ainda..

 

A proiposito, não sei se você viu no forum espbasic, o mmiscool disse que a proxima versão (não sei do que hehe)  vai sair com a possibilidade de setar as portas de comunicação a serem usadas.. ao saimos da maldita 81.. ele disse que estava upando a nova versão.. mas nao sei onde vai sair..

  • Curtir 1
Postado
12 minutos atrás, rodrigocirilo disse:

@aphawk

 

Então para uma aplicação que tivesse que ficar lendo algum sensor e transmitindo a cada 10 seg por exemplo sem chance de usar com bateria hehehe...

 

To fazendo varios testes aqui.. e tenho ido bem... o que está sendo um pouco difícil é a formatação da tela web. poucos exemplos ainda..

 

A proiposito, não sei se você viu no forum espbasic, o mmiscool disse que a proxima versão (não sei do que hehe)  vai sair com a possibilidade de setar as portas de comunicação a serem usadas.. ao saimos da maldita 81.. ele disse que estava upando a nova versão.. mas nao sei onde vai sair..

Pessoal, vocês que manjam, existem outros tipos de sensores tipo o DHT11 que sejem compativeis com o espbasic? Na engenharia de mandar a informaçao por binário dos dados do sensor? se tiver seria uma maravilha não depender tanto da porta analogica A0, e outra, tem algum exemplo de 2 sensores no protocolo I2c do espbasic?

Postado

Pessoal,

 

Sei que tem gente aqui que é bom em C e estou precisando de ajuda (pergunta de principiante) com um trecho do meu código. Estou precisando passar uma variável String para a rotina abaixo ( entrada por ponteiro, byte* data ).

 

Como eu faço para passar uma variável do tipo String (são muitas strings que eu tenho que  gravar)?

 

Será que é possível que esta rotina possa aceitar tipos diferentes de ponteiro além do de variável do tipo byte ?

 

Tem como eu fazer uma rotina que aceite todos os tipos de variáveis (String, char, float, int, long, matriz, vetores e etc.) ?

 

// WARNING: address is a page address, 6-bit end will wrap around
// also, data can be maximum of about 30 bytes, because the Wire library has a buffer of 32 bytes
void i2c_eeprom_write_page( int deviceaddress, unsigned int eeaddresspage, byte* data, byte length ) {
  Wire.beginTransmission(deviceaddress);
  Wire.write((int)(eeaddresspage >> 8)); // MSB
  Wire.write((int)(eeaddresspage & 0xFF)); // LSB
  byte c;
  for ( c = 0; c < length; c++)
    Wire.write(data[c]);
  Wire.endTransmission();
}

 

  • Membro VIP
Postado
Em 04/10/2016 às 13:12, aphawk disse:

@_xyko_ ,

 

Primeiro configure o se ESP, entre em Settings,e acerte o nome de sua rede WIFI, a senha de acesso, e coloque um endereço de IP de dentro de sua rede mesmo....

 

Paulo

@aphawk ou quem puder ajudar...desculpem minha total ignorância quando se trata de redes.

Estava ocupado e só pude recomeçar agora com o ESP.

Onde configuro e faço o setting?

----

Estou fazendo um projeto de copiador da FLASH 25Q80, 25Q16 e 25Q32 (1MB, 2MB, 4MB respectivamente) para fazer backups ou para produção de algum produto baseado no ESP8266 sem a necessidade de ter que programar através do ESP8266.

No desenvolvimento, estou usando o arduino uno e BascomAVR.

Pra isso estou retirando 1 deles de uma placa original pra copiar e guardar o BIN.

Quando tiver 100% concluído, posto aqui.

  • Curtir 1
Postado

@_xyko_ Quando você alimenta o ESP ele aparecerá no seu celular ou notebook como ESP + MAC ai voce se coneta a ele. o IP que vem padrão é 192.168.4.1 e digitando esse IP no navegador irá abrir a tela do ESPBASIC, se nao aparecer um menu, voce digita o IP/settings e ai deve abrir a tela de setings de rede. Ai pode configura-lo pra se conectar no seu roteador, colocando login e senha da sua rede, ou fazer ele criar uma rede.

 

E para programar IP/edit

  • Curtir 1
Postado

@aphawk O seu programa do post #326 dos slides que controlam os pwm´s(RGB).. testei aqui e percebi que enquanto ficar clicado no slide (variando o valor) mesmo tendo o timer chamando a função que seta o valor a cada 500ms ele não atualiza. só atualiza o valor quando solta-se o botão slide. Teria uma maneira de fazer isso em tempo real, digo conforme vai atuando no slide ja vai setando o pino com o valor!!

Postado

Pessoal é so comigo ou mais alguem trava quando usa o thingspeak??? tentei usar o thingspeak mas ele trava o nodemcu. Da erro de String e numero. E outra, como faço pra imprimir a função wprint htmlvar? tem que setar o valor com let valor? pois eu tentei assim e o valor não atualizava no refresh.

adicionado 26 minutos depois

Pessoal outra duvida, como faz pra usar o esp8266basic com o servidor smtp2go? vi o exemplo do Aphawk, mas pelo que entendi tem que cadastrar neah?

Postado

@rodrigocirilo ,

 

Poxa .... acho que aí você já tá querendo inventar muito kkkkkkk !

 

Enquanto você não soltar o clique, é como se você não tivesse feito nada. Acho que não tem como mudar isso...

 

 

@lucianolcoa ,

 

Tanto o Thingspeak como o SMTP2GO tem de se cadastrar.

 

Eu já usei duas vezes o ThingSpeak sem nenhum problema, só tive de criar os canais, mais nada. Trate tudo como string nele que vai funcionar certinho.

 

Esquece o uso de LET, eu estou usando tudo sem ele.

 

Sobre o wprint htmlvar, tem de ver os exemplos que o pessoal postou lá no Fórum. É meio complicado, pois envolve conhecimento de HTML e CSS. Um dos programas que eu postei usa ele, dá uma olhadinha nele.

 

Paulo

 

 

 

 

  • Curtir 1
Postado

@aphawk  é que pra uma aplicação RGB (principalmente se fosse via smartfone), seria interessante ir alterando o slide e ja ir apresentando o brilho nos LED`s sem precisar soltar o botão slide...

 

Mas quem sabe em uma proxima versão ele faça essa atualização, acho possível pois no app inventor quando você usa esse slide, ele tem tipo um interrupção que roda a cada mudança do valor do slide.

  • Membro VIP
Postado
45 minutos atrás, aphawk disse:

@lucianolcoaEnquanto você não soltar o clique, é como se você não tivesse feito nada. Acho que não tem como mudar isso...

 

Não me detive ao circuito, mas é interessante que segurar alguns botões, caso esteja projetado "errado", é como fazer um curto.

Postado
57 minutos atrás, rodrigocirilo disse:

@aphawk  é que pra uma aplicação RGB (principalmente se fosse via smartfone), seria interessante ir alterando o slide e ja ir apresentando o brilho nos LED`s sem precisar soltar o botão slide...

 

Mas quem sabe em uma proxima versão ele faça essa atualização, acho possível pois no app inventor quando você usa esse slide, ele tem tipo um interrupção que roda a cada mudança do valor do slide.

 

Não espere nada desse tipo nas próximas versões.

 

O tamanho do troço está crescendo muito, está ficando pesado usar a linguagem do Arduíno para isso.

 

Seria melhor fazer um compilador Basic em vez de manter o interpretador...

 

Paulo

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!