Komunikacja android & ESP

Zrobiłeś coś fajnego z wykorzystaniem Arduino? Pochwal się tym!
ODPOWIEDZ
PiotrMk71
Młodszy majsterkowicz
Posty: 1
Rejestracja: 30 wrz 2018, 13:10

Komunikacja android & ESP

Post autor: PiotrMk71 » 30 wrz 2018, 13:15

Dzień dobry, potrzebuję pomocy z kodem którego nie rozumiem co sposobu wysyłania danych do androida.
Kod z esp wysyła dane na androida i działa on znakomicie przesyła dane z czujników ds18b20. Alikacja do odbioru danych to Termik4Temp do pobrania z sklepu gplay.
Prócz tego chciał bym odebrać dane na drugim esp lecz nie bardzo wiem jak to zrobić.
Odbieram dane na drugim esp lecz wskazania są nie poprawne odczyt to 110 lub 50.
Poniżej fragment kodu satelity esp.

WiFiUDP Udp;

unsigned int localUdpPort = 12346;
char incomingPacket[255];
char replyPacekt[] = "Dokonano pomiaru temperatur :-)";


void setup()

{
Serial.begin(115200);
Serial.println();
wifi_init();
{
delay(500);
Serial.print(".");
}
Serial.println(" connected");

Udp.begin(localUdpPort);
Serial.printf("Now listening at IP %s, UDP port %d\n", WiFi.localIP().toString().c_str(), localUdpPort);
}


void loop()


{
int packetSize = Udp.parsePacket();
if (packetSize)
{
// receive incoming UDP packets

sensors.requestTemperatures();
Serial.printf("Received %d bytes from %s, port %d\n", packetSize, Udp.remoteIP().toString().c_str(), Udp.remotePort());
int len = Udp.read(incomingPacket, 255);
if (len > 0)
{
incomingPacket[len] = 0;
sensors.requestTemperatures();
delay(750);
}
Serial.printf("UDP packet contents: %s\n", incomingPacket);

float temp1;
temp1 = sensors.getTempCByIndex(0);
String Pomiar1;
Pomiar1=String(temp1, 1);
Serial.println(Pomiar1);

temp1 = sensors.getTempCByIndex(1);
String Pomiar2;
Pomiar2=String(temp1, 1);
Serial.println(Pomiar2);

temp1 = sensors.getTempCByIndex(2);
String Pomiar3;
Pomiar3=String(temp1, 1);
Serial.println(Pomiar3);

Udp.beginPacket(Udp.remoteIP(), Udp.remotePort());

String tempp1 ;

tempp1 += "n1=";
tempp1 += Pomiar1;
tempp1 += "x";
tempp1 += "n2=";
tempp1 += Pomiar2;
tempp1 += "x";
tempp1 += "n3=";
tempp1 += Pomiar3;
tempp1 += "x";


Udp.println(tempp1);

Udp.endPacket();
}
}

A tu fragment kodu którym chcę odebrać dane z 1 esp.

Client.begin(12346);

}

void loop()
{
const int port=80;
int i=0;

udpsend();

char serverack = Client.parsePacket();
Serial.println(serverack);
if (serverack)
{
tempp1=Client.read();
Serial.print("temperatura 1 : ");
Serial.println(tempp1);


delay(1000);
}
}

void udpsend()
{
const char ip[]="10.10.0.55";
Client.beginPacket(ip,12346);
Client.write(serdata);
Client.endPacket();
delay(1000);
return;
}

Będe niezmiernie wdzięczny za pomoc.
Pozdrawiam Piotr

Co miesiąc do wygrania nagrody o wartości ponad 1600 zł!


ODPOWIEDZ

Strony partnerskie: