#include <ArduinoWebsockets.h>
#include <WiFi.h>
const char* ssid = "Wokwi-GUEST"; // Enter SSID
const char* password = ""; // Enter Password
const char* websockets_server = "wss://free.blr2.piesocket.com/v3/1?api_key=wPkUfcDQDFkpZCiVA74SOKUEVL5ZfsXqXs3eubto¬ify_self=1"; //server adress and port
using namespace websockets;
void onMessageCallback(WebsocketsMessage message) {
Serial.print("Got Message: ");
Serial.println(message.data());
}
void onEventsCallback(WebsocketsEvent event, String data) {
if(event == WebsocketsEvent::ConnectionOpened) {
Serial.println("Connnection Opened");
} else if(event == WebsocketsEvent::ConnectionClosed) {
Serial.println("Connnection Closed");
} else if(event == WebsocketsEvent::GotPing) {
Serial.println("Got a Ping!");
} else if(event == WebsocketsEvent::GotPong) {
Serial.println("Got a Pong!");
}
}
WebsocketsClient client;
void connectToWiFi() {
Serial.println("Connecting to WiFi...");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting...");
}
Serial.println("Connected to WiFi");
}
void setup() {
Serial.begin(9600);
connectToWiFi();
// run callback when messages are received
client.onMessage(onMessageCallback);
// run callback when events are occuring
client.onEvent(onEventsCallback);
// Connect to server
client.connect(websockets_server);
// Send a message
bool connected = client.connect(websockets_server);
if(connected) {
Serial.println("Connected!");
client.send("Hello Server");
} else {
Serial.println("Not Connected!");
}
client.ping();
}
void loop() {
client.poll();
}