![](/media/cache/group/ep_srxDLMd.webp.50x50_q85.jpg)
HTTP RPC Server mit vordefinierten Objekten
Dependencies: EthernetInterface HttpServer Servo mbed-rtos mbed
Fork of RPCHTTPServerVariable by
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
Web-APP/index.html@15:e28ddc86e599, 2015-05-27 (annotated)
- 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?
User | Revision | Line number | New 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> |