Skip to content

jfcloutier/ev3

Repository files navigation

Ev3: Lego Robotics in Elixir

THIS REPO IS NOW OBSOLETE

Goto https://github.com/StarlitSoftware/marvin/tree/develop for the latest

Licensing

You can do whatever you want.

Objectives

The goals of this project are:

  • Give Elixir coders access to the EV3 via EV3DEV -- DONE --
  • Implement a function domain language for interacting with the EV3 brick --DONE --
  • Take full advantage of processes and OTP to implement a "society of mind" model, with perception, motivation, behavior and actuation. --DONE--
  • Implement a robot control panel in Elm and Phoenix. --DONE--
  • Get two robots to interact and even cooperate. --TBD--
  • Having fun! -- so far so good --

This project was inspired by Torben Hoffmann. Thanks Torben!

Prerequisites

  • You will need a Lego Mindstorms EV3 kit
  • A micro-SD card with EV3Dev on it
  • Some way to communicate with the EV3 brick (Bluetooth or WiFi - WiFi works on Linux)
  • Erlang and Elixir installed on both you computer and the EV3

Go to my blog for further instructions, pointers and examples.

Development

I use the following shell script to quickly upload and install code on the EV3 brick:

On my computer's .bashrc file:

alias deploy-ev3='pushd /projects/ev3; mix compile; node_modules/brunch/bin/brunch build; pushd /projects; tar -cf ev3.tar --exclude=".git" --exclude=".*" --exclude=".gitignore" ev3; scp ev3.tar robot@192.168.1.100:/ev3.tar; popd; popd'

On the EV3 brick, in my .bashrc file:

alias install-ev3='pushd ~;rm -r ev3;tar -xvf ev3.tar;popd'

You will need to modify them to fit your own context.

About

Library for programming Mindstorm EV3 robots in Elixir

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published