Skip to content
This repository has been archived by the owner. It is now read-only.
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


What is it?

Mariah is a hub for your Smart Boat. Sensors will send it data, which will be collected and emitted to customizable endpoints.

Data Flow

  • Gathers from various sensors and updates a state object

    • GPS
    • Pitch, Roll, Yaw
    • Temp/Humidity (planned)
  • Provides an API for accessing state

    • Sockets? MQTT? I'd like a pub-sub model to push data to local clients.
  • Optional- sends state object to AWS IoT on an interval

    • 10 seconds for cost considerations


  1. Raspberry Pi
  2. Adafruit Ultimate GPS Breakout
  3. USB to TTL Cable


  1. Expansion Board
  2. Breadboard


  1. npm install
  2. node app

Cloud Setup

IoT Setup

  1. Generate an IoT cert with the one-click certification creation.
  2. Move certs to /certs
  3. Update /config.js to match cert locations

IoT Rules

  1. Configure IoT Rules logging
    • Create IAM Role
    • Turn on logging in the IoT Rules settings pane
  2. Create a bucket in the same region as your device
  3. Create a rule
    • Attribute: *
    • Topic filter: gps
    • Condition: leave blank
  4. Add action (Store messages in Amazon S3 bucket)
    • S3 bucket: use the bucket created earlier
    • Key: ${topic()}/${timestamp()}
    • Create a new role to grant IoT access


This library relies on connection to a GPSD server to receive data. Use the gpsd-fake library to create a local GPSD server. By default, it should be broadcasting on the correct ports and there will be no additional configuration needed. The GPSD server needs to be running before starting Mariah.


  • Has a connector to each sensor
    • Clinometer
    • DHT
    • GPS
  • Publishes sensor data to MQTT Server
  • Attempts to send data to AWS IoT if possible

Mariah App

  • Connects to MQTT Server
  • Displays real-time sensor data provided via MQTT


No description, website, or topics provided.



No releases published


No packages published