Skip to content

Commit

Permalink
updated license and reamde
Browse files Browse the repository at this point in the history
  • Loading branch information
Fabian Tollenaar committed Jul 11, 2014
1 parent f85ea12 commit d2410cd
Show file tree
Hide file tree
Showing 17 changed files with 956 additions and 6 deletions.
621 changes: 621 additions & 0 deletions LICENSE

Large diffs are not rendered by default.

37 changes: 37 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
saildata-server
===============

An implementation of a [Signal K](http://signalk.github.io) central server for boats. Intended to run on embedded devices (e.g. Raspberry Pi, Beaglebone or UDOO). The Server acts as a multiplexer/aggregator of the SignalK streams input by one or more Providers. The merged SignalK object is than streamed over a WebSocket stream (using Socket.io 1.0).


Get up and running
------------------
- Clone the repo (I will publish to NPM at some point, but this is too early a version).
- Edit `settings.json`
- Set the `ship` object to your own ship's details.
- Add one or more providers to the `providers` array. Providers reside in the `providers` directory. Take a look at the `providers/filerunner` directory for an example. *Note: whilst providers are named `provider-<provider-name>`, the containing folder does not have the `provider-` prefix. The folder is loaded a whole, so it should have an index.js file.*
- run `npm start` in the root of the folder to start the server. Alternatively, you could run the server using forever: `forever -e error.log start index.js`


Some notes
----------
*This is a very early implementation. Basic architecture is there, and it's stable.. But, it lacks a lot of features I want to implement, and I need to write more consumers. Also, I'm looking to move from Express (which is quick and easy) to something more modern. Possible candidates are Koa (I've been aching to try out generators), Sails.js (although that is very heavy for what we need) or something on top of express using Promises.*


License
-------
saildata-server: An implementation of a Signal K server for boats.
Copyright (C) 2014 Fabian Tollenaar <[email protected]>

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
21 changes: 21 additions & 0 deletions index.js
Original file line number Diff line number Diff line change
@@ -1 +1,22 @@
/*
*
* saildata-server: An implementation of a Signal K server for boats.
* Copyright (C) 2014 Fabian Tollenaar <[email protected]>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/


module.exports = require('./lib');
21 changes: 21 additions & 0 deletions lib/config/development.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
/*
*
* saildata-server: An implementation of a Signal K server for boats.
* Copyright (C) 2014 Fabian Tollenaar <[email protected]>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/


(function() {

"use strict";
Expand Down
23 changes: 22 additions & 1 deletion lib/config/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,25 @@
(function() {
/*
*
* saildata-server: An implementation of a Signal K server for boats.
* Copyright (C) 2014 Fabian Tollenaar <[email protected]>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/


(function() {

"use strict";

Expand Down
23 changes: 22 additions & 1 deletion lib/config/production.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,25 @@
(function() {
/*
*
* saildata-server: An implementation of a Signal K server for boats.
* Copyright (C) 2014 Fabian Tollenaar <[email protected]>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/


(function() {

"use strict";

Expand Down
23 changes: 22 additions & 1 deletion lib/config/staging.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,25 @@
(function() {
/*
*
* saildata-server: An implementation of a Signal K server for boats.
* Copyright (C) 2014 Fabian Tollenaar <[email protected]>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/


(function() {

"use strict";

Expand Down
23 changes: 22 additions & 1 deletion lib/controllers/config.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,25 @@
(function() {
/*
*
* saildata-server: An implementation of a Signal K server for boats.
* Copyright (C) 2014 Fabian Tollenaar <[email protected]>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/


(function() {

"use strict";

Expand Down
21 changes: 21 additions & 0 deletions lib/controllers/wifi.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
/*
*
* saildata-server: An implementation of a Signal K server for boats.
* Copyright (C) 2014 Fabian Tollenaar <[email protected]>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/


(function() {

"use strict";
Expand Down
20 changes: 20 additions & 0 deletions lib/index.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,24 @@
/*
*
* saildata-server: An implementation of a Signal K server for boats.
* Copyright (C) 2014 Fabian Tollenaar <[email protected]>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/


(function() {

var express = require('express')
Expand Down
21 changes: 21 additions & 0 deletions lib/lib/Multiplexer.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
/*
*
* saildata-server: An implementation of a Signal K server for boats.
* Copyright (C) 2014 Fabian Tollenaar <[email protected]>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/


var colors = require("colors");
var EventEmitter = require("events").EventEmitter;
var _ = require("lodash");
Expand Down
21 changes: 21 additions & 0 deletions lib/lib/Provider.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
/*
*
* saildata-server: An implementation of a Signal K server for boats.
* Copyright (C) 2014 Fabian Tollenaar <[email protected]>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/


var _ = require('lodash')
, colors = require('colors')
, uuid = require('node-uuid')
Expand Down
20 changes: 20 additions & 0 deletions lib/providers.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,23 @@
/*
*
* saildata-server: An implementation of a Signal K server for boats.
* Copyright (C) 2014 Fabian Tollenaar <[email protected]>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/

(function() {

var _ = require('lodash');
Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "saildata-server",
"version": "0.1.3",
"description": "Central server for boats equipped with a boat controller. Multiplexes any incoming data in the SignalK format, outputs a single SignalK stream over WebSockets.",
"description": "An implementation of a [Signal K](http://signalk.github.io) central server for boats.",
"main": "index.js",
"scripts": {
"start": "node ./index"
Expand All @@ -18,7 +18,7 @@
"nautic"
],
"author": "Fabian Tollenaar",
"license": "MIT",
"license": "GPLv3",
"devDependencies": {
"tape": "^2.12.1"
},
Expand Down
21 changes: 21 additions & 0 deletions providers/__gps/signalk.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,24 @@
/*
*
* saildata-server: An implementation of a Signal K server for boats.
* Copyright (C) 2014 Fabian Tollenaar <[email protected]>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/


var nmea = require('nmea');
var _ = require('lodash');

Expand Down
21 changes: 21 additions & 0 deletions providers/_gps
Original file line number Diff line number Diff line change
@@ -1,5 +1,26 @@
#!/usr/bin/env node

/*
*
* saildata-server: An implementation of a Signal K server for boats.
* Copyright (C) 2014 Fabian Tollenaar <[email protected]>
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/


if(typeof process.send !== 'function') {
return process.exit();
}
Expand Down
Loading

0 comments on commit d2410cd

Please sign in to comment.