GithubHelp home page GithubHelp logo

electrisense-client's Introduction

The software detailed in this documentation was designed and implemented for the purposes of connecting a Carambola to the Firefly's (designed by Sidhant Gupta) microprocessor and a server hosted on a local network.

Software

The client software consists of two main entities: the consumer and relay. Their purposes are as follows.

Consumer

The consumer is a realtime process designed to handle all the communication with the Firefly's microprocessor. Its task is singular: to move any data available in the micro's data buffer to a larger buffer located on the Carambola. This buffer, described in buffer.h, is shared between the consumer and relay such that the relay may take data in that buffer and process it. Because of the memory constraints of the microprocessor, the consumer must always be able to read data in the micro's buffer at a consistent fast pace. For this reason, the consumer does little additional processing. In the case of the relay process dying, the consumer will handle restarting the relay and keeping the data safe on the large SD card storage medium.

Relay

The relay is a process tasked with moving any data available in either a) the shared buffer, or b) the SD card storage medium. The destination for this data will be a server located on the same local network as the Carambola. This is to ensure that network latency is minimal, so that a minimal amount of processor time will be used sending the data across the network.

@authors Larson, Patrick; Pickett, Cameron

electrisense-client's People

Contributors

capickett avatar palarson avatar

Stargazers

 avatar

Watchers

 avatar  avatar

Forkers

darcyg k1132

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.