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/

Committer:
marcel1691
Date:
Mon Mar 23 18:21:40 2015 +0000
Revision:
12:e04008977007
Parent:
9:a9bf63017854
HTTP (RPC) Server mit UI

Who changed what in which revision?

UserRevisionLine numberNew contents of line
marcel1691 12:e04008977007 1 /** HTTP (RPC) Server mit UI
marcel1691 12:e04008977007 2 */
feb11 0:9e4bcb10b3e3 3 #include "mbed.h"
feb11 0:9e4bcb10b3e3 4 #include "EthernetInterface.h"
feb11 0:9e4bcb10b3e3 5 #include "mbed_rpc.h"
feb11 0:9e4bcb10b3e3 6 #include "RPCCommand.h"
feb11 0:9e4bcb10b3e3 7 #include "HTTPServer.h"
feb11 0:9e4bcb10b3e3 8 #include "Formatter.h"
feb11 0:9e4bcb10b3e3 9 #include "RequestHandler.h"
feb11 0:9e4bcb10b3e3 10 #include "RPCType.h"
feb11 0:9e4bcb10b3e3 11
feb11 0:9e4bcb10b3e3 12 #define SERVER_PORT 80
feb11 0:9e4bcb10b3e3 13
feb11 0:9e4bcb10b3e3 14 HTTPServer create_simple_server()
feb11 0:9e4bcb10b3e3 15 {
feb11 0:9e4bcb10b3e3 16 HTTPServer srv;
feb11 0:9e4bcb10b3e3 17 srv.add_request_handler("DELETE", new DeleteRequestHandler());
feb11 0:9e4bcb10b3e3 18 srv.add_request_handler("GET", new GetRequestHandler());
feb11 0:9e4bcb10b3e3 19 srv.add_request_handler("PUT", new PutRequestHandler());
feb11 0:9e4bcb10b3e3 20 return srv;
feb11 0:9e4bcb10b3e3 21 }
feb11 0:9e4bcb10b3e3 22
feb11 0:9e4bcb10b3e3 23 HTTPServer create_interactive_server()
feb11 0:9e4bcb10b3e3 24 {
feb11 0:9e4bcb10b3e3 25 HTTPServer srv(new InteractiveHTMLFormatter());
feb11 0:9e4bcb10b3e3 26 srv.add_request_handler("GET", new ComplexRequestHandler());
feb11 0:9e4bcb10b3e3 27 return srv;
feb11 0:9e4bcb10b3e3 28 }
feb11 0:9e4bcb10b3e3 29
feb11 0:9e4bcb10b3e3 30 int main(void)
feb11 0:9e4bcb10b3e3 31 {
feb11 0:9e4bcb10b3e3 32 RPCType::instance().register_types();
feb11 0:9e4bcb10b3e3 33
feb11 0:9e4bcb10b3e3 34 EthernetInterface eth;
feb11 9:a9bf63017854 35 if(eth.init())
feb11 9:a9bf63017854 36 {
feb11 9:a9bf63017854 37 printf("Error while initializing the ethernet interface.\n");
feb11 9:a9bf63017854 38 return -1;
feb11 9:a9bf63017854 39 }
feb11 9:a9bf63017854 40 if(eth.connect())
feb11 9:a9bf63017854 41 {
feb11 9:a9bf63017854 42 printf("Error while starting the ethernet interface.\n");
feb11 9:a9bf63017854 43 return -1;
feb11 9:a9bf63017854 44 }
feb11 9:a9bf63017854 45
feb11 0:9e4bcb10b3e3 46 printf("IP Address is %s\n", eth.getIPAddress());
feb11 0:9e4bcb10b3e3 47
feb11 3:fb0a778f2480 48 HTTPServer srv = create_interactive_server();
feb11 0:9e4bcb10b3e3 49
feb11 0:9e4bcb10b3e3 50 if(!srv.init(SERVER_PORT))
feb11 0:9e4bcb10b3e3 51 {
feb11 0:9e4bcb10b3e3 52 eth.disconnect();
feb11 0:9e4bcb10b3e3 53 return -1;
feb11 0:9e4bcb10b3e3 54 }
feb11 0:9e4bcb10b3e3 55
feb11 0:9e4bcb10b3e3 56 srv.run();
feb11 0:9e4bcb10b3e3 57
feb11 0:9e4bcb10b3e3 58 return 0;
feb11 0:9e4bcb10b3e3 59 }
feb11 0:9e4bcb10b3e3 60