mirror of
https://github.com/Links2004/arduinoWebSockets.git
synced 2025-07-13 07:16:31 +02:00
@ -32,6 +32,7 @@ a WebSocket Server and Client for Arduino based on RFC6455.
|
|||||||
- ATmega328 with enc28j60 (ATmega branch)
|
- ATmega328 with enc28j60 (ATmega branch)
|
||||||
- ATmega2560 with Ethernet Shield (ATmega branch)
|
- ATmega2560 with Ethernet Shield (ATmega branch)
|
||||||
- ATmega2560 with enc28j60 (ATmega branch)
|
- ATmega2560 with enc28j60 (ATmega branch)
|
||||||
|
- Arduino UNO [R4 WiFi](https://github.com/arduino/ArduinoCore-renesas)
|
||||||
|
|
||||||
###### Note: ######
|
###### Note: ######
|
||||||
|
|
||||||
|
@ -0,0 +1,109 @@
|
|||||||
|
#include <Arduino.h>
|
||||||
|
#include <stdarg.h>
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
#include "WiFiS3.h"
|
||||||
|
#include <WebSocketsClient.h>
|
||||||
|
|
||||||
|
#define WIFI_SSID ""
|
||||||
|
#define WIFI_PASS ""
|
||||||
|
|
||||||
|
WebSocketsClient webSocket;
|
||||||
|
|
||||||
|
void webSocketEvent(WStype_t type, uint8_t *payload, size_t length) {
|
||||||
|
|
||||||
|
switch (type) {
|
||||||
|
case WStype_DISCONNECTED:
|
||||||
|
Serial.println("[WSc] Disconnected!");
|
||||||
|
break;
|
||||||
|
case WStype_CONNECTED:
|
||||||
|
Serial.println("[WSc] Connected!");
|
||||||
|
|
||||||
|
// send message to server when Connected
|
||||||
|
webSocket.sendTXT("Connected");
|
||||||
|
break;
|
||||||
|
case WStype_TEXT:
|
||||||
|
Serial.print("[WSc] get text:");
|
||||||
|
Serial.println((char *)payload);
|
||||||
|
|
||||||
|
// send message to server
|
||||||
|
// webSocket.sendTXT("message here");
|
||||||
|
break;
|
||||||
|
case WStype_BIN:
|
||||||
|
// send data to server
|
||||||
|
// webSocket.sendBIN(payload, length);
|
||||||
|
break;
|
||||||
|
case WStype_ERROR:
|
||||||
|
case WStype_FRAGMENT_TEXT_START:
|
||||||
|
case WStype_FRAGMENT_BIN_START:
|
||||||
|
case WStype_FRAGMENT:
|
||||||
|
case WStype_FRAGMENT_FIN:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
Serial.begin(115200);
|
||||||
|
|
||||||
|
while (!Serial) {
|
||||||
|
; // wait for serial port to connect. Needed for native USB port only
|
||||||
|
}
|
||||||
|
|
||||||
|
Serial.println();
|
||||||
|
Serial.println();
|
||||||
|
Serial.println();
|
||||||
|
|
||||||
|
for (uint8_t t = 4; t > 0; t--) {
|
||||||
|
Serial.println("[SETUP] BOOT WAIT ...");
|
||||||
|
Serial.flush();
|
||||||
|
delay(1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
// check for the WiFi module:
|
||||||
|
if (WiFi.status() == WL_NO_MODULE) {
|
||||||
|
Serial.println("Communication with WiFi module failed!");
|
||||||
|
// don't continue
|
||||||
|
while (true)
|
||||||
|
;
|
||||||
|
}
|
||||||
|
|
||||||
|
String fv = WiFi.firmwareVersion();
|
||||||
|
if (fv < WIFI_FIRMWARE_LATEST_VERSION) {
|
||||||
|
Serial.println("Please upgrade the firmware");
|
||||||
|
}
|
||||||
|
|
||||||
|
Serial.println("[Wifi]: Connecting");
|
||||||
|
|
||||||
|
int status = WL_IDLE_STATUS;
|
||||||
|
|
||||||
|
// attempt to connect to WiFi network:
|
||||||
|
while (status != WL_CONNECTED) {
|
||||||
|
Serial.print("[Wifi]: Attempting to connect to SSID: ");
|
||||||
|
Serial.println(WIFI_SSID);
|
||||||
|
|
||||||
|
// Connect to WPA/WPA2 network. Change this line if using open or WEP network:
|
||||||
|
status = WiFi.begin(WIFI_SSID, WIFI_PASS);
|
||||||
|
|
||||||
|
delay(1000);
|
||||||
|
}
|
||||||
|
|
||||||
|
Serial.println("Connected!");
|
||||||
|
|
||||||
|
// print your board's IP address:
|
||||||
|
IPAddress ip = WiFi.localIP();
|
||||||
|
Serial.print("IP Address: ");
|
||||||
|
Serial.println(ip);
|
||||||
|
|
||||||
|
// server address, port and URL
|
||||||
|
webSocket.begin("192.168.0.123", 8011);
|
||||||
|
|
||||||
|
// event handler
|
||||||
|
webSocket.onEvent(webSocketEvent);
|
||||||
|
|
||||||
|
// try ever 5000 again if connection has failed
|
||||||
|
webSocket.setReconnectInterval(5000);
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
webSocket.loop();
|
||||||
|
}
|
@ -16,10 +16,10 @@
|
|||||||
"keywords": "wifi, http, web, server, client, websocket",
|
"keywords": "wifi, http, web, server, client, websocket",
|
||||||
"license": "LGPL-2.1",
|
"license": "LGPL-2.1",
|
||||||
"name": "WebSockets",
|
"name": "WebSockets",
|
||||||
"platforms": "atmelavr, espressif8266, espressif32, raspberrypi",
|
"platforms": "atmelavr, espressif8266, espressif32, raspberrypi, renesas_uno",
|
||||||
"repository": {
|
"repository": {
|
||||||
"type": "git",
|
"type": "git",
|
||||||
"url": "https://github.com/Links2004/arduinoWebSockets.git"
|
"url": "https://github.com/Links2004/arduinoWebSockets.git"
|
||||||
},
|
},
|
||||||
"version": "2.4.2"
|
"version": "2.5.1"
|
||||||
}
|
}
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
name=WebSockets
|
name=WebSockets
|
||||||
version=2.4.2
|
version=2.5.1
|
||||||
author=Markus Sattler
|
author=Markus Sattler
|
||||||
maintainer=Markus Sattler
|
maintainer=Markus Sattler
|
||||||
sentence=WebSockets for Arduino (Server + Client)
|
sentence=WebSockets for Arduino (Server + Client)
|
||||||
|
@ -93,6 +93,12 @@
|
|||||||
#define WEBSOCKETS_YIELD() yield()
|
#define WEBSOCKETS_YIELD() yield()
|
||||||
#define WEBSOCKETS_YIELD_MORE() delay(1)
|
#define WEBSOCKETS_YIELD_MORE() delay(1)
|
||||||
|
|
||||||
|
#elif defined(ARDUINO_UNOWIFIR4)
|
||||||
|
|
||||||
|
#define WEBSOCKETS_MAX_DATA_SIZE (15 * 1024)
|
||||||
|
#define WEBSOCKETS_YIELD() yield()
|
||||||
|
#define WEBSOCKETS_YIELD_MORE() delay(1)
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
// atmega328p has only 2KB ram!
|
// atmega328p has only 2KB ram!
|
||||||
@ -114,6 +120,7 @@
|
|||||||
#define NETWORK_ESP32 (4)
|
#define NETWORK_ESP32 (4)
|
||||||
#define NETWORK_ESP32_ETH (5)
|
#define NETWORK_ESP32_ETH (5)
|
||||||
#define NETWORK_RP2040 (6)
|
#define NETWORK_RP2040 (6)
|
||||||
|
#define NETWORK_UNOWIFIR4 (7)
|
||||||
|
|
||||||
// max size of the WS Message Header
|
// max size of the WS Message Header
|
||||||
#define WEBSOCKETS_MAX_HEADER_SIZE (14)
|
#define WEBSOCKETS_MAX_HEADER_SIZE (14)
|
||||||
@ -132,6 +139,9 @@
|
|||||||
#elif defined(ARDUINO_ARCH_RP2040)
|
#elif defined(ARDUINO_ARCH_RP2040)
|
||||||
#define WEBSOCKETS_NETWORK_TYPE NETWORK_RP2040
|
#define WEBSOCKETS_NETWORK_TYPE NETWORK_RP2040
|
||||||
|
|
||||||
|
#elif defined(ARDUINO_UNOWIFIR4)
|
||||||
|
#define WEBSOCKETS_NETWORK_TYPE NETWORK_UNOWIFIR4
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#define WEBSOCKETS_NETWORK_TYPE NETWORK_W5100
|
#define WEBSOCKETS_NETWORK_TYPE NETWORK_W5100
|
||||||
|
|
||||||
@ -224,6 +234,13 @@
|
|||||||
#define WEBSOCKETS_NETWORK_SSL_CLASS WiFiClientSecure
|
#define WEBSOCKETS_NETWORK_SSL_CLASS WiFiClientSecure
|
||||||
#define WEBSOCKETS_NETWORK_SERVER_CLASS WiFiServer
|
#define WEBSOCKETS_NETWORK_SERVER_CLASS WiFiServer
|
||||||
|
|
||||||
|
#elif(WEBSOCKETS_NETWORK_TYPE == NETWORK_UNOWIFIR4)
|
||||||
|
|
||||||
|
#include <WiFiS3.h>
|
||||||
|
|
||||||
|
#define WEBSOCKETS_NETWORK_CLASS WiFiClient
|
||||||
|
#define WEBSOCKETS_NETWORK_SERVER_CLASS WiFiServer
|
||||||
|
|
||||||
#else
|
#else
|
||||||
#error "no network type selected!"
|
#error "no network type selected!"
|
||||||
#endif
|
#endif
|
||||||
|
@ -25,12 +25,12 @@
|
|||||||
#ifndef WEBSOCKETSVERSION_H_
|
#ifndef WEBSOCKETSVERSION_H_
|
||||||
#define WEBSOCKETSVERSION_H_
|
#define WEBSOCKETSVERSION_H_
|
||||||
|
|
||||||
#define WEBSOCKETS_VERSION "2.4.2"
|
#define WEBSOCKETS_VERSION "2.5.1"
|
||||||
|
|
||||||
#define WEBSOCKETS_VERSION_MAJOR 2
|
#define WEBSOCKETS_VERSION_MAJOR 2
|
||||||
#define WEBSOCKETS_VERSION_MINOR 4
|
#define WEBSOCKETS_VERSION_MINOR 5
|
||||||
#define WEBSOCKETS_VERSION_PATCH 2
|
#define WEBSOCKETS_VERSION_PATCH 1
|
||||||
|
|
||||||
#define WEBSOCKETS_VERSION_INT 2004002
|
#define WEBSOCKETS_VERSION_INT 2005001
|
||||||
|
|
||||||
#endif /* WEBSOCKETSVERSION_H_ */
|
#endif /* WEBSOCKETSVERSION_H_ */
|
||||||
|
Reference in New Issue
Block a user