Code Monkey home page Code Monkey logo

waggle's Introduction

waggle banner

This github repository holds the source code of the Waggle project. The Waggle project webpage can be found here: www.wa8.gl

A very high level view of the pieces of this project are:

  1. A Node Controller. This is the Linux-based brain for a sensor node. Currently, we are using a hardkernel.com ODROID single-board computer to be the Node Controller. In addition to a mostly stock Linux, the Node Controller has waggle's communication libraries, extra resilience features, and support for in-situ processing

  2. The WagMan system management board for managing a sensor node. This is the failsafe for the node. It can power-cycle components, detect when the waggle node is too hot, etc.

  3. The Waggle Sensor Board (EnvSense)

  4. The Cloud-based software (Beehive)

Directories

The directories are organized as follows (in alphabetical order)

beehive: the software run on the cloud server

  • docs: documentation of the cloud server
  • msging: the cloud-side of the message layer
  • wag-view: A nice front end for browsing the data
  • wag-db: the backend storage scripts

build: all of the pieces are built (compiled, configured) and installed into this directory

comlink: the communication link (wifi router, etc)

devtools: tools needed to build and install waggle

docs: waggle-wide documentation. This directory is the result of building all the docs found in the subdirectories

guestnode: All the software that lives on the guestnodes (ODROID)

  • docs: documentation of guestnodes
  • nc-baseos: The core Linux OS distro from which we start
  • nc-wag-os: The guestnode software stack, including the basic OS
    • waggled: The command controller and client console
    • resilience: tools and scripts, such as heartbeat for deep-space operation
    • personalization: scripts and config files for personalizing a node
    • externs: external packages added to make the basic Waggle OS better
  • in-situ: audio and image computing done inside the guestnode

nodecontroller: All the software that lives on the Node Controller (ODROID)

  • docs: documentation of node controller
  • nc-baseos: The core Linux OS distro from which we start
  • nc-wag-os: The Node Controller software stack, including the basic OS
    • waggled: The command controller and client console
    • msging: The remote messaging service to the cloud
    • resilience: tools and scripts, such as heartbeat for deep-space operation
    • personalization: scripts and config files for personalizing a node
    • externs: external packages added to make the basic Waggle OS better

sensors: all of the code to interact with and read data from sensors

  • envsense: the core environmental sensing board
    • docs: documentation of the envsense software / hardware environment, and sensors
    • reader: code (firmware) running on the envsense board
  • anemometer: an experiemental anemometer
    • docs: documentation of the system
    • reader: code to read and generate a value

testing: the waggle testing framework

wagman: waggle system management board software

  • docs: documentation of the waggle management software / hardware environment
  • manager: code (firmware) loaded onto system management board

other: a temporary holding place for things that have not yet found a home in the structure above.

Developer Notes

git submodules

To clone the repository with submodules use --recursive

git clone --recursive [email protected]:waggle-sensor/waggle.git

or get submodule after you cloned without --recursive option:

cd waggle
git submodule init
git submodule update

To update a submodule use: (example: beehive-server)

cd beehive-server/
git pull origin master
cd ..
git add beehive-server
git commit -m "update submodule" -a
git push

Do such an update only if the code in the remote repository is stable and compatible to the other code in this repository. If you need to point to another commit than the latest commit, do a "git checkout ..." after the "git pull" first.

waggle's People

Contributors

rajeshxsankaran avatar wgerlach avatar seanshahkarami avatar gemblerz avatar benharsha avatar maxdrib avatar sage-service-user avatar wa8gl avatar lueptowk avatar awills11 avatar kmaccc avatar getziadz avatar arwagoner avatar jkob0233 avatar

Watchers

Cory Weber avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.