Lab_interaccio/2019/GIGANTES-MERCE/websocket-client/websocket-client.ino

74 lines
1.8 KiB
Arduino
Raw Normal View History

2025-02-25 21:29:42 +01:00
#include <WebSocketClient.h>
using namespace net;
# define _SERIAL Serial
byte mac[] = {
//0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0x01 // FEATHER 1
0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0x02 // FEATHER 2
};
//IPAddress ip(192, 168, 133, 2); // IP FEATHER1
//IPAddress outIp(192, 168, 133, 4); // PLAYER1
IPAddress ip(192, 168, 133, 6); // IP FEATHER2
IPAddress outIp(192, 168, 133, 8); // PLAYER2
unsigned int localPort = 8888; // local port to listen on
unsigned int destPort = 2345; // TO SET SENDING PORT PLAYER
WebSocketClient client;
WebSocket wsGlobal;
void setup() {
_SERIAL.begin(115200);
while (!_SERIAL);
_SERIAL.println(F("Initializing ... "));
Ethernet.begin(mac, ip);
_SERIAL.print(F("Device IP: "));
_SERIAL.println(Ethernet.localIP());
client.onOpen([](WebSocket &ws) {
_SERIAL.println(F("Connected"));
wsGlobal = ws;
char message[] = "Hello from Arduino client!";
ws.send(TEXT, message, strlen(message));
});
client.onMessage([](WebSocket &ws, WebSocketDataType dataType, const char *message, uint16_t length) {
switch (dataType) {
case TEXT:
_SERIAL.print(F("Received: ")); _SERIAL.println(message);
break;
case BINARY:
_SERIAL.println(F("Received binary data"));
break;
}
// echo back to server
ws.send(dataType, message, length);
});
client.onClose([](WebSocket &ws, const WebSocketCloseCode code, const char *reason, uint16_t length) {
_SERIAL.println(F("Disconnected\n"));
});
if (!client.open("192.168.133.8", 8080)) {
_SERIAL.println(F("Connection failed!"));
while (true) ;
}
}
void loop()
{
client.listen();
//char message[] = "Hello from Arduino client!"; // mensaje de cambi de escena
//wsGlobal.send(TEXT, message, strlen(message));
}