EV3Dev-lang-java
A FOSS project to learn Java and create software for Mindstorms Robots using EV3Dev & the LeJOS way.
Lego Mindstorms ecosystem
Using any product from Lego Mindstorms ecosystem, the student could learn the Java programming language and Robotics in an easy way. Now, it is possible to install a complete Linux distro in the third generation of Lego Mindstorms and others companies like Mindsensors & Dexter Industries has released products which interact with Sensors & Actuators from Lego Mindstorms ecosystem and that boards can use the Power of the popular board Raspberry Pi 3.
Features included in the whole project
Lego Mindstorms features
- Regulated Motor Support
- Unregulated Motor Support
- Sensor Support (EV3 sensors)
- Sounds Support
- EV3 LCD Support
Robotics
- OpenCV support
- eSpeak TTS (Text to speech) support
- LeJOS Sensor filter support
- LeJOS local navigation stack support
- RPLidar A1/A2 (2D Lidar) support
Platforms
- EV3 Brick
- BrickPi+
- BrickPi 3
- PiStorms
Java features
- OpenJDK Java 11 support
- Java profiling tools support
- Logging support based on SLF4J
- Support for ELK stack
IO
- 2D Lidar
- USB Cameras
- IMU
- Arduino Boards
- USB GPS
OpenJDK 11 supported Learn Java with the latest version
Debian Stretch Learn Linux in an easy way
Supported EV3 Brick, Raspberry Pi 3 with BrickPi 3 & PiStorms. Exist multiples options to use this educational project
Evolutionary architecture
The project has in mind a modular architecture to be upgraded in the whole lifecycle of the EV3 product life.
- Layer
- Option
-
- Platforms
- EV3, BrickPi, BrickPi3 & PiStorms
-
- OS
- Debian Stretch
-
- Runtime
- EV3Dev
-
- JVM
- OpenJDK 11
-
- Java Library
- EV3Dev-lang-java
Getting Started
1. Read the project documentation
Review the documentation included with this project. It is the best way to start with any new technology. Read the docs
2. Review your Computer
Review if your computer has installed a Modern Java development environment. Getting Started in your computer
3. Install EV3Dev & Java in your Brick
Any Robot requires an Operating System and Java to run your projects. Follow the documentation to install EV3Dev & Java
4. Create your first project
The project provides an example project. The project include some examples and a Gradle plugin to help you in the process to deploy your program in your robot. Create your first project
$ git clone https://github.com/ev3dev-lang-java/template_project_gradle
$ cd template_project_gradle
$ vi config.gradle
// Project configuration
brick.pref {
// Main class //
mainClass = "example.programming.HelloWorld"
// Brick connection parameters //
sshHost = "10.0.0.89"
sshUser = "robot"
sshPassword = "maker"
}
public class HelloWorld {
public static void main(final String[] args) {
System.out.println("Hello World");
}
}
$ ./gradlew testConnection
$ ./gradlew getInstaller
$ ./gradlew installJavaLibraries
$ ./gradlew clean deployRun
Stable projects
-
OpenJDK for EV3
A custom Build of OpenJDK 9/10/11/12 for EV3, a Lego Mindstorms Brick using ARM Soft Float.
-
lejos-commons
LeJOS interfaces & utilities
-
EV3Dev-lang-java
Java library to interact with EV3Dev interface to manage Sensors & actuators from Lego Mindstorms ecosystem.
-
Examples
A repository with examples to use with the library ev3dev-lang-java.
-
template-project-gradle
A Ready to use ev3dev-lang-java project to help users with the task to begin a new project with Gradle from Scratch.