Skip to content

Instantly share code, notes, and snippets.

View hshrews's full-sized avatar
💥

Heather Shrewsbury hshrews

💥
View GitHub Profile

Part 1: Data acquisition from MQTT broker

Context

At AMMP we acquire and process data from a range of different devices and vendors, in the context of (renewable) energy systems. While we do much of our data acquisition over REST APIs, we also have dataloggers deployed at several hundred sites. These read data directly from the energy equipment - such as PV inverters or batteries - and send it to us over MQTT.

Details on infra/architecture

With respect to MQTT, most dataloggers send directly to the main AMMP MQTT broker at mqtt.ammp.io. We also have a staging (testing) broker at mqtt.stage.ammp.io.

We use AWS for all hosting. Most of our code runs either directly on an EC2 instance, or in an ECS container, or as a Lambda (serverless) function. We generally use ECS for more resource-intensive or long-running acquisition functions, and we prefer to use Lambdas for more "bursty" loads.

@ggorlen
ggorlen / no-delay-udacity.js
Last active August 27, 2020 17:12
skip the 5-second delay between videos on udacity
// ==UserScript==
// @name Udacity Video Delay Skipper
// @namespace http://tampermonkey.net/
// @version 0.1
// @description skip the 5-second delay between videos on udacity
// @author ggorlen
// @match https://classroom.udacity.com/courses*
// @grant none
// ==/UserScript==