سلام
من چندتا ماژول nodemcu دارم و میخوام با ماژول nRf24l01+ بین اونا یسری داده رد و بدل کنم
مشکل اینه که داده من به صورت یه استراکچر هست که سایزش حدودا 52 بایت هست ولی با ماژول nRF نمیشه بیشتر از 32 بایت رو ارسال کرد !
هرچی هم سرچ کردم نتیجه درستی پیدا نکردم ، چه پیشنهادی میدین ؟
تشکر
نمونه استراکچر :
کد PHP:
struct fullData{
unsigned long ttime;
String data1;
String data2;
String data3;
String data4;
}sndData,recData;
من این روش رو هم تست کردم ولی جواب نگرفتم :
کد های فرستنده :
کد PHP:
[LEFT]
void sendOverRadio(){
char data[sizeof(sndData)];
memcpy(data, &sndData, sizeof(sndData));
radio.stopListening();
int z = 0;
for(int i= 0 ; i<2 ; i++){
char dt[32];
dt[0] = i;
for(int j =1 ; j<32;j++){
dt[j]=data[z];
z +=1;
}
radio.write(&dt , sizeof(dt));
}
radio.startListening();
}
[/LEFT]
کد های گیرنده :
کد PHP:
[LEFT]
char data[sizeof(recData)];
void loop(){
if(radio.available()){
Serial.println("Radio Available...");
char dt[32];
while (radio.available()){
radio.read(&dt, sizeof(dt));
}
if(dt[0]==0){
memset(data, 0, sizeof(data));
memcpy(data, &dt[1], 32);
}else if(dt[0]==1){
memcpy(&data[32], &dt[1], 32);
memcpy(&recData, data, sizeof(recData));
}
}
}
[/LEFT]