HTTP RPC Server mit vordefinierten Objekten

Dependencies:   EthernetInterface HttpServer Servo mbed-rtos mbed

Fork of RPCHTTPServerVariable by th.iotkit2.ch

Mittels RPCVariable lassen sich lokale Variablen setzen. Diese Variablen können gesetzt write oder gelesen read werden.

Mittels Ticker u.ä. Varianten lassen sich damit auch Objektwerte setzen, welche von RPC nicht unterstützt werden, z.B. Servo's.

Client

Wert setzen: http://<IP-Adresse mbed>/rpc/servo2/write+0.5

Committer:
stefan1691
Date:
Wed May 27 12:44:08 2015 +0000
Revision:
15:e28ddc86e599
Parent:
13:596ff8317448
Child:
16:0eadcfedd078
Beispiel aus Doku

Who changed what in which revision?

UserRevisionLine numberNew contents of line
marcel1691 13:596ff8317448 1 <!DOCTYPE html>
marcel1691 13:596ff8317448 2 <html>
marcel1691 13:596ff8317448 3 <head>
marcel1691 13:596ff8317448 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
marcel1691 13:596ff8317448 5 <meta name="viewport" content="width=device-width, initial-scale=1">
marcel1691 13:596ff8317448 6 <meta name="author" content="Marcel Bernet, Zuerich">
marcel1691 13:596ff8317448 7 <title>mbed Web-App</title>
marcel1691 13:596ff8317448 8 <link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.css" />
marcel1691 13:596ff8317448 9 <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
marcel1691 13:596ff8317448 10 <script src="http://code.jquery.com/mobile/1.4.2/jquery.mobile-1.4.2.min.js"></script>
marcel1691 13:596ff8317448 11 </head>
marcel1691 13:596ff8317448 12 <body>
marcel1691 13:596ff8317448 13 <form>
marcel1691 13:596ff8317448 14 <div data-role="page" id="page-index" data-title="mbed App">
stefan1691 15:e28ddc86e599 15
marcel1691 13:596ff8317448 16 <div data-role="header" class="ui-header ui-bar-c">
marcel1691 13:596ff8317448 17 <a href="#left-panel" data-icon="bars" data-iconpos="notext" data-shadow="false" data-iconshadow="false">Menu</a>
marcel1691 13:596ff8317448 18 <h1>mbed Web-App</h1>
marcel1691 13:596ff8317448 19 <img src="./img/logo.png" width="30" class="ui-btn-right" />
marcel1691 13:596ff8317448 20 </div>
stefan1691 15:e28ddc86e599 21
marcel1691 13:596ff8317448 22 <div data-role="content">
stefan1691 15:e28ddc86e599 23
marcel1691 13:596ff8317448 24 <div class="ui-field-contain">
marcel1691 13:596ff8317448 25 <label for="led-1">LED 1</label>
marcel1691 13:596ff8317448 26 <select name="led1" id="led1" data-role="slider">
marcel1691 13:596ff8317448 27 <option value="Off">Off</option>
marcel1691 13:596ff8317448 28 <option value="On">On</option>
marcel1691 13:596ff8317448 29 </select>
marcel1691 13:596ff8317448 30 </div>
marcel1691 13:596ff8317448 31 <div class="ui-field-contain">
marcel1691 13:596ff8317448 32 <label for="led-2">LED 2</label> <select name="led2" id="led2" data-role="slider">
marcel1691 13:596ff8317448 33 <option value="Off">Off</option>
marcel1691 13:596ff8317448 34 <option value="On">On</option>
marcel1691 13:596ff8317448 35 </select>
marcel1691 13:596ff8317448 36 </div>
marcel1691 13:596ff8317448 37 <div class="ui-field-contain" id="servo1f">
marcel1691 13:596ff8317448 38 <label for="servo-1">Servo 1:</label>
marcel1691 13:596ff8317448 39 <input name="servo1" id="servo1" type="range" min="0" max="100" value="50">
marcel1691 13:596ff8317448 40 </div>
marcel1691 13:596ff8317448 41 </div>
marcel1691 13:596ff8317448 42 </div>
marcel1691 13:596ff8317448 43 <script type="text/javascript">
stefan1691 15:e28ddc86e599 44 var server="http://192.168.178.63/rpc/";
stefan1691 15:e28ddc86e599 45
marcel1691 13:596ff8317448 46 $('select#led1').change(function()
marcel1691 13:596ff8317448 47 {
marcel1691 13:596ff8317448 48 var myswitch = $(this);
marcel1691 13:596ff8317448 49 var name = myswitch[0].name;
marcel1691 13:596ff8317448 50 var url = myswitch[0].selectedIndex == 1 ? server + name + '/write 1' : server + name + '/write 0';
marcel1691 13:596ff8317448 51 $.get( url );
marcel1691 13:596ff8317448 52 });
marcel1691 13:596ff8317448 53 $('select#led2').change(function()
marcel1691 13:596ff8317448 54 {
marcel1691 13:596ff8317448 55 var myswitch = $(this);
marcel1691 13:596ff8317448 56 var name = myswitch[0].name;
marcel1691 13:596ff8317448 57 var url = myswitch[0].selectedIndex == 1 ? server + name + '/write 1' : server + name + '/write 0';
marcel1691 13:596ff8317448 58 $.get( url );
marcel1691 13:596ff8317448 59 });
marcel1691 13:596ff8317448 60 $("#servo1f").on("slidestop", "#servo1", function(event)
marcel1691 13:596ff8317448 61 {
marcel1691 13:596ff8317448 62 var val = $(this).val() / 100.0;
marcel1691 13:596ff8317448 63 $.get( server + 'servo1/write ' + val );
marcel1691 13:596ff8317448 64 console.log( server + 'servo1/write ' + val );
marcel1691 13:596ff8317448 65 });
marcel1691 13:596ff8317448 66 </script>
marcel1691 13:596ff8317448 67 </form>
marcel1691 13:596ff8317448 68 </body>
marcel1691 13:596ff8317448 69 </html>