MCPcopy Index your code
hub / github.com/DexterInd/GrovePi

github.com/DexterInd/GrovePi @1.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.3.0 ↗ · + Follow
2,079 symbols 5,850 edges 497 files 298 documented · 14%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

GrovePi: The Raspberry Pi Meets Grove Sensors

GrovePi is an open source platform for connecting Grove Sensors to the Raspberry Pi. Create your Internet of Things devices and inventions without the need for soldering! Picture

There are over 14 million Raspberry Pi in the wild and people are using it for some awesome projects. From teaching kids to code to cluster computing, the Raspberry Pi is taking over the computing world. We believe combining the power of code with easy to use sensors and devices will be revolutionary.

We brought Grove and Raspberry Pi together in a simple and affordable way. Grove sensors allow you to interact and monitor the world. Raspberry Pi lets you store and process data, and bring the real world to the Raspberry Pi and the web.
The GrovePi brings both Grove Sensors and the popular Raspberry Pi together in a simple, elegant, and open source design.

How Does it Work?

The GrovePi board slips over the Raspberry Pi. Connect the Grove Sensors to the GrovePi board. Upload your program. Begin taking in the worlds data!

Raspberry Pi Compatibility

The GrovePi is compatible with the Raspberry Pi models A, A+, B, B+, 2, and 3.

Getting Started

Getting started is easy. Check out our Getting Started With GrovePi Guide here. We have an extensive library that covers most Grove sensors. You can find it on the Github repo. You won’t need to hack much at all with our library: get started coding in Python and C now!

Quick Install

In order to quick install the GrovePi repository, open up a terminal and type the following command:

curl -kL dexterindustries.com/update_grovepi | bash

The same command can be used for updating the GrovePi to the latest version.

For more details on how you can install/update your GrovePi, please check this README.

Documentation

The documentation for the GrovePi Python library can be read here.

Scratch Support

Once you've done the above command, you can install Scratch support if you want it. This step is optional.

sudo bash /home/pi/Dexter/GrovePi/Script/install_scratch.sh

If your SD card has Scratch 2.0 installed on it, then this will install GrovePi support for it. GrovePi integration for Scratch 1.4 is also getting installed.

Want to use a sensor not in the library yet?

Ask us in the forums. Want to use the GrovePi in a language not currently supported? Ask and we will help.

Programming the GrovePi

The GrovePi can be programmed in Python, C, C#, Go, and NodeJS on the Raspberry Pi. Simply start with one of our example projects or example code.
The GrovePi uses an Arduino to interface between the Raspberry Pi and the Grove Sensors, and comes programmed with a standard firmware. The firmware can be rewritten from the Raspberry Pi.

Getting Help

Need help? We have a forum here where you can ask questions or make suggestions.

Getting Ideas

Need an idea to get started? We have a few project examples to get your creative juices flowing.

Getting Into It

Want to hack it open or make your own from scratch? With full hardware and software designs, you can remix and duplicate to your hearts content.

See more at the GrovePi Site

License

The MIT License (MIT)

GrovePi for the Raspberry Pi: an open source platform for connecting Grove Sensors to the Raspberry Pi. Copyright (C) 2017 Dexter Industries

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Extension points exported contracts — how you extend this code

InputSensorObserver (Interface)
Provides the interface that all concrete InputSensorObservers must implement. InputSensorObserver objects will receive u [6 …
Projects/java/ButtonRotaryObserver/Project/grovepi/observer/InputSensorObserver.java
Example (Interface)
(no doc) [34 implementers]
Software/Java8/examples/src/org/iot/raspberry/examples/Example.java
ISHTTemperatureAndHumiditySensor (Interface)
Software/CSharp/GrovePi/I2CDevices/SHTTemperatureAndHumiditySensor.cs
GrovepiListener (Interface)
(no doc) [2 implementers]
Software/Java/src/com/dexterind/grovepi/GrovepiListener.java
ButtonInvoker (Interface)
Declares the methods that are called when ButtonPressDistinguisher identifies a single, double, and long press respectiv [2 …
Projects/java/ButtonRotaryObserver/Project/grovepi/observer/ButtonInvoker.java
GroveAnalogInListener (Interface)
(no doc) [2 implementers]
Software/Java8/GrovePi-spec/src/main/java/org/iot/raspberry/grovepi/GroveAnalogInListener.java
IGrovePi (Interface)
(no doc)
Software/CSharp/GrovePi/GrovePi.cs
RotaryInvoker (Interface)
Declares the methods that are called when RotaryAngleDeterminer receives an update containing the current angle of the r [2 …
Projects/java/ButtonRotaryObserver/Project/grovepi/observer/RotaryInvoker.java

Core symbols most depended-on inside this repo

sleep
called by 626
Software/Java8/GrovePi-spec/src/main/java/org/iot/raspberry/grovepi/GroveIO.java
pinMode
called by 114
Software/Cpp/grovepi.cpp
add
called by 77
Software/Java8/GrovePi-spec/src/main/java/org/iot/raspberry/grovepi/GroveDevices.java
digitalWrite
called by 73
Software/Python/grovepi.py
log
called by 73
Software/Java/src/com/dexterind/grovepi/utils/Debug.java
reset
called by 69
Firmware/Source/grovepi/src/ir_Lego_PF_BitStreamEncoder.h
n
called by 68
docs/assets/javascripts/application.a59e2a89.js
sendCommand
called by 68
Software/CSharp/GrovePi/I2CDevices/OLEDDisplay9696.cs

Shape

Method 946
Function 877
Class 189
Interface 42
Enum 20
Struct 5

Languages

Python31%
C#21%
TypeScript16%
Java13%
C++10%
C6%

Modules by API surface

Software/CSharp/GrovePi/DeviceFactory.cs69 symbols
Software/Python/grovepi.py54 symbols
Software/CSharp/GrovePi/I2CDevices/SixAxisAccelerometerAndCompass.cs44 symbols
Software/CSharp/GrovePi/I2CDevices/OLEDDisplay128X64.cs39 symbols
Software/CSharp/GrovePi/I2CDevices/OLEDDisplay9696.cs36 symbols
Script/multi_grovepi_installer/grovepi7.py36 symbols
Script/multi_grovepi_installer/grovepi6.py36 symbols
Script/multi_grovepi_installer/grovepi5.py36 symbols
Script/multi_grovepi_installer/grovepi4.py36 symbols
Script/multi_grovepi_installer/grovepi3.py36 symbols
Software/Scratch/websocket_server.py35 symbols
docs/site/assets/javascripts/lunr/lunr.tr.js34 symbols

For agents

$ claude mcp add GrovePi \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page