Websocket Test Program for W5500 or WIZ550io ( WIZnet, http://wizwiki.net ) LPC11U68 Xpresso v2 + WIZ550io Ethernet Board.

Dependencies:   W5500Interface WebSocketClient mbed

Fork of Websocket_Ethernet_W5500 by Bongjun Hur

Websocket example using Ethernet component of WIZ550io (W5500)

How to put W5500 on your mbed board?

It's tested on LPC11U68 Board.

Committer:
Bongjun
Date:
Tue Jul 08 05:51:34 2014 +0000
Revision:
0:2efa5e59223d
Child:
1:22e5197655a9
Websocket test program for W5500 (from WIZnet H/W TCP/IP chip); use module type named WIZ550io & LPC11U68 Board.; ; can see the result from "http://sockets.mbed.org/demo/viewer"

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Bongjun 0:2efa5e59223d 1 #include "mbed.h"
Bongjun 0:2efa5e59223d 2 #include "EthernetInterfaceW5500.h"
Bongjun 0:2efa5e59223d 3 #include "Websocket.h"
Bongjun 0:2efa5e59223d 4
Bongjun 0:2efa5e59223d 5 DigitalOut myled(LED1);
Bongjun 0:2efa5e59223d 6
Bongjun 0:2efa5e59223d 7 int main()
Bongjun 0:2efa5e59223d 8 {
Bongjun 0:2efa5e59223d 9 #if defined(TARGET_LPC1114)
Bongjun 0:2efa5e59223d 10 SPI spi(dp2, dp1, dp6); // mosi, miso, sclk
Bongjun 0:2efa5e59223d 11 EthernetInterfaceW5500 eth(&spi, dp25, dp26); // spi, cs, reset
Bongjun 0:2efa5e59223d 12
Bongjun 0:2efa5e59223d 13 #elif defined(TARGET_LPC1768)
Bongjun 0:2efa5e59223d 14 SPI spi(p11, p12, p13); // mosi, miso, sclk
Bongjun 0:2efa5e59223d 15 EthernetInterfaceW5500 eth(&spi, p14, p15); // spi, cs, reset
Bongjun 0:2efa5e59223d 16
Bongjun 0:2efa5e59223d 17 #elif defined(TARGET_LPC11U68)
Bongjun 0:2efa5e59223d 18 SPI spi(P0_9, P0_8, P1_29); // mosi, miso, sclk
Bongjun 0:2efa5e59223d 19 //WIZnetInterface eth(&spi, P0_2, P1_25); // spi, cs, reset
Bongjun 0:2efa5e59223d 20 //SPI spi(p5, p6, p7); // mosi, miso, sclk
Bongjun 0:2efa5e59223d 21 EthernetInterfaceW5500 eth(&spi, P0_2, P1_28);//, nRESET(p9); // reset pin is dummy, don't affect any pin of WIZ550io
Bongjun 0:2efa5e59223d 22 spi.format(8,0); // 8bit, mode 0
Bongjun 0:2efa5e59223d 23 spi.frequency(7000000); // 7MHz
Bongjun 0:2efa5e59223d 24 wait(1); // 1 second for stable state
Bongjun 0:2efa5e59223d 25
Bongjun 0:2efa5e59223d 26 #endif
Bongjun 0:2efa5e59223d 27
Bongjun 0:2efa5e59223d 28 #ifdef _DHCP
Bongjun 0:2efa5e59223d 29 eth.init(); //Use DHCP
Bongjun 0:2efa5e59223d 30 eth.connect();
Bongjun 0:2efa5e59223d 31 //printf("IP Address is %s\n\r", eth.getIPAddress());
Bongjun 0:2efa5e59223d 32 printf("Initialized, MAC: %s\n", eth.getMACAddress());
Bongjun 0:2efa5e59223d 33 printf("Connected, IP: %s, MASK: %s, GW: %s\n",
Bongjun 0:2efa5e59223d 34 eth.getIPAddress(), eth.getNetworkMask(), eth.getGateway());
Bongjun 0:2efa5e59223d 35
Bongjun 0:2efa5e59223d 36 #else
Bongjun 0:2efa5e59223d 37 int ret = eth.init("222.98.173.212", "255.255.255.192", "222.98.173.254");
Bongjun 0:2efa5e59223d 38 if (!ret) {
Bongjun 0:2efa5e59223d 39 printf("Initialized, MAC: %s\n", eth.getMACAddress());
Bongjun 0:2efa5e59223d 40 printf("Connected, IP: %s, MASK: %s, GW: %s\n",
Bongjun 0:2efa5e59223d 41 eth.getIPAddress(), eth.getNetworkMask(), eth.getGateway());
Bongjun 0:2efa5e59223d 42 } else {
Bongjun 0:2efa5e59223d 43 printf("Error eth.init() - ret = %d\n", ret);
Bongjun 0:2efa5e59223d 44 return -1;
Bongjun 0:2efa5e59223d 45 }
Bongjun 0:2efa5e59223d 46
Bongjun 0:2efa5e59223d 47 #endif
Bongjun 0:2efa5e59223d 48
Bongjun 0:2efa5e59223d 49 // Websocket ws("ws://sockets.mbed.org:443/ws/demo/wo");
Bongjun 0:2efa5e59223d 50 // ws.connect();
Bongjun 0:2efa5e59223d 51
Bongjun 0:2efa5e59223d 52 // this code from http://mbed.org/teams/mbed/code/Websocket_Ethernet_HelloWorld/file/bd0a76c1d9d0/main.cpp
Bongjun 0:2efa5e59223d 53 // view @ http://sockets.mbed.org/demo/viewer
Bongjun 0:2efa5e59223d 54 Websocket ws("ws://sockets.mbed.org:443/ws/demo/rw");
Bongjun 0:2efa5e59223d 55 ws.connect();
Bongjun 0:2efa5e59223d 56
Bongjun 0:2efa5e59223d 57 char str[100];
Bongjun 0:2efa5e59223d 58
Bongjun 0:2efa5e59223d 59 for(int i=0; i<0x10; ++i) {
Bongjun 0:2efa5e59223d 60 // string with a message
Bongjun 0:2efa5e59223d 61 sprintf(str, "%d WebSocket for WIZnet W5500 Hello World over Ethernet", i);
Bongjun 0:2efa5e59223d 62 ws.send(str);
Bongjun 0:2efa5e59223d 63
Bongjun 0:2efa5e59223d 64 // clear the buffer and wait a sec...
Bongjun 0:2efa5e59223d 65 memset(str, 0, 100);
Bongjun 0:2efa5e59223d 66 wait(0.5f);
Bongjun 0:2efa5e59223d 67
Bongjun 0:2efa5e59223d 68 // websocket server should echo whatever we sent it
Bongjun 0:2efa5e59223d 69 if (ws.read(str)) {
Bongjun 0:2efa5e59223d 70 printf("rcv'd: %s\n", str);
Bongjun 0:2efa5e59223d 71 }
Bongjun 0:2efa5e59223d 72 }
Bongjun 0:2efa5e59223d 73 ws.close();
Bongjun 0:2efa5e59223d 74 eth.disconnect();
Bongjun 0:2efa5e59223d 75
Bongjun 0:2efa5e59223d 76 while(1) {
Bongjun 0:2efa5e59223d 77 myled = 1;
Bongjun 0:2efa5e59223d 78 wait(0.2);
Bongjun 0:2efa5e59223d 79 myled = 0;
Bongjun 0:2efa5e59223d 80 wait(0.2);
Bongjun 0:2efa5e59223d 81 }
Bongjun 0:2efa5e59223d 82 }