Go Down

Topic: NODEMCU no recibe el String completo que envío desde un Arduino Nano (Read 95 times) previous topic - next topic

linitara

Hola!
Estoy realizando un proyecto para un cultivo hidropónico.
Tengo un NODEMCU y un Arduino Nano, el Arduino Nano lee 6 sensores, guarda 7 valores y los guarda en un String, este string lo envia al NodeMCU por I2C.

El NODEMCU tambien tiene aparte otros sensores que son por I2C (3 sensores), adicional mide un MQ135 y controla un modulo de 2 relés.

 Cuando envio el String  con 5 valores del Nano al Node, el Node los reconoce sin problema, pero cuando pongo 2 valores mas ya no me reconoce el String que se envía.
 :smiley-confuse:

surbyte

Primer detalle. En el programa esclavo defines

Code: [Select]
sensorstring.toCharArray(sensorstring_array, 30);

y en el nodemcu defines

Code: [Select]
char sensorstring_array[27];

lees

Code: [Select]
datos.toCharArray(sensorstring_array,28);

y todos deberían estar a 30.

Asi que comienza emparejando eso.

Luego quieta en el esclavo
Code: [Select]
SoftwareSerial myserial(rx, tx);                      //define how the soft serial port is going to work

que no usas y consume 120 bytes.

No se si lo resolverá pero estaremos cerca.

Lucario448

pero cuando pongo 2 valores mas ya no me reconoce el String que se envía.
Deberías considerar enviar cada dato en "forma binaria". El buffer de Wire es de apenas 32 bytes/caracteres (a menos que para los NodeMCU lo hayan agrandado); enviar más de eso en una sola vez quizá dé problemas.

"Forma binaria" no quiere decir literalmente enviar '0' y '1'; sino que, por ejemplo, enviar grupos de 4 bytes que son los que representan un valor float.

Go Up