Getting started

The Moonsense Console is the central control point for the Moonsense Cloud. Using the Console, you can create projects, manage credentials and inspect sessions from the Moonsense SDK or the Recorder.

This page covers an overview of what the Moonsense Console can help you accomplish.

About the Moonsense Console

As mentioned above, you can see the Moonsense Console as the central control point for managing any resource as part of Moonsense.

By the Moonsense Cloud, we mean any combination of the SDK, Recorder, APIs, and the Console itself.

To start using the Moonsense Cloud, you need an account created using the Console. Once signed in, you will be prompted to create a project, the core resource for collecting behavioral data.

Free accounts

Free accounts are more limited can only record data using the Recorder. They also are limited from creating multiple applications and inviting other users to their projects. The retention policy for free accounts is seven days.

Free accounts can still create new Projects and create new Connections. They also can consume data via the Python SDK.

Paid accounts don't have any of the restrictions that free accounts have. To upgrade to a paid account, please get in touch with us via https://moonsense.io/contact.

Projects

A project is the core resource for collecting sensors data. The rest of the primary resources for collecting data are tied to a project: applications, sessions, connections, etc.

Connections and Labels are project-wide resources - this means that you can reuse a label across all applications and sessions and that all connections will be run for all new sessions in the project.

At the project level, you can control user membership as well - you can always add and remove users that are part of the project. Each user has full control over all the resources of the project.

We recommend using projects to isolate different environments (e.g., staging vs. production) - this way, you can have fine-grained control over who has access to data in which environment.

Member management

Once you have created a project, you can start inviting other users to this project. You can do this through the Settings tab in the left navigation (found at the left bottom of the screen).

Here you have to choose between editing project settings (like the name of it) or the team - meaning the members who have access to this project.

You can add or remove users from the current project using this functionality.

Applications

To start collecting data, you will need to create an application. Users can do this through the Apps tab of the left-side of the navigation.

Once you've created an application, you can manage its credentials by creating key pairs of public and secret keys. See the Authentication documentation page to find out more about how credentials work.

Recorders are special applications that are automatically created during the sign-up flow.

Sessions

Either through the SDK or through using the Recorder, Sessions can be created.

A Session is a single recording of sensor data. They have a specific start and stop time as specified by the duration upon creation or explicitly by the implementing application. A Session also consists of metadata surrounding the data captured and includes the ability to set details to make lookup and filtering of sessions easier (e.g., labels).

Sessions can be downloaded via the Console but keep in mind the retention period; as for the free accounts, you only have seven days to access the raw data.

You can also inspect various metadata about the collected sensor data for each session. For the actual raw data collected, you can inspect a chart of counts per minute of how the data was ingested and, for select sensors, a number of CDFs (Cumulative distribution functions).

Connections

The Moonsense Cloud offers various ways to consume ingested data: using the Python SDK or setting up webhooks.

Webhooks can be set up to either get notified of new data being available or as different events in the lifecycle of a session. We'll send an HTTP POST payload to the configured webhook URL when one of these events gets triggered.

See the Webhooks page to find out more about how they work.