Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Serial Monitor Garbage datas #862

Open
zien08 opened this issue Jan 5, 2024 · 0 comments
Open

Serial Monitor Garbage datas #862

zien08 opened this issue Jan 5, 2024 · 0 comments

Comments

@zien08
Copy link

zien08 commented Jan 5, 2024

image

I am currently testing WebsockClientSocketIO from the latest library on my ESP8266. I only change the AP and Host on your example but whenever I try to check the Serial Monitor I get garbage data while using Baud Rate of 115200. Please Help

/*
WebSocketClientSocketIO.ino

Created on: 06.06.2016

*/

#include <Arduino.h>

#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>

#include <ArduinoJson.h>

#include <WebSocketsClient.h>
#include <SocketIOclient.h>

#include <Hash.h>

ESP8266WiFiMulti WiFiMulti;
SocketIOclient socketIO;

#define USE_SERIAL Serial1

void socketIOEvent(socketIOmessageType_t type, uint8_t * payload, size_t length) {
switch (type) {
case sIOtype_DISCONNECT:
USE_SERIAL.printf("[IOc] Disconnected!\n");
break;
case sIOtype_CONNECT:
USE_SERIAL.printf("[IOc] Connected to url: %s\n", payload);

  // join default namespace (no auto join in Socket.IO V3)
  socketIO.send(sIOtype_CONNECT, "/");
  break;
case sIOtype_EVENT:
  USE_SERIAL.printf("[IOc] get event: %s\n", payload);
  break;
case sIOtype_ACK:
  USE_SERIAL.printf("[IOc] get ack: %u\n", length);
  hexdump(payload, length);
  break;
case sIOtype_ERROR:
  USE_SERIAL.printf("[IOc] get error: %u\n", length);
  hexdump(payload, length);
  break;
case sIOtype_BINARY_EVENT:
  USE_SERIAL.printf("[IOc] get binary: %u\n", length);
  hexdump(payload, length);
  break;
case sIOtype_BINARY_ACK:
  USE_SERIAL.printf("[IOc] get binary ack: %u\n", length);
  hexdump(payload, length);
  break;

}
}

void setup() {
// USE_SERIAL.begin(921600);

USE_SERIAL.begin(115200);

//Serial.setDebugOutput(true);
USE_SERIAL.setDebugOutput(true);

USE_SERIAL.println();
USE_SERIAL.println();
USE_SERIAL.println();

for (uint8_t t = 4; t > 0; t--) {
USE_SERIAL.printf("[SETUP] BOOT WAIT %d...\n", t);
USE_SERIAL.flush();
delay(1000);
}

// disable AP
if (WiFi.getMode() & WIFI_AP) {
WiFi.softAPdisconnect(true);
}

WiFiMulti.addAP("***********", "**********************");

//WiFi.disconnect();
while (WiFiMulti.run() != WL_CONNECTED) {
delay(100);
}

String ip = WiFi.localIP().toString();
USE_SERIAL.printf("[SETUP] WiFi Connected %s\n", ip.c_str());

// server address, port and URL
socketIO.beginSSL("socket.*******.ph", 8000, "/socket.io/?EIO=4");

// event handler
socketIO.onEvent(socketIOEvent);
}

unsigned long messageTimestamp = 0;
void loop() {
socketIO.loop();

uint64_t now = millis();

if (now - messageTimestamp > 2000) {
messageTimestamp = now;

// creat JSON message for Socket.IO (event)
DynamicJsonDocument doc(1024);
JsonArray array = doc.to<JsonArray>();

// add evnet name
// Hint: socket.on('event_name', ....
array.add("event_name");

// add payload (parameters) for the event
JsonObject param1 = array.createNestedObject();
param1["now"] = (uint32_t) now;

// JSON to String (serializion)
String output;
serializeJson(doc, output);

// Send event
socketIO.sendEVENT(output);

// Print JSON for debugging
USE_SERIAL.println(output);

}
}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant