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&)'



*********************************************************************************************************************
Obrigado a todos que me ajudaram. O que resolveu o problema da não compilação foi o que o nosso amigo José Cintra orientou para fazer as conversões. Depois ele estava compilando, porém estava dando reset (soft wdt). O que eu fiz foi reescrever o código de novo, já que meu code final era a junção de 3 códigos que havia escrito. Fui fazendo por partes e compilando e testando. No fim deu certo. Obrigado mais uma vez família.

Exibições: 2807

Anexos

Responder esta

Respostas a este tópico

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]

Anexos

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!

Anexos

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.

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço