Un serveur web embarqué pour mbed, commande de leds, lecture potentiometre en utilisant rpc.
Dependencies: EthernetNetIf HTTPServer RPCInterface mbed
Fork of HTTPServerExample by
Pour fonctionner correctement, il est nécessaire de placer un fichier nommé index.htm (page html + javascript) dans la mémoire du mbed. Voici le fichier que j'ai utilisé
/media/uploads/LouisReynier/index.htm
Revision 3:c2b64cce42d8, committed 2017-04-06
- Comitter:
- LouisReynier
- Date:
- Thu Apr 06 18:56:46 2017 +0000
- Parent:
- 2:f8e64bf9a474
- Commit message:
- Une version de serveur mbed embarqu? qui commande 1 led et qui lit un potentiometre + variable temps.
Changed in this revision
HTTPServerExample.cpp | Show annotated file Show diff for this revision Revisions of this file |
RPCInterface.lib | Show annotated file Show diff for this revision Revisions of this file |
diff -r f8e64bf9a474 -r c2b64cce42d8 HTTPServerExample.cpp --- a/HTTPServerExample.cpp Fri Jul 09 14:46:03 2010 +0000 +++ b/HTTPServerExample.cpp Thu Apr 06 18:56:46 2017 +0000 @@ -1,11 +1,20 @@ #include "mbed.h" #include "EthernetNetIf.h" #include "HTTPServer.h" +#include "SerialRPCInterface.h" + +// LR 2/2/17 +// sur ce fichier j'ai rajouté une variable RPC count que je peux lire à distance +// adresse/rpc/count/read/ DigitalOut led1(LED1, "led1"); DigitalOut led2(LED2, "led2"); DigitalOut led3(LED3, "led3"); DigitalOut led4(LED4, "led4"); +AnalogIn Pot1(p19, "pot1"); + +int count = 0 ; +RPCVariable<int> rpc_count(&count, "count"); LocalFileSystem fs("webfs"); @@ -16,6 +25,14 @@ Base::add_rpc_class<DigitalOut>(); printf("Setting up...\n"); + + // modif LR config IP manuelle sinon dhcp ! + EthernetNetIf eth( IpAddr(192,168,1,102), // IP + IpAddr(255,255,255,0), // Subnet mask + IpAddr(192,168,1,1), // Gateway + IpAddr(192,168,1,1) ); // DNS + + EthernetErr ethErr = eth.setup(); if(ethErr) { @@ -23,11 +40,11 @@ return -1; } printf("Setup OK\n"); - + // on définit où seront stockés les fichiers ! FSHandler::mount("/webfs", "/files"); //Mount /webfs path on /files web path FSHandler::mount("/webfs", "/"); //Mount /webfs path on web root path - svr.addHandler<SimpleHandler>("/hello"); + svr.addHandler<SimpleHandler>("/hello"); // http://a.b.c.d/hello : hello world ! svr.addHandler<RPCHandler>("/rpc"); svr.addHandler<FSHandler>("/files"); svr.addHandler<FSHandler>("/"); //Default handler @@ -46,6 +63,7 @@ if(tm.read()>.5) { led1=!led1; //Show that we are alive + count ++ ; tm.start(); } } @@ -53,3 +71,4 @@ return 0; } +// http://192.168.1.102/rpc/pot1/read dans le navigateur permet de lire l'état du potard ! \ No newline at end of file
diff -r f8e64bf9a474 -r c2b64cce42d8 RPCInterface.lib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/RPCInterface.lib Thu Apr 06 18:56:46 2017 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/hexley/code/RPCInterface/#1c61049a0349