I want to simply send data from one MKR1000 to the other over wifi, both are connected to the same network, but sending the data is where I get stuck, I've looked through tuts everywhere but can't seem to find an answer.. can someone point me to a solution?
I've set up my devices using the tut https://www.arduino.cc/en/Tutorial/Wifi101WiFiChatServer but the devices don't communicate to each other they only take telnet from the host server(my laptops wifi hotspot)
-
You want one device as the server. The other needs to be a client that connects to the server.Majenko– Majenko2019年12月10日 14:30:38 +00:00Commented Dec 10, 2019 at 14:30
2 Answers 2
WiFiClient object wraps a TCP socket. A normal TCP socket is connected to IP address and port. WiFiServer starts a listening socket on a port. If server on listening socket is contacted by a remote client socket, it creates a local socket connected with the remote client socket on a free port and returns a WiFiClient object wrapping the socket. Everything you write or print to a WiFiClient is send to that one remote socket.
If one of your client boards creates a WiFiClient and connects it to IP address and port of the WiFiServer on your 'server' board, then you get there a WiFiClient from server.available() and this two WiFiClient objects are connected. What you write/print on one side you read only from the WiFiClient object on the other side.
client socket
if (client.connect(serverIP, PORT)) {
client.print("request\n");
String response = client.readStringUntil('\n');
Serial.println(response);
client.stop();
}
server side
WiFiClient client = server.available();
if (client && client.connected()) {
String request = client.readStringUntil('\n');
Serial.println(request);
client.print("response\n");
client.stop();
}
-
You led me to a good tut, sometimes the right google search helps, thanks for your responseJay.Smyth– Jay.Smyth2019年12月10日 15:27:18 +00:00Commented Dec 10, 2019 at 15:27
I found a tutorial that explains exactly what Majenko and Juraj explained, https://www.instructables.com/id/MKR1000-IoT-Clientserver-Communications/
the library code that the tutorial references is useful, the tutorial is useful to us learning communication