All Projects → PileProject → drivecommand

PileProject / drivecommand

Licence: other
A communication library which connects a robot (EV3, NXT, etc.) and a device (Android, PC, etc.)

Programming Languages

java
68154 projects - #9 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to drivecommand

Lego-Mindstorms
Hints, tips, and tricks for the LEGO Mindstorms products (RCX, NXT, EV3, Robot Inventor).
Stars: ✭ 49 (+276.92%)
Mutual labels:  lego, mindstorms, ev3, nxt
lego-mindstorms-51515-jetson-nano
Combines the LEGO Mindstorms 51515 with the NVIDIA Jetson Nano
Stars: ✭ 31 (+138.46%)
Mutual labels:  robot, lego, mindstorms
Plus
Otto DIY+ ("Otto DIY with steroids" + Bluetooth + APP + switch + sensors + strength +...
Stars: ✭ 100 (+669.23%)
Mutual labels:  robot, bluetooth
ocaml-mindstorm
Library to drive Lego mindstorm NXT bricks from OCaml. Communication with the NXT brick is done through bluetooth.
Stars: ✭ 15 (+15.38%)
Mutual labels:  lego, mindstorms
ev3dev-lang-cpp
C++ language bindings for http://ev3dev.org
Stars: ✭ 58 (+346.15%)
Mutual labels:  lego, mindstorms
pybricksdev
pybricksdev: Python Package with Pybricks developer tools
Stars: ✭ 24 (+84.62%)
Mutual labels:  lego, mindstorms
gobot
Golang framework for robotics, drones, and the Internet of Things (IoT)
Stars: ✭ 7,869 (+60430.77%)
Mutual labels:  robot, bluetooth
Pixelbot
Stars: ✭ 90 (+592.31%)
Mutual labels:  robot, bluetooth
Invisible Highway
Invisible Highway is an experiment in controlling physical things in the real world by drawing in AR. Simply make a pathway along the floor on your phone and the robot car will follow that path on the actual floor in your room. A custom highway with scenery is generated along the path to make the robots a little more scenic on your phone screen.
Stars: ✭ 118 (+807.69%)
Mutual labels:  robot, bluetooth
daydream-node
Quick Node.js module to connect to the Daydream controller and receive all the data
Stars: ✭ 17 (+30.77%)
Mutual labels:  bluetooth
SmartSpin2k
Transform your spin bike into a Smart Trainer!
Stars: ✭ 88 (+576.92%)
Mutual labels:  bluetooth
Gormsson
Harald "Bluetooth" Gormsson was a king of Denmark and Norway.
Stars: ✭ 25 (+92.31%)
Mutual labels:  bluetooth
MindSetUWP
NeuroSky MindWave & MindWave Mobile EEG Headset library for Windows 10 Universal applications
Stars: ✭ 14 (+7.69%)
Mutual labels:  bluetooth
RWHEC-Tabb-AhmadYousef
This code provides methods for robot-world, hand-eye(s) calibration, updated in June 2018..
Stars: ✭ 32 (+146.15%)
Mutual labels:  robot
sblendid
A JavaScript Bluetooth Low Energy (BLE) Library
Stars: ✭ 60 (+361.54%)
Mutual labels:  bluetooth
theheraldproject.github.io
Herald - Proximity Detection Protocol and research documentation, including the Fair Efficacy Formula
Stars: ✭ 17 (+30.77%)
Mutual labels:  bluetooth
backend
Python backend exposing an API to control, configure and program CoderBot.
Stars: ✭ 35 (+169.23%)
Mutual labels:  robot
ceres robot
ceres robot ros driver and tools
Stars: ✭ 43 (+230.77%)
Mutual labels:  robot
react-native-easybluetooth-classic
⚛ A Library for easy implementation of Serial Bluetooth Classic on React Native (Android Only).
Stars: ✭ 44 (+238.46%)
Mutual labels:  bluetooth
dynamixel-workbench
ROS packages for Dynamixel controllers, msgs, single_manager, toolbox, tutorials
Stars: ✭ 91 (+600%)
Mutual labels:  robot

DriveCommand

master: Build Status

develop: Build Status

A general library written in Java which enables robots and devices to communicate with each other through the same interface.

Available robots

We currently support 3 robots:

They can communicate with any device (PC, Android, etc.) with this library.

Installation

From gradle

Please write the following codes in your build.gradle.

repositories {
    maven { url 'http://pileproject.github.io/drivecommand/' }
}

dependencies {
    compile 'com.pileproject:drivecommand:VERSION'
}

v2.3.0 is the latest version.

From jar file

After building sources (See Build), you can find drive-command.jar in build/libs.

Build

Linux & OS X:

./gradlew build

Windows:

./gradlew.bat build

Run Test and Generate Javadoc

Linux & OS X:

./gradlew test
./gradlew javadoc

Windows:

./gradlew.bat test
./gradlew.bat javadoc

Test reports will be generated in build/reports/tests (See index.html). Javadocs will be generated in build/docs/javadoc (See index.html).

Usage example

To use this library, you should prepare an implementation of ICommunicator to specify the master device (PC, Android, etc.).

As an example, we are developing drive, an Android application that controls EV3/NXT/Pile Robot and it uses BluetoothCommunicator, which is an implementation of ICommunicator, to control robots with an Android device via Blutooth.

After preparing an implementation of ICommunicator, you can make an object of an implementation of MachineBase and access to a robot. In drive, we create a machine like the following (using NxtMachine):

// preparation (create an BluetoothDevice with MAC address)
BluetoothAdapter adapter = BluetoothAdapter.getDefaultAdapter();
BluetoothDevice device = adapter.getRemoteDevice(address);

NxtMachine machine = new NxtMachine(new BluetoothCommunicator(device));

Development setup

Please fork this repository, modify it and send Pull Request.

If you want to make more machines available like Drone, you can follow the below steps.

  1. Make a folder in model folder The new folder should be named after your device like drone.

  2. Implement an implementation of MachineBase and related classes There are 3 examples (ev3, nxt, pile). They contain implementations of MachineBase and Input/Output port classes, etc.

Release History

  • 2.3.0
    • CHANGE: Rename LineSensor to LightSensor
  • 2.2.0
    • CHANGE: Clean up JavaDocs
  • 2.1.1
    • CHANGE: Remove timeout from write/read
    • ADD: Add more tests
  • 2.1.0
    • CHANGE: Update test libraries
  • 2.0.1
    • CHANGE: Remove applyStatus()
  • 2.0.0
    • CHANGE: Refactor codes roughly
    • Release: The first proper release
  • 1.0.0
    • First: Import our old library from bitbucket

Meta

PILE Project – @pileproject - [email protected]

Distributed under the Apache License, Version 2.0. See LICENSE for more information.

Let's discuss anything on our Mailing List!

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].