mbed connector webapp quickstart

Committer:
group-Make-NTU-Hackathon
Date:
Fri Feb 10 08:36:15 2017 +0000
Revision:
0:4233b7b10255
Initial commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
group-Make-NTU-Hackathon 0:4233b7b10255 1 <!DOCTYPE html>
group-Make-NTU-Hackathon 0:4233b7b10255 2 <html lang="en">
group-Make-NTU-Hackathon 0:4233b7b10255 3 <head>
group-Make-NTU-Hackathon 0:4233b7b10255 4 <meta charset="utf-8">
group-Make-NTU-Hackathon 0:4233b7b10255 5 <meta name="viewport" content="width=device-width, initial-scale=1">
group-Make-NTU-Hackathon 0:4233b7b10255 6
group-Make-NTU-Hackathon 0:4233b7b10255 7 <title>mbed Device Connector Webapp Quickstart</title>
group-Make-NTU-Hackathon 0:4233b7b10255 8
group-Make-NTU-Hackathon 0:4233b7b10255 9 <link rel="stylesheet" href="static/css/normalize.css">
group-Make-NTU-Hackathon 0:4233b7b10255 10 <link rel="stylesheet" href="static/css/foundation.min.css">
group-Make-NTU-Hackathon 0:4233b7b10255 11 <link href='https://fonts.googleapis.com/css?family=Open+Sans:400,700' rel='stylesheet' type='text/css'>
group-Make-NTU-Hackathon 0:4233b7b10255 12 <link rel="stylesheet" href="static/css/styles.css">
group-Make-NTU-Hackathon 0:4233b7b10255 13
group-Make-NTU-Hackathon 0:4233b7b10255 14 <!--[if lt IE 9]>
group-Make-NTU-Hackathon 0:4233b7b10255 15 <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
group-Make-NTU-Hackathon 0:4233b7b10255 16 <![endif]-->
group-Make-NTU-Hackathon 0:4233b7b10255 17 </head>
group-Make-NTU-Hackathon 0:4233b7b10255 18 <body>
group-Make-NTU-Hackathon 0:4233b7b10255 19 <div class="row margin">
group-Make-NTU-Hackathon 0:4233b7b10255 20 <div class="small-12 columns">
group-Make-NTU-Hackathon 0:4233b7b10255 21 <div><img src="static/img/ARMmbedLogo.png" alt="ARM mbed"></div>
group-Make-NTU-Hackathon 0:4233b7b10255 22 </div>
group-Make-NTU-Hackathon 0:4233b7b10255 23 </div>
group-Make-NTU-Hackathon 0:4233b7b10255 24 <div class="blueband">
group-Make-NTU-Hackathon 0:4233b7b10255 25 <div class="row">
group-Make-NTU-Hackathon 0:4233b7b10255 26 <div class="small-12 columns">
group-Make-NTU-Hackathon 0:4233b7b10255 27 <h1>Webapp Quickstart</h1>
group-Make-NTU-Hackathon 0:4233b7b10255 28 </div>
group-Make-NTU-Hackathon 0:4233b7b10255 29 </div>
group-Make-NTU-Hackathon 0:4233b7b10255 30 </div>
group-Make-NTU-Hackathon 0:4233b7b10255 31 <div id="endpoints">
group-Make-NTU-Hackathon 0:4233b7b10255 32 {{#each endpoints}}
group-Make-NTU-Hackathon 0:4233b7b10255 33 <div class="row" id="{{name}}">
group-Make-NTU-Hackathon 0:4233b7b10255 34 <div class="small-12 columns">
group-Make-NTU-Hackathon 0:4233b7b10255 35 <div class="row">
group-Make-NTU-Hackathon 0:4233b7b10255 36 <div class="small-12 columns">
group-Make-NTU-Hackathon 0:4233b7b10255 37 <h2>{{name}}</h2>
group-Make-NTU-Hackathon 0:4233b7b10255 38 </div>
group-Make-NTU-Hackathon 0:4233b7b10255 39 </div>
group-Make-NTU-Hackathon 0:4233b7b10255 40 <div class="row">
group-Make-NTU-Hackathon 0:4233b7b10255 41 <div class="small-12 medium-6 columns">
group-Make-NTU-Hackathon 0:4233b7b10255 42 <h4>Presses: <span class="presses-value">Unknown</span></h4>
group-Make-NTU-Hackathon 0:4233b7b10255 43 <label><input type="checkbox" class="subscribe-presses"> Subscribe</label>
group-Make-NTU-Hackathon 0:4233b7b10255 44 <button class="get-presses">GET</button>
group-Make-NTU-Hackathon 0:4233b7b10255 45 </div>
group-Make-NTU-Hackathon 0:4233b7b10255 46 <div class="small-12 medium-6 columns">
group-Make-NTU-Hackathon 0:4233b7b10255 47 <h4>LED Blink Pattern</h4>
group-Make-NTU-Hackathon 0:4233b7b10255 48 <div>
group-Make-NTU-Hackathon 0:4233b7b10255 49 <input type="text" value="{{blinkPattern}}" class="blink-pattern">
group-Make-NTU-Hackathon 0:4233b7b10255 50 </div>
group-Make-NTU-Hackathon 0:4233b7b10255 51 <div class="row">
group-Make-NTU-Hackathon 0:4233b7b10255 52 <div class="small-6 columns">
group-Make-NTU-Hackathon 0:4233b7b10255 53 <button class="update-blink-pattern">Update (PUT)</button>
group-Make-NTU-Hackathon 0:4233b7b10255 54 </div>
group-Make-NTU-Hackathon 0:4233b7b10255 55 <div class="small-6 columns text-right">
group-Make-NTU-Hackathon 0:4233b7b10255 56 <button class="blink">Blink (POST)</button>
group-Make-NTU-Hackathon 0:4233b7b10255 57 </div>
group-Make-NTU-Hackathon 0:4233b7b10255 58 </div>
group-Make-NTU-Hackathon 0:4233b7b10255 59 </div>
group-Make-NTU-Hackathon 0:4233b7b10255 60 </div>
group-Make-NTU-Hackathon 0:4233b7b10255 61 </div>
group-Make-NTU-Hackathon 0:4233b7b10255 62 </div>
group-Make-NTU-Hackathon 0:4233b7b10255 63 {{/each}}
group-Make-NTU-Hackathon 0:4233b7b10255 64 </div>
group-Make-NTU-Hackathon 0:4233b7b10255 65
group-Make-NTU-Hackathon 0:4233b7b10255 66
group-Make-NTU-Hackathon 0:4233b7b10255 67 <script type="text/javascript" src="/static/js/jquery-2.1.4.min.js"></script>
group-Make-NTU-Hackathon 0:4233b7b10255 68 <script type="text/javascript" src="/static/js/socket.io.js"></script>
group-Make-NTU-Hackathon 0:4233b7b10255 69 <script type="text/javascript">
group-Make-NTU-Hackathon 0:4233b7b10255 70 $(function() {
group-Make-NTU-Hackathon 0:4233b7b10255 71 var socket = io();
group-Make-NTU-Hackathon 0:4233b7b10255 72
group-Make-NTU-Hackathon 0:4233b7b10255 73 $('#endpoints').children().each(function(index, element) {
group-Make-NTU-Hackathon 0:4233b7b10255 74 var _this = $(this);
group-Make-NTU-Hackathon 0:4233b7b10255 75 _this.find('.subscribe-presses').change(function() {
group-Make-NTU-Hackathon 0:4233b7b10255 76 if ($(this).is(":checked")) {
group-Make-NTU-Hackathon 0:4233b7b10255 77 _this.find('.get-presses').prop('disabled', true);
group-Make-NTU-Hackathon 0:4233b7b10255 78 socket.emit('subscribe_to_presses', {
group-Make-NTU-Hackathon 0:4233b7b10255 79 endpointName: _this.attr('id')
group-Make-NTU-Hackathon 0:4233b7b10255 80 });
group-Make-NTU-Hackathon 0:4233b7b10255 81 } else {
group-Make-NTU-Hackathon 0:4233b7b10255 82 _this.find('.get-presses').prop('disabled', false);
group-Make-NTU-Hackathon 0:4233b7b10255 83 socket.emit('unsubscribe_to_presses', {
group-Make-NTU-Hackathon 0:4233b7b10255 84 endpointName: _this.attr('id')
group-Make-NTU-Hackathon 0:4233b7b10255 85 });
group-Make-NTU-Hackathon 0:4233b7b10255 86 }
group-Make-NTU-Hackathon 0:4233b7b10255 87 });
group-Make-NTU-Hackathon 0:4233b7b10255 88
group-Make-NTU-Hackathon 0:4233b7b10255 89 _this.find('.get-presses').on('click', function() {
group-Make-NTU-Hackathon 0:4233b7b10255 90 socket.emit('get_presses', {
group-Make-NTU-Hackathon 0:4233b7b10255 91 endpointName: _this.attr('id')
group-Make-NTU-Hackathon 0:4233b7b10255 92 });
group-Make-NTU-Hackathon 0:4233b7b10255 93 });
group-Make-NTU-Hackathon 0:4233b7b10255 94
group-Make-NTU-Hackathon 0:4233b7b10255 95 _this.find('.blink-pattern').bind('input', function() {
group-Make-NTU-Hackathon 0:4233b7b10255 96 _this.find('.update-blink-pattern').addClass('active');
group-Make-NTU-Hackathon 0:4233b7b10255 97 })
group-Make-NTU-Hackathon 0:4233b7b10255 98
group-Make-NTU-Hackathon 0:4233b7b10255 99 _this.find('.update-blink-pattern').on('click', function() {
group-Make-NTU-Hackathon 0:4233b7b10255 100 socket.emit('update_blink_pattern', {
group-Make-NTU-Hackathon 0:4233b7b10255 101 endpointName: _this.attr('id'),
group-Make-NTU-Hackathon 0:4233b7b10255 102 blinkPattern: _this.find('.blink-pattern').val()
group-Make-NTU-Hackathon 0:4233b7b10255 103 });
group-Make-NTU-Hackathon 0:4233b7b10255 104
group-Make-NTU-Hackathon 0:4233b7b10255 105 $(this).removeClass('active');
group-Make-NTU-Hackathon 0:4233b7b10255 106 });
group-Make-NTU-Hackathon 0:4233b7b10255 107
group-Make-NTU-Hackathon 0:4233b7b10255 108 _this.find('.blink').on('click', function() {
group-Make-NTU-Hackathon 0:4233b7b10255 109 socket.emit('blink', {
group-Make-NTU-Hackathon 0:4233b7b10255 110 endpointName: _this.attr('id')
group-Make-NTU-Hackathon 0:4233b7b10255 111 });
group-Make-NTU-Hackathon 0:4233b7b10255 112 });
group-Make-NTU-Hackathon 0:4233b7b10255 113 });
group-Make-NTU-Hackathon 0:4233b7b10255 114
group-Make-NTU-Hackathon 0:4233b7b10255 115
group-Make-NTU-Hackathon 0:4233b7b10255 116 socket.on('presses', function (data) {
group-Make-NTU-Hackathon 0:4233b7b10255 117 console.log('presses', data);
group-Make-NTU-Hackathon 0:4233b7b10255 118 $('#' + data.endpointName + ' .presses-value').html(data.value);
group-Make-NTU-Hackathon 0:4233b7b10255 119 });
group-Make-NTU-Hackathon 0:4233b7b10255 120
group-Make-NTU-Hackathon 0:4233b7b10255 121 socket.on('subscribed-to-presses', function (data) {
group-Make-NTU-Hackathon 0:4233b7b10255 122 console.log('subscribed-to-presses', data);
group-Make-NTU-Hackathon 0:4233b7b10255 123 });
group-Make-NTU-Hackathon 0:4233b7b10255 124
group-Make-NTU-Hackathon 0:4233b7b10255 125 socket.on('unsubscribed-to-presses', function (data) {
group-Make-NTU-Hackathon 0:4233b7b10255 126 console.log('unsubscribed-to-presses', data);
group-Make-NTU-Hackathon 0:4233b7b10255 127 });
group-Make-NTU-Hackathon 0:4233b7b10255 128
group-Make-NTU-Hackathon 0:4233b7b10255 129 });
group-Make-NTU-Hackathon 0:4233b7b10255 130 </script>
group-Make-NTU-Hackathon 0:4233b7b10255 131 </body>
group-Make-NTU-Hackathon 0:4233b7b10255 132 </html>