HTTP (RPC) Server mit UI

Dependencies:   EthernetInterface mbed-rpc mbed-rtos mbed

Fork of IoTKit_RPC-Server by th.iotkit.ch

HTTP (RPC) Server mit eigener UI Oberfläche.

Board mit dem Ethernet verbinden. Console starten und angezeigte IP-Adresse notieren und in Browser öffnen.

Create Object

Type: DigitalOut Name: led1 arg(optional): PTB22

und Create Button drücken.

Call a function

Command: /led1/write 1

eingeben und Send drücken. Das rote LED auf dem Board geht aus. Mittels /led1/write 0 wird es wieder eingeschaltet.

Für die komplette Dokumentation siehe /users/feb11/code/HTTP-Server/

Revision:
0:9e4bcb10b3e3
Child:
3:fb0a778f2480
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Jul 17 10:15:05 2013 +0000
@@ -0,0 +1,50 @@
+#include "mbed.h"
+#include "EthernetInterface.h"
+#include "mbed_rpc.h"
+#include "RPCCommand.h"
+#include "HTTPServer.h"
+#include "Formatter.h"
+#include "RequestHandler.h"
+#include "RPCType.h"
+
+#define SERVER_PORT 80
+
+HTTPServer create_simple_server()
+{    
+    HTTPServer srv;
+    srv.add_request_handler("DELETE", new DeleteRequestHandler());
+    srv.add_request_handler("GET", new GetRequestHandler());
+    srv.add_request_handler("PUT", new PutRequestHandler());
+    return srv;
+}
+
+HTTPServer create_interactive_server()
+{
+    HTTPServer srv(new InteractiveHTMLFormatter());
+    srv.add_request_handler("GET", new ComplexRequestHandler());
+    return srv;
+}
+
+int main(void)
+{
+    RPCType::instance().register_types();    
+
+    EthernetInterface eth;
+    eth.init();
+    eth.connect();
+    printf("IP Address is %s\n", eth.getIPAddress());
+    
+    HTTPServer srv = create_simple_server();
+
+    if(!srv.init(SERVER_PORT))
+    {
+        printf("Error while initializing the server\n");
+        eth.disconnect();
+        return -1;
+    }
+
+    srv.run();
+
+    return 0;
+}
+