Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: C027 EthernetInterface libxively mbed-rtos mbed HTTPClient
Fork of C027_Xively_Ethernet by
Diff: main.cpp
- Revision:
- 4:0bdab35cb164
- Parent:
- 3:259ac92c3ca8
- Child:
- 6:f1477813f212
--- a/main.cpp Wed Apr 09 20:14:57 2014 +0000
+++ b/main.cpp Tue Apr 22 21:12:07 2014 +0000
@@ -2,52 +2,95 @@
#include "C027.h"
#include "EthernetInterface.h"
#include "Websocket.h"
-
-
-void test(void const*)
+#include "SocketIO.h"
+
+
+//Debug is disabled by default
+#if 1
+//Enable debug
+#include <cstdio>
+#define DBG(x, ...) std::printf("[main : DBG]"x"\r\n", ##__VA_ARGS__);
+#define WARN(x, ...) std::printf("[main : WARN]"x"\r\n", ##__VA_ARGS__);
+#define ERR(x, ...) std::printf("[main : ERR]"x"\r\n", ##__VA_ARGS__);
+
+#else
+//Disable debug
+#define DBG(x, ...)
+#define WARN(x, ...)
+#define ERR(x, ...)
+
+#endif
+
+
+void websocket_test(void const*)
{
char msg[512] = {0};
-
+
EthernetInterface eth;
eth.init(); //Use DHCP
eth.connect();
- printf("IP Address is %s\n\r", eth.getIPAddress());
-
+ DBG("IP Address is %s", eth.getIPAddress());
+
Websocket ws("ws://sockets.mbed.org:443/ws/chauvo/wo");
Timer t;
t.start();
-
+
bool c = ws.connect();
- printf("Connect result: %s\n", c?"OK":"Failed");
-
- for(int i = 0; i < 10000; i++)
- {
+ DBG("Connect result: %s", c?"OK":"Failed");
+
+ for(int i = 0; i < 10000; i++) {
ws.connect();
// create json string with acc/tmp data
sprintf(msg, "Chau's demo loop: %d", i);
- ws.send(msg);
+ ws.send(msg);
wait(0.5f);
memset(msg, 0, 512);
-
- if (ws.read(msg))
- {
- printf("rcv: %s\r\n", msg);
- }
- else
- {
- printf("Loop %d ws.read() returns 0\n \t %s, line %d @ %6.2f seconds\n", i, __FILE__, __LINE__, t.read());
+
+ if (ws.read(msg)) {
+ DBG("rcv: %s\r\n", msg);
+ } else {
+ DBG("Loop %d ws.read() returns 0\n \t %s, line %d @ %6.2f seconds\n", i, __FILE__, __LINE__, t.read());
wait(5.0f);
}
ws.close();
}
-
+
while(1) {
}
}
+void socketio_test(void const*)
+{
+ char msg[512] = {0};
+
+ EthernetInterface eth;
+ eth.init(); //Use DHCP
+ eth.connect();
+ DBG("IP Address is %s", eth.getIPAddress());
+
+ SocketIO socketio("nne-server1.herokuapp.com");
+ //SocketIO socketio("websocketserver-tutorial11067089.rhcloud.com");
+ //SocketIO socketio("websocket-server.chau_vk.c9.io:8001");
+ //SocketIO socketio("websocket-server-c9-chau_vk.c9.io");
+ Timer t;
+ t.start();
+
+ bool c = socketio.connect(); // c is always false, (maybe because the connection is upgraded?)
+ DBG("Connect result: %s", c?"OK":"Failed");
+
+ while (1) {
+ int res = socketio.emit("mesage","[\"mbed SocketIO Hello World!\"]");
+ if (socketio.read(msg)) {
+ DBG("rcv: %s", msg);
+ }
+ wait(0.1);
+ }
+}
+
int main()
{
- Thread testTask(test, NULL, osPriorityNormal, 1024 * 4);
+ //Thread testTask(websocket_test, NULL, osPriorityNormal, 1024 * 4);
+ Thread testTask(socketio_test, NULL, osPriorityNormal, 1024 * 4);
DigitalOut led(LED); // on rev A you should reasign the signal to A0
while(1) {
led=!led;
