robeaux 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +29 -9
- data/index.html +1 -1
- data/javascripts/app.js +22 -3
- data/package.json +1 -1
- data/partials/robot-detail.html +39 -37
- data/robeaux.gemspec +1 -1
- data/stylesheets/style.css +8 -0
- metadata +6 -7
- data/partials/robot-device-detail.html +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a70c44bc8e7aebdb2d72cb0970d2b7486b655dc8
|
4
|
+
data.tar.gz: 5bdeff086b5405f70fe1ef12cca62b57fc0406b2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 391b05d84a2b584df0e135adb4bd5997421bde134d15e972af5e8f472ee097cdc3d62093becbfc86261a9c28b149da1b26e581d9203a70b0bc4b7c40b889fdea
|
7
|
+
data.tar.gz: 8e1b4ecdd91910000057f474e1488f3e5cfa811dd863ecced663586fc6d8779a7c55d11409b3d35a2be82b6e9d601a2e003a9de15f101f5b713e5ddaeeb41084
|
data/README.md
CHANGED
@@ -1,27 +1,42 @@
|
|
1
1
|
# Robeaux
|
2
2
|
|
3
|
-
Robeaux is a universal dashboard to your robotic devices. Like
|
3
|
+
Robeaux (/rō-bō/) is a universal dashboard to your robotic devices. Like a router admin
|
4
|
+
page, but for robots.
|
4
5
|
|
5
|
-
Robeaux is
|
6
|
+
Robeaux is powered by [AngularJS](http://angularjs.org/), and provides
|
7
|
+
a front-end to the API interface offered by [Artoo](http://artoo.io),
|
8
|
+
[Cylon.js](http://cylonjs.com) and [Gobot](http://gobot.io). It looks like this:
|
6
9
|
|
7
|
-
![Robeaux Interface](http://i.imgur.com/
|
10
|
+
![Robeaux Interface](http://i.imgur.com/rDf5inl.png)
|
8
11
|
|
9
12
|
## How It Works
|
10
13
|
|
11
|
-
Thanks to using a
|
14
|
+
Thanks to using a structured interface based on the RESTful and websockets APIs
|
15
|
+
of Artoo, Cylon.js and Gobot, Robeaux can query or set values on one or more
|
16
|
+
robots, and all of the devices connected to each robot. As long as they are
|
17
|
+
connected to a compatible API server.
|
12
18
|
|
13
19
|
### Robots
|
14
20
|
|
21
|
+
You can see each robot that your are connected to, and then drill in to view or
|
22
|
+
edit it.
|
23
|
+
|
24
|
+
![Robots View](http://i.imgur.com/4388Mce.png)
|
15
25
|
|
16
26
|
### Connections
|
17
27
|
|
28
|
+
How are you connected? Serial port? WiFi? View the details for each of your
|
29
|
+
robots.
|
18
30
|
|
19
|
-
|
31
|
+
![Connections View](http://i.imgur.com/ewJ9Ec2.png)
|
20
32
|
|
33
|
+
### Devices
|
21
34
|
|
22
|
-
|
35
|
+
Each robot has one or more devices connected. You can view the device status and
|
36
|
+
send commands all via the web interface. You can even stream the real-time
|
37
|
+
websockets data for your buttons, switches, LEDs, sensors, and more.
|
23
38
|
|
24
|
-
|
39
|
+
![Devices View](http://i.imgur.com/aB5YL7Q.png)
|
25
40
|
|
26
41
|
## Pushing new versions
|
27
42
|
|
@@ -46,8 +61,13 @@ And push it to GitHub
|
|
46
61
|
|
47
62
|
Copyright (c) 2014 The Hybrid Group
|
48
63
|
|
49
|
-
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
64
|
+
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
|
65
|
+
this file except in compliance with the License. You may obtain a copy of the
|
66
|
+
License at
|
50
67
|
|
51
68
|
http://www.apache.org/licenses/LICENSE-2.0
|
52
69
|
|
53
|
-
Unless required by applicable law or agreed to in writing, software distributed
|
70
|
+
Unless required by applicable law or agreed to in writing, software distributed
|
71
|
+
under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
|
72
|
+
CONDITIONS OF ANY KIND, either express or implied. See the License for the
|
73
|
+
specific language governing permissions and limitations under the License.
|
data/index.html
CHANGED
data/javascripts/app.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
// Routes
|
2
|
-
var
|
2
|
+
var robeaux = angular.module("robeaux", ['ngRoute']);
|
3
3
|
|
4
|
-
|
4
|
+
robeaux.config(["$routeProvider", function($routeProvider) {
|
5
5
|
$routeProvider.when("/robots", {
|
6
6
|
templateUrl: "/partials/robot-index.html",
|
7
7
|
controller: RobotIndexCtrl
|
@@ -93,6 +93,25 @@ var RobotDetailCtrl = function($scope, $http, $routeParams, $location) {
|
|
93
93
|
}
|
94
94
|
}
|
95
95
|
|
96
|
-
|
96
|
+
// check if empty (no params)
|
97
|
+
if (isEmptyParams(params)) {
|
98
|
+
return null;
|
99
|
+
} else {
|
100
|
+
return params;
|
101
|
+
}
|
102
|
+
}
|
103
|
+
|
104
|
+
var isEmptyParams = function(params) {
|
105
|
+
var empty = true;
|
106
|
+
|
107
|
+
for (var key in params) {
|
108
|
+
value = params[key];
|
109
|
+
if (key !== "" || value !== "") {
|
110
|
+
empty = false;
|
111
|
+
break;
|
112
|
+
}
|
113
|
+
}
|
114
|
+
|
115
|
+
return empty;
|
97
116
|
}
|
98
117
|
};
|
data/package.json
CHANGED
data/partials/robot-detail.html
CHANGED
@@ -87,50 +87,52 @@
|
|
87
87
|
</div>
|
88
88
|
</div>
|
89
89
|
|
90
|
-
<div class="
|
91
|
-
<div class="
|
92
|
-
<div class="
|
93
|
-
<div class="
|
94
|
-
<div class="
|
95
|
-
<div class="
|
96
|
-
|
90
|
+
<div class="container">
|
91
|
+
<div class="row">
|
92
|
+
<div class="col-md-6 devices">
|
93
|
+
<div class="device" ng-repeat="device in robot.devices" ng-click="getDeviceDetail(device.name)">
|
94
|
+
<div class="row-fluid">
|
95
|
+
<div class="col-md-2">
|
96
|
+
<div class="device-type display">
|
97
|
+
D
|
98
|
+
</div>
|
99
|
+
</div>
|
100
|
+
<div class="col-md-10">
|
101
|
+
<b>
|
102
|
+
<span class="name">{{device.name}}</span>
|
103
|
+
<dl class="controls">
|
104
|
+
<span ng-show="device.pin">
|
105
|
+
<dt><i class="fa fa-bolt"></i> pin: </dt>
|
106
|
+
<dd>{{device.pin}}</dd>
|
107
|
+
</span>
|
108
|
+
|
109
|
+
<dt><i class="fa fa-exchange"></i> </dt>
|
110
|
+
<dd>{{device.connection.name}}</dd>
|
111
|
+
</dl>
|
112
|
+
</b>
|
97
113
|
</div>
|
98
|
-
</div>
|
99
|
-
<div class="col-md-10">
|
100
|
-
<b>
|
101
|
-
<span class="name">{{device.name}}</span>
|
102
|
-
<dl class="controls">
|
103
|
-
<span ng-show="device.pin">
|
104
|
-
<dt><i class="fa fa-bolt"></i> pin: </dt>
|
105
|
-
<dd>{{device.pin}}</dd>
|
106
|
-
</span>
|
107
|
-
|
108
|
-
<dt><i class="fa fa-exchange"></i> </dt>
|
109
|
-
<dd>{{device.connection.name}}</dd>
|
110
|
-
</dl>
|
111
|
-
</b>
|
112
114
|
</div>
|
113
115
|
</div>
|
114
116
|
</div>
|
115
|
-
</div>
|
116
117
|
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
118
|
+
<div class="col-md-6 connections">
|
119
|
+
<div class="device" ng-repeat="connection in robot.connections">
|
120
|
+
<div class="row-fluid">
|
121
|
+
<div class="col-md-2">
|
122
|
+
<div class="device-type display">
|
123
|
+
<i class="fa fa-exchange"></i>
|
124
|
+
</div>
|
123
125
|
</div>
|
124
|
-
</div>
|
125
126
|
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
127
|
+
<div class="col-md-10">
|
128
|
+
<b>
|
129
|
+
<span class="name">{{connection.name}}</span>
|
130
|
+
<dl class="controls">
|
131
|
+
<dt><i class="fa fa-circle" ng-class="isConnected(connection)"></i> </dt>
|
132
|
+
<dd ng-show="connection.port">{{connection.port}}</dd>
|
133
|
+
</dl>
|
134
|
+
</b>
|
135
|
+
</div>
|
134
136
|
</div>
|
135
137
|
</div>
|
136
138
|
</div>
|
data/robeaux.gemspec
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |s|
|
4
4
|
s.name = "robeaux"
|
5
|
-
s.version = "0.0.
|
5
|
+
s.version = "0.0.3"
|
6
6
|
s.platform = Gem::Platform::RUBY
|
7
7
|
s.authors = ["Ron Evans", "Adrian Zankich", "Ari Lerner", "Mario Ricalde", "Daniel Fischer", "Andrew Stewart"]
|
8
8
|
s.email = ["artoo@hybridgroup.com"]
|
data/stylesheets/style.css
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: robeaux
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ron Evans
|
@@ -13,7 +13,7 @@ authors:
|
|
13
13
|
autorequire:
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
|
-
date: 2014-
|
16
|
+
date: 2014-02-06 00:00:00.000000000 Z
|
17
17
|
dependencies: []
|
18
18
|
description: Angular-based front end for universal robot API
|
19
19
|
email:
|
@@ -22,7 +22,7 @@ executables: []
|
|
22
22
|
extensions: []
|
23
23
|
extra_rdoc_files: []
|
24
24
|
files:
|
25
|
-
- .keep
|
25
|
+
- ".keep"
|
26
26
|
- README.md
|
27
27
|
- fonts/FontAwesome.otf
|
28
28
|
- fonts/fontawesome-webfont.eot
|
@@ -38,7 +38,6 @@ files:
|
|
38
38
|
- javascripts/vendor/jquery.min.js
|
39
39
|
- package.json
|
40
40
|
- partials/robot-detail.html
|
41
|
-
- partials/robot-device-detail.html
|
42
41
|
- partials/robot-index.html
|
43
42
|
- robeaux.gemspec
|
44
43
|
- stylesheets/bootstrap.css
|
@@ -54,17 +53,17 @@ require_paths:
|
|
54
53
|
- lib
|
55
54
|
required_ruby_version: !ruby/object:Gem::Requirement
|
56
55
|
requirements:
|
57
|
-
- -
|
56
|
+
- - ">="
|
58
57
|
- !ruby/object:Gem::Version
|
59
58
|
version: '0'
|
60
59
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
61
60
|
requirements:
|
62
|
-
- -
|
61
|
+
- - ">="
|
63
62
|
- !ruby/object:Gem::Version
|
64
63
|
version: '0'
|
65
64
|
requirements: []
|
66
65
|
rubyforge_project: robeaux
|
67
|
-
rubygems_version: 2.2.
|
66
|
+
rubygems_version: 2.2.0
|
68
67
|
signing_key:
|
69
68
|
specification_version: 4
|
70
69
|
summary: Angular-based front end for universal robot API
|
File without changes
|