-
Notifications
You must be signed in to change notification settings - Fork 17
Guide to the Repos
The Waggle code base consists of a number of different repos. This document is intended to provide an overview of how all of these fit together.
The beehive stack is our server side code base. It consists primarily of Docker containers and a set of tools for exporting our datasets.
Container code and tools for all the main services on the server side.
The node stack makes up all the software and firmware which collectively gets deployed to our nodes. It's broken up into a number of repos which are deployed to the node controller, edge processor devices and our two custom management and sensor boards.
Contains code and tools common to node controller and edge processor.
Contains code and tools specific to node controller, in particular, things related to node level tasks suchs as registration and managing connections to beehive.
Contains code and tools specific to edge processor, in particular, related to the image and audio processing pipeline.
Contains a number of different "plugins" which can be run on the node. Plugins are typically small pieces of code for reading and processing sensor data, which is then enqueued to be sent to beehive.
Contains firmware and tools for the Wagman, our custom device for monitoring and keeping the node alive.
Contains firmware and tools for the Coresense, our custom sensor board used to collect a wide-variety of environmental data. This is currently configured to be read by a plugin on the node controller.
We also maintain a few common tools and libraries to help ouselves and others write plugins and process the datasets.
Contains a variety of tools for working with the datasets.
pywaggle is our Python module providing a variety of functionality for things like writing plugins and working with our custom protocols.
eWaggle is an in-development C/C++ implementation of similar functionality to the pywaggle module targetting small devices and microcontrollers.