CommonGarden/Grow-IoT

Name: Grow-IoT

Owner: Common Garden

Description: Open source node packages for smart growing environments.

Created: 2015-10-11 18:19:08.0

Updated: 2017-12-10 05:11:50.0

Pushed: 2017-12-17 01:47:19.0

Homepage: http://commongarden.org/

Size: 94919

Language: JavaScript

GitHub Committers

UserMost Recent Commit# Commits

Other Committers

UserEmailMost Recent Commit# Commits

README

Grow-IoT

Backers on Open Collective Sponsors on Open Collective Gitter BSD license Build Status

The Grow-IoT project is managed as a mono-repo with a bunch of seperately published packages such as:

See our basic Raspberry pi example to get started with devices.

Installing Grow-IoT

You need to install Meteor first (if you haven't already).

You will also need to install yarn, which we use to manage all the packages that comprise Grow-IoT!

You will also need to install yarn, which we use to manage all the packages that comprise Grow-IoT! See the yarn website for platform specific installation instructions.

Then clone the repo and enter the new directory:

clone https://github.com/CommonGarden/Grow-IoT
row-IoT

Finally install the needed software dependencies:


Start the Grow-IoT server with the meteor command:

or

And that's it! Visit http://localhost:3000 with your browser of choice; you should now have the application running.

Connecting devices (or virtual things)

Create a new device (click the '+' button) and create a device. Enter “test” for both the uuid and token. Then run the mock device driver (in a seperate terminal):

 packages/Grow.js/examples/test-device.js

You can find the ui component for this device in imports/things/misc/Thermostat.jsx.

Connecting sensors and actuators

In the packages directory, we've started 2 libraries to help you connect sensors and actuators and create grow systems out of them.

Hardware examples live in those packages' examples folder. Corresponding UI components live in imports/things/.

See Thing.js for more info on creating and connecting devices.

Adding custom components

To do so:

  1. Make a new CustomComponent.jsx file in imports/things/' or npm install package-name if the component is published on npm.
  2. Open imports/things/index.js.
  3. import CustomComponent from './CustomComponent'
  4. Lastly, add CustomComponent to the exported components object.

Example devices and grow systems:

More on the way! Contributions welcome!

Organization

In the repo you'll find the following directories and files:

File/Folder | Provides ————–|—————————————————————- .meteor | Meteor stuff, well documented in other places. .sandstorm | Sandstorm.io stuff ai | AI and Machine learning code client | Imports things and starts the React app. docs | Project documentation imports | API, App, and thing web component examples live here packages | Grow.js, Thing.js, and other standalone packages live here. public | Fonts and other static, public assets live here. tests | Unit and Thread conformance tests server | Imports the server code. test | Tests

Our wiki also contains a growing assortment of useful info, including:

Roadmap

There's a lot to do.

Contributors

This project exists thanks to all the people who contribute. [[Contribute]](CONTRIBUTING.md).

License

Grow-IoT is released under the 2-Clause BSD License, sometimes referred to as the “Simplified BSD License” or the “FreeBSD License”.


This work is supported by the National Institutes of Health's National Center for Advancing Translational Sciences, Grant Number U24TR002306. This work is solely the responsibility of the creators and does not necessarily represent the official views of the National Institutes of Health.