Version Mai 2019. Ce programme permet de faire clignoter le led1 du mbed à une fréquence saisie sur une page web. Transfert d'une variable entière du navigateur vers mbed.

Dependencies:   mbed HTTPServer EthernetNetIf RPCInterface

Ce programme permet de faire clignoter le led1 du mbed à une fréquence saisie sur une page web. Transfert d'une variable entière du navigateur vers mbed via RPC. Pour fonctionner, ce programme a besoin d'un fichier html/javascript nommé index.htm, joint ci-après.

/media/uploads/LouisReynier/index_mai_2019.bin

/!\ Pour fonctionner ce fichier doit être renommé index.htm

Files at this revision

API Documentation at this revision

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