Hello
I've been trying to get two duinotech-brand arduino Unos with WiFi (https://www.jaycar.com.au/uno-with-wi-fi/p/XC4411) to communicate with eachother on a basic level, by having one send a single character to the other
Long story short, it doesn't send the character
Reciever:
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
// Set AP credentials
#define AP_SSID "TheOtherESP"
#define AP_PASS "flashmeifyoucan"
// UDP
WiFiUDP UDP;
IPAddress local_IP(192,168,4,1);
IPAddress gateway(192,168,4,1);
IPAddress subnet(255,255,255,0);
String buffer = String();
//char bufferchar[UDP_TX_PACKET_MAX_SIZE];
//String storage;
#define UDP_PORT 4210
void setup() {
WiFi.config(192, 168, 4, 1);
// Setup serial port
Serial.begin(115200);
Serial.println();
// Begin Access Point
Serial.println("Starting access point...");
WiFi.softAPConfig(local_IP, gateway, subnet);
WiFi.softAP(AP_SSID, AP_PASS);
Serial.println(WiFi.localIP());
// Begin listening to UDP port
UDP.begin(UDP_PORT);
Serial.print("Listening on UDP port ");
Serial.println(UDP_PORT);
}
void loop() {
// Receive packet
/*
UDP.parsePacket();
UDP.read(bufferchar, UDP_TX_PACKET_MAX_SIZE);
buffer += bufferchar;
int len = le_buffer.length();
if (len == 13){
storage = buffer;
buffer = '?';
Serial.println(storage);
}
*/
UDP.parsePacket();
UDP.read(bufferchar, UDP_TX_PACKET_MAX_SIZE);
if(bufferchar=="k"){
Serial.println(bufferchar);
}
}
Sender:
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
// Set WiFi credentials
#define WIFI_SSID "TheOtherESP"
#define WIFI_PASS "flashmeifyoucan"
// UDP
WiFiUDP UDP;
IPAddress remote_IP(192, 0, 0, 0);
#define UDP_PORT 4210
void setup() {
// Setup serial port
Serial.begin(115200);
// Begin WiFi
WiFi.begin(WIFI_SSID, WIFI_PASS);
WiFi.mode(WIFI_STA);
// Connecting to WiFi...
Serial.print("Connecting to ");
Serial.print(WIFI_SSID);
// Loop continuously while WiFi is not connected
while (WiFi.status() != WL_CONNECTED)
{
delay(100);
Serial.print(".");
}
//hey we connect
Serial.println();
Serial.print("Connected! IP address: ");
Serial.println(WiFi.localIP());
// Begin UDP port
UDP.begin(UDP_PORT);
Serial.print("Opening UDP port ");
Serial.print(UDP_PORT);
}
void loop() {
// we send this
String transmit = Serial.readString();
// Send Packet
/*
for (int i=12; i>=0; i--){
char beingsent = transmit[i];
Serial.println(beingsent);
UDP.beginPacket(remote_IP, UDP_PORT);
UDP.print(beingsent);
UDP.endPacket();
}
*/
UDP.beginPacket(remote_IP, UDP_PORT);
UDP.print('k');
UDP.endPacket();
}
Thanks in advance