Olá pessoal, é o seguinte:
Estou tentando fazer uma integração entre ESP8266 e o soft processing. Essa integração eu já testei e funciona.
Agora estou recebendo três erros na ide do arduino na hora de compilar e gostaria da ajuda de você. se alguém ter conhecimento para sanar estes erros e me passar a dica, eu agradeço. Acho que são erros de conversão mas mesmo assim ainda não consegui resolver.
Os erros são:
C:\Users\usuário\Desktop\programas arduino\Projetos IOTech2017\Clovis\botaoWifi.v2\botaoWifi.v2.ino:143:39: note: candidate is:
In file included from C:\Users\usuário\Desktop\programas arduino\Projetos IOTech2017\Clovis\botaoWifi.v2\botaoWifi.v2.ino:4:0:
C:\Users\usuário\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFiMulti.h:55:14: note: bool ESP8266WiFiMulti::addAP(const char*, const char*)
bool addAP(const char* ssid, const char *passphrase = NULL);
^
C:\Users\usuário\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\libraries\ESP8266WiFi\src/ESP8266WiFiMulti.h:55:14: note: no known conversion for argument 1 from 'String' to 'const char*'
C:\Users\usuário\Desktop\programas arduino\Projetos IOTech2017\Clovis\botaoWifi.v2\botaoWifi.v2.ino: In function 'void loop()':
botaoWifi.v2:164: error: cannot convert 'String' to 'const uint16_t {aka const short unsigned int}' in initialization
botaoWifi.v2:165: error: cannot convert 'String' to 'const char*' in initialization
exit status 1
no matching function for call to 'ESP8266WiFiMulti::addAP(String&, String&)'
Tags:
Olá RH!
Não consegui compilar ainda aqui, mas veja um dos erros que descobri:
Você declarou um array de Strings:
String cofig[4];
E depois , na linha 164 e 165 são feitas as seguintes atribuições:
const uint16_t port = cofig[3];
const char * host = cofig[2]; // ip or dns
Acho que dá pra fazer assim:
const uint16_t port = cofig[3].toInt();
const char * host;
cofig[2].toCharArray(host,16); // ip or dns
16 é o tamanho máximo de host
Você pode tentar mudar também o tipo de cofig
Obrigado pelo retorno.
Fiz alguns reajuste e parece que melhorou. Aquele array de String eu mudeipara:
const char *cofig[3];
Pelo menos parou de dar o erro. Vou tentar o que você ´propos e vaos ver no que dá rs.
Ok.
Os comandos que te passei só vão funcionar se mantiver o array de Strings.
Depois vc avisa como foi...
Verdade... estou voltando os arrays de string.
Primeiramente agradeço a atenção e peço desculpa pela demora em retornar mas meu note é muito lento para compilar para esp.
Fiz as modificações que você sugeriu, agora o erro é outro:
C:\Users\usuário\Desktop\programas arduino\Projetos IOTech2017\Proteus_8_Professional_lnk\data\botaoWifi.v22222\botaoWifi.v22222.ino: In function 'void dadosConfig()':
botaoWifi.v22222:132: error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
In file included from C:\Users\usuário\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:243:0,
from sketch\botaoWifi.v22222.ino.cpp:1:
C:\Users\usuário\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/WString.h:207:14: error: initializing argument 1 of 'void String::toCharArray(char*, unsigned int, unsigned int) const' [-fpermissive]
void toCharArray(char *buf, unsigned int bufsize, unsigned int index = 0) const {
^
botaoWifi.v22222:133: error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
In file included from C:\Users\usuário\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:243:0,
from sketch\botaoWifi.v22222.ino.cpp:1:
C:\Users\usuário\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/WString.h:207:14: error: initializing argument 1 of 'void String::toCharArray(char*, unsigned int, unsigned int) const' [-fpermissive]
void toCharArray(char *buf, unsigned int bufsize, unsigned int index = 0) const {
^
C:\Users\usuário\Desktop\programas arduino\Projetos IOTech2017\Proteus_8_Professional_lnk\data\botaoWifi.v22222\botaoWifi.v22222.ino: In function 'void loop()':
botaoWifi.v22222:170: error: invalid conversion from 'const char*' to 'char*' [-fpermissive]
In file included from C:\Users\usuário\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/Arduino.h:243:0,
from sketch\botaoWifi.v22222.ino.cpp:1:
C:\Users\usuário\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.3.0\cores\esp8266/WString.h:207:14: error: initializing argument 1 of 'void String::toCharArray(char*, unsigned int, unsigned int) const' [-fpermissive]
void toCharArray(char *buf, unsigned int bufsize, unsigned int index = 0) const {
^
exit status 1
invalid conversion from 'const char*' to 'char*' [-fpermissive]
Vixe!
O problema agora é no comando toCharArray.
Ele precisa de um buffer para a variável host.
Ao invés de
const char * host;
Tem como você definir assim?
char host[16];
No lugar de 16 coloque o tamanho máximo dessa variável
Se possível, tire o const também.
Fiz o que você me disse e funcionou parcialmente. O code compila mas fica resetando toda hora. Eis o que aparece no terminal e o code em anexo!
RH, se o code compilou agora ficou mais difícil de pegar o erro.
Pode ser estouro de memória.
Qual o valor que está armazenado em host (servidor)? Ultrapassa 16 caracteres. Se sim, tente aumentar esse valor
Realmente foi uma das primeira coisa que pensei foi o estouro de memória, mas não sei...
O o valor armazenado em host é "192.168.1.2", os outros são menores. Se eu desabilito o wdt no setup, ele inicia e reseta segundos depois.
RH
Dê um print nas principais variáveis para ver se estão corretas e configure o host com o tamanho de 11 ( o tamanho exato, inclusive no toCharArray) só para testes.
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por