Charlotte is a system for gathering, storing and analyzing NMEA data (this is data from marine sensors) in the cloud.
node-charlotte
is a Node.js
library wrapped around the Charlotte REST API
npm i node-charlotte
Using Promises:
test.js:
import { CharlotteAPI } from "node-charlotte";
const boatId = "2zGrCQC2X9X2LbkzMhFm"; // public boat
const apiKey = null; // not needed for public data
const api = new CharlotteAPI(apiKey);
api.getBoat(boatId)
.then(boat => {
console.log(boat.name); // "s/y Charlotte"
});
Using async/await
test.js
import { CharlotteAPI } from "node-charlotte";
const boatId = "2zGrCQC2X9X2LbkzMhFm"; // public boat
const apiKey = null; // not needed for public data
const api = new CharlotteAPI(apiKey);
async function main() {
let boat = await api.getBoat(boatId);
console.log(boat.name); // "s/y Charlotte"
}
main();
List all boats.
Get a specific boat.
List the NMEA devices for a specific boat.
Get the last known data for a specific boatId
, before a specific point in time
and using data resolution
:
- "0" = raw data, no averaging
- "01" = 6 seconds average data (0.1 minute)
- "1" = 1 minute average data
- "10" = 10 minutes average data
Get the seamarks (Finnish area 3D marks) around a specific point.
Get boat performance for a specific boat calculated based on the recorded data.
params
is a JSON object specifying the query parameters, that are listed in the API documentation here.
Example:
import { CharlotteAPI } from "node-charlotte";
const boatId = "2zGrCQC2X9X2LbkzMhFm";
async function main() {
var api = new CharlotteAPI();
var res = await api.getSpeeds(boatId, { variationlimits: true, unit: "kt" });
console.log(res);
}
main();
List all detected trips for a specific boat.
Get a specific trip.
Upload file filename
to the cloud storage for the specified boatId
.