30-09-2018, 13:42
(Ten post był ostatnio modyfikowany: 21-10-2018, 11:40 przez CEO.
Powód edycji: proszę używać znaczników [code]!
)
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.
A tu fragment kodu którym chcę odebrać dane z 1 esp.
Będe niezmiernie wdzięczny za pomoc.
Pozdrawiam Piotr
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.
Kod:
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.
Kod:
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