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

Ethernet2 #320

Open
wants to merge 12 commits into
base: ATmega
Choose a base branch
from
80 changes: 80 additions & 0 deletions examples/WebSocketClientEthernet2/WebSocketClient.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
/*
* WebSocketClient.ino
*
* Created on: 27.05.2018
*
*/
#include <Ethernet2.h>
#include <WebSocketsClient.h>
#include <Streaming.h>

WebSocketsClient webSocket;

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEF};
IPAddress ip(192, 168, 0, 110);
#define USE_SERIAL Serial

void webSocketEvent(WStype_t type, uint8_t * payload, size_t lenght) {


switch(type) {
case WStype_DISCONNECTED:
//USE_SERIAL.printf("[WSc] Disconnected!\n");
USE_SERIAL << "[WSc] Disconnected!" << endl;
break;
case WStype_CONNECTED:
{
//USE_SERIAL.printf("[WSc] Connected to url: %s\n", payload);
USE_SERIAL << "[WSc] Connected to url: " << (char*)payload << endl;
// send message to server when Connected
webSocket.sendTXT("Connected");
}
break;
case WStype_TEXT:
//USE_SERIAL.printf("[WSc] get text: %s\n", payload);
USE_SERIAL << "[WSc] get text: " << (char*)payload << endl;

// send message to server
// webSocket.sendTXT("message here");
break;
case WStype_BIN:
//USE_SERIAL.printf("[WSc] get binary lenght: %u\n", lenght);
USE_SERIAL << "[WSc] get binary lenght: " << lenght << endl;
//hexdump(payload, lenght);

// send data to server
// webSocket.sendBIN(payload, lenght);
break;
}

}

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

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 << "[SETUP] BOOT WAIT " << t << "..." << endl;
USE_SERIAL.flush();
delay(1000);
}

Ethernet.begin(mac,ip);
USE_SERIAL << Ethernet.localIP() << endl;



//webSocket.begin("wss://echo.websocket.org", 443);
webSocket.begin("ws://echo.websocket.org", 80);
webSocket.onEvent(webSocketEvent);

}

void loop() {
webSocket.loop();
}
120 changes: 47 additions & 73 deletions examples/WebSocketServer/WebSocketServer.ino
Original file line number Diff line number Diff line change
@@ -1,86 +1,60 @@
/*
* WebSocketServer.ino
*
* Created on: 22.05.2015
*
*/

#include <Arduino.h>

#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <Ethernet2.h>
#include <WebSocketsServer.h>
#include <Hash.h>
#include <Streaming.h>

ESP8266WiFiMulti WiFiMulti;
#define USE_SERIAL Serial
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEF};
IPAddress ip(192, 168, 0, 110);

WebSocketsServer webSocket = WebSocketsServer(81);

#define USE_SERIAL Serial1
WebSocketsServer webSocket = WebSocketsServer(8081);

void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght) {

switch(type) {
case WStype_DISCONNECTED:
USE_SERIAL.printf("[%u] Disconnected!\n", num);
break;
case WStype_CONNECTED:
{
IPAddress ip = webSocket.remoteIP(num);
USE_SERIAL.printf("[%u] Connected from %d.%d.%d.%d url: %s\n", num, ip[0], ip[1], ip[2], ip[3], payload);

// send message to client
webSocket.sendTXT(num, "Connected");
}
break;
case WStype_TEXT:
USE_SERIAL.printf("[%u] get Text: %s\n", num, payload);

// send message to client
// webSocket.sendTXT(num, "message here");

// send data to all connected clients
// webSocket.broadcastTXT("message here");
break;
case WStype_BIN:
USE_SERIAL.printf("[%u] get binary lenght: %u\n", num, lenght);
hexdump(payload, lenght);

// send message to client
// webSocket.sendBIN(num, payload, lenght);
break;
}

switch (type) {
case WStype_DISCONNECTED:
USE_SERIAL << num << " Disconnected!" << endl;
break;
case WStype_CONNECTED:
{
//IPAddress ip = webSocket.remoteIP(num);
USE_SERIAL << num << " Connected url: " << (char*)payload << endl;
// send message to client
webSocket.sendTXT(num, "Connected");
}
break;
case WStype_TEXT:
USE_SERIAL << num << " get Text: " << (char*)payload << endl;

// send message to client
webSocket.sendTXT(num, "message here");

// send data to all connected clients
webSocket.broadcastTXT("broadcast message here");
break;
case WStype_BIN:
USE_SERIAL << num << " get binary lenght: ";

// send message to client
webSocket.sendBIN(num, payload, lenght);
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);
}

WiFiMulti.addAP("SSID", "passpasspass");

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

webSocket.begin();
webSocket.onEvent(webSocketEvent);
USE_SERIAL.begin(115200);
Ethernet.begin(mac, ip);
USE_SERIAL.println("\n\n");
USE_SERIAL.println(Ethernet.localIP());

for (uint8_t t = 4; t > 0; t--) {
USE_SERIAL.flush();
delay(1000);
}

webSocket.begin();
webSocket.onEvent(webSocketEvent);
}

void loop() {
webSocket.loop();
webSocket.loop();
}

82 changes: 82 additions & 0 deletions examples/WebSocketServer/WebSocketServer_ethernetShield2.ino
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
#include <Ethernet2.h>
#include <EthernetClient.h>
#include <EthernetServer.h>
#include <EthernetUdp2.h>
/////////#include <HexDump.h> //downloaded from https://github.com/Yveaux/Arduino_HexDump

#include <WebSocketsServer.h>
//#include <Hash.h>

#include <Streaming.h>

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xEF};
IPAddress ip(192, 168, 0, 110);

WebSocketsServer webSocket = WebSocketsServer(8081);

#define USE_SERIAL Serial

void webSocketEvent(uint8_t num, WStype_t type, uint8_t * payload, size_t lenght) {

switch(type) {
case WStype_DISCONNECTED:
//USE_SERIAL.printf("[%u] Disconnected!\n", num);
USE_SERIAL << num << " Disconnected!" << endl;
break;
case WStype_CONNECTED:
{
//IPAddress ip = webSocket.remoteIP(num);
//USE_SERIAL.printf("[%u] Connected from %d.%d.%d.%d url: %s\n", num, ip[0], ip[1], ip[2], ip[3], payload);
USE_SERIAL << num << " Connected url: " << int(payload) << endl;
// send message to client
webSocket.sendTXT(num, "Connected");
}
break;
case WStype_TEXT:
//USE_SERIAL.printf("[%u] get Text: %s\n", num, payload);
USE_SERIAL << num << " get Text: " << int(payload) << endl;

// send message to client
webSocket.sendTXT(num, "message here");

// send data to all connected clients
webSocket.broadcastTXT("message here");
break;
case WStype_BIN:
//USE_SERIAL.printf("[%u] get binary lenght: %u\n", num, lenght);
USE_SERIAL << num <<" get binary lenght: " << lenght << endl;
///////////hexdump(payload, lenght);

// send message to client
webSocket.sendBIN(num, payload, lenght);
break;
}

}

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

Ethernet.begin(mac, ip);

// 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);
}


webSocket.begin();
webSocket.onEvent(webSocketEvent);
}

void loop() {
webSocket.loop();
}
Loading