All Projects → adkron → grovepi

adkron / grovepi

Licence: Apache-2.0 license
Use the GrovePi in Elixir

Programming Languages

elixir
2628 projects

Projects that are alternatives of or similar to grovepi

hap
A HomeKit Accessory Protocol (HAP) Implementation for Elixir
Stars: ✭ 50 (+8.7%)
Mutual labels:  nerves
nerves system ev3
Base Nerves system configuration for the Lego EV3
Stars: ✭ 23 (-50%)
Mutual labels:  nerves
elixir bme680
An Elixir library to interface with the BME680 (and BME280) environmental sensor
Stars: ✭ 19 (-58.7%)
Mutual labels:  nerves
elixir-opencv
OpenCv NIF Bindings for Erlang/Elixir.
Stars: ✭ 30 (-34.78%)
Mutual labels:  nerves
nerves thermal camera
Thermal camera imaging with Elixir, Nerves, Raspberry Pi, and a MLX90640 sensor
Stars: ✭ 28 (-39.13%)
Mutual labels:  nerves
mdns lite
A simple, no frills mDNS implementation in Elixir
Stars: ✭ 29 (-36.96%)
Mutual labels:  nerves
mix tasks upload hotswap
Deploy local code changes to the remote node(s) in a hot-code-swapping manner
Stars: ✭ 31 (-32.61%)
Mutual labels:  nerves
inky
A library for managing Inky e-ink displays from Elixir.
Stars: ✭ 60 (+30.43%)
Mutual labels:  nerves
Nerves
Craft and deploy bulletproof embedded software in Elixir
Stars: ✭ 1,778 (+3765.22%)
Mutual labels:  nerves
pigpiox
An Elixir wrapper around pigpiod for the Raspberry PI
Stars: ✭ 29 (-36.96%)
Mutual labels:  nerves
kiwi
Kiwi turns your Pimoroni Keybow into a fully customizable poor-man's Elgato Stream Deck!
Stars: ✭ 40 (-13.04%)
Mutual labels:  nerves
nerves livebook
Develop on embedded devices with Livebook and Nerves
Stars: ✭ 135 (+193.48%)
Mutual labels:  nerves
scenic asteroids
A toy Asteroids clone written in Elixir with the Scenic UI library
Stars: ✭ 42 (-8.7%)
Mutual labels:  nerves
nerves init gadget
Simple initialization for devices running Nerves
Stars: ✭ 53 (+15.22%)
Mutual labels:  nerves
shoehorn
Handle OTP application failures without restarting the Erlang VM
Stars: ✭ 36 (-21.74%)
Mutual labels:  nerves

GrovePi

Build Status

Use the GrovePi+ and sensors in Elixir on a Raspberry Pi. If you have a Beaglebone Green or other port that has direct access to sensors (rather than going through a GrovePi+), take a look at nerves_grove.

Installation

If available in Hex, the package can be installed by adding grovepi to your list of dependencies in mix.exs:

def deps do
  [{:grovepi, "~> 0.5.1"}]
end

The grovepi library uses Elixir Circuits - I2C for I2C communication to the GrovePi+. This only works on Raspberry Pi computers. If you're working on another platform, a stub is available for debugging and testing. When building grovepi standalone, be aware that circuits_i2c is only used for MIX_ENV=prod builds. To use the stub in your own programs, add the following to your configuration:

  config :grovepi, :i2c, GrovePi.I2C

API Documentation

See the generated documentation at hexdocs.pm/grovepi.

Contributions

We welcome contributions to tackle issues in GrovePi.

Setup

First fork the repository and fetch your own copy

mix deps.get
mix test

Submitting a Pull Request

  1. Fork the repository.
  2. Create a topic branch.
  3. Add tests for your unimplemented feature or bug fix.
  4. Run mix test. If your tests pass, return to step 3.
  5. Implement your feature or bug fix.
  6. Run mix test. If your tests fail, return to step 5.
  7. Commit, and push your changes.
  8. Submit a pull request.

Running Tests

All tests can be run with mix test or a single test file can be run with mix test path/to/file_test.exs.

If you would like tests to run in the background as you change files you can run mix test.watch.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].