Actions

Difference between revisions of "Platform-agnostic Mindstorm EV3"

From Just in Time

(Created page with "For now, this page just holds some notes and links, while I'm preparing for the Mindstorm project. Initial goal is to get a graphical programming environment up and running o...")
 
 
(6 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
For now, this page just holds some notes and links, while I'm preparing for the Mindstorm project.
 
For now, this page just holds some notes and links, while I'm preparing for the Mindstorm project.
  
Initial goal is to get a graphical programming environment up and running on linux with an EV3 set running regular firmware.
+
Initial goal is to get a graphical programming environment up and running '''on linux''' with an EV3 set running regular firmware.
  
  
Line 8: Line 8:
 
* [http://www.monobrick.dk/guides/how-to-establish-a-wifi-connection-with-the-ev3-brick/ how to establish a wifi connection]
 
* [http://www.monobrick.dk/guides/how-to-establish-a-wifi-connection-with-the-ev3-brick/ how to establish a wifi connection]
 
* USB. Is this HID (as NXT appears to be), or serial?
 
* USB. Is this HID (as NXT appears to be), or serial?
 +
 +
==Programming Language (and environment)==
 +
For now, I will be looking at integrating this with [http://llk.github.io/scratch-extension-docs/ scratch]. Maybe I can get extensions to work without the developer account requirement by [http://www.computacaonaescola.ufsc.br/?page_id=476&lang=en installing it locally]. Maybe I should just spend time on figuring out how to get a developer account.
 +
 +
* [http://www.zaluum.com/ Zaluum] looks good, but is geared towards data processing, not directive languages.
 +
* How about [https://developers.google.com/blockly/ Blockly]? Comes with a lot less bagage than Scratch. No flash, which is a plus.
 +
 +
==Architecture==
 +
* scratch javascript to wifi? Since this is initiated through UDP, this may require a proxy service to run.
 +
** note to self: creating an (http-) portal/proxy service to "all visible EV3 devices" may be useful all by itself. In the end, I just want to xmlrpc to the brick.
 +
* scratch to USB serial or HID should work, but requires a cable.
 +
* Direct execution (from the scratch environment) vs. program-and-run.
 +
 +
==Firmware alternatives==
 +
Although not currently investigated, communications may be a lot easier if the smart brick runs a custom firmware.
 +
* [http://www.lejos.org/ LeJOS] (Java)
 +
* [http://www.monobrick.dk/software/ev3firmware/ MonoBrick], for .NET languages
 +
* and of course, the original firmware [http://botbench.com/blog/2013/07/31/lego-mindstorms-ev3-source-code-available/ is available] as open source.

Latest revision as of 22:23, 1 February 2015

For now, this page just holds some notes and links, while I'm preparing for the Mindstorm project.

Initial goal is to get a graphical programming environment up and running on linux with an EV3 set running regular firmware.


Communication Protocols

Programming Language (and environment)

For now, I will be looking at integrating this with scratch. Maybe I can get extensions to work without the developer account requirement by installing it locally. Maybe I should just spend time on figuring out how to get a developer account.

  • Zaluum looks good, but is geared towards data processing, not directive languages.
  • How about Blockly? Comes with a lot less bagage than Scratch. No flash, which is a plus.

Architecture

  • scratch javascript to wifi? Since this is initiated through UDP, this may require a proxy service to run.
    • note to self: creating an (http-) portal/proxy service to "all visible EV3 devices" may be useful all by itself. In the end, I just want to xmlrpc to the brick.
  • scratch to USB serial or HID should work, but requires a cable.
  • Direct execution (from the scratch environment) vs. program-and-run.

Firmware alternatives

Although not currently investigated, communications may be a lot easier if the smart brick runs a custom firmware.