i want to transfer data from one wifi module to another wifi module making one Sender another receiver.
With help of your forum i have written code in sender side
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
WiFiUDP UDP;
const char *ssid = "ESP";
const char *password = "8266";
const uint16_t UDP_LOCAL_PORT = 8050;
const uint16_t UDP_REMOTE_PORT = 8051;
const char UDP_REMOTE_HOST[] = "receiver";
char TRIGGER_STRING[] = "somestring";
void setup() {
// put your setup code here, to run once:
pinMode(2, OUTPUT);
Serial.begin(115200);
delay(10);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
Serial.println("PROGRAM: starting UDP");
if (UDP.begin(UDP_LOCAL_PORT) == 1)
{
Serial.println("PROGRAM: UDP started");
}
else
{
Serial.println("PROGRAM: UDP not started");
}
}
void loop() {
// put your main code here, to run repeatedly:
pinMode(2, LOW);
delay(1000);
Serial.println("PROGRAM: sending trigger");
UDP.beginPacket(UDP_REMOTE_HOST, UDP_REMOTE_PORT);
UDP.write(TRIGGER_STRING);
UDP.endPacket();
pinMode(2, HIGH);
delay(1000);
}
at receiver side code
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
WiFiUDP UDP;
const char *ssid = "ESP";
const char *password = "8266";
const uint16_t UDP_LOCAL_PORT = 8051; // Must match UDP_REMOTE_PORT on sender
char TRIGGER_STRING[] = "somestring"; // Must match TRIGGER_STRING on sender
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
delay(10);
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
Serial.println("IP address: ");
Serial.println(WiFi.localIP());
Serial.println("PROGRAM: starting UDP");
if (UDP.begin(UDP_LOCAL_PORT) == 1)
{
Serial.println("PROGRAM: UDP started");
}
else
{
Serial.println("PROGRAM: UDP not started");
}
}
void loop() {
// put your main code here, to run repeatedly:
char packetBuffer[UDP_TX_PACKET_MAX_SIZE]; // buffer to hold incoming packet,
int packetSize = UDP.parsePacket();
if (packetSize > 0)
{
Serial.print("PROGRAM: received UDP packet of size ");
Serial.println(packetSize);
Serial.print("PROGRAM: from ");
IPAddress remote = UDP.remoteIP();
for (int i = 0; i < 4; i++)
{
Serial.print(remote[i], DEC);
if (i < 3)
{
Serial.print(".");
}
}
Serial.print(", port ");
Serial.println(UDP.remotePort());
UDP.read(packetBuffer, UDP_TX_PACKET_MAX_SIZE);
Serial.print("PROGRAM: contents: ");
Serial.println(packetBuffer);
if (strncmp(packetBuffer, TRIGGER_STRING, strlen(TRIGGER_STRING)) == 0)
{
Serial.println("PROGRAM: trigger received");
// DO YOUR STUFF HERE
}
delay(10);
}
}
BUT in receiver monitor showing
WiFi connected
IP address:
192.168.4.2
PROGRAM: starting UDP
PROGRAM: UDP started
Exception (28):
epc1=0x4000deea epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000001 depc=0x00000000
ctx: sys
sp: 3ffffd60 end: 3fffffb0 offset: 01a0
>>>stack>>>
3fffff00: 00000000 00000000 00000020 40101612
3fffff10: 40211b89 0260f973 3ffe8ac4 00000000
3fffff20: 40209c3f 3ffeb4c0 3ffec720 3fff028c
3fffff30: 00000000 3fff02bc 4020447f 3ffe8ac4
3fffff40: 3ffede90 00000000 3ffeb4ca 00000001
3fffff50: 00000040 3ffe8ac4 3fff0704 3ffeb4b4
3fffff60: 00000000 0000002c 40204ee6 3ffec720
3fffff70: 3ffeb4b4 3fffdcc0 3ffe8d98 3ffe8d98
3fffff80: 3ffeb4d0 00000040 00000000 3ffee5a0
3fffff90: 4020482b 3fffdab0 00000000 40202d5f
3fffffa0: 3ffe8d98 40000f49 3fffdab0 40000f49
<<<stack<<<
ets Jan 8 2013,rst cause:2, boot mode:(3,6)
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v09f0c112
~ld
þ
PLEASE HELP ME