Skip to content
forked from jfcloutier/ev3

Library for programming Mindstorm EV3 robots in Elixir

Notifications You must be signed in to change notification settings

danielwillemse/ev3

 
 

Repository files navigation

#Ev3: Lego Robotics in Elixir

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

Languages

  • Elm 52.0%
  • JavaScript 32.4%
  • Elixir 15.4%
  • Other 0.2%