Saturday, October 12, 2013

Experimentations with leJOS

Experimentations with leJOS

This is a very, very brief description of my experimentation with leJOS; getting it up and running and executing the initial precompiled Hello World sample-program.

First off, I simply followed the guide located here. Below will be comments of where I deviated from the descriptions of the guide, but I recommend you take a look at the above link, as I will reference to it directly in the below text.

Hardware/software

Below is a list of hardware and software I used to get leJOS up and running on my brick-labtop setup.
  1. Labtop running Ubuntu 13.04
  2. Brick Hardware: V0.60
  3. Brick Software: V1.03E
  4. Wifi-Dongle: Netgear N150 (WNA 1100)
  5. Micro-SD Card: ScanDisk Ultra microSDHC 16 GB Android
  6. Card Reader/writer: Transcend RDF5K cardreader SDHC/XC/UHS1-
  7. Wireless router: Cisco Linksys E4200
A quick run-though of my thoughts behind each of these seem to be in order. Number 1. Ubuntu for my labtop: While it is, according to the guide, possible to simply run Linux emulated/virtually, I thought that this would simply add another layer of possible failure to my initial concerns regarding the whole operation. I see no real problem with emulating the software instead of switching operation system, but on the whole, I prefer to work with what is "natively" thought for a given software-solution. I'll continue to test all the software from LEGO on a separate Windows 8 machine, if needed.
I updated my brick fairly recently and the hardware version is simply what the brick informs me, when looking at the "brick information" menu-item of the LEGO-software interface.
The dongle was more or less an accident. I got it from somebody else who was planning to experiment with EV3, but then decided against it after purchasing the dongle. Accidentally (maybe?) it's exactly the same dongle recommended by the guide, and the only explicit model supported by the brick (though all other modes with the same chip-set should be supported as well).
The wireless router was simply what I had available to me at home. My network was set up with a WPA2 authentication, which to my pleasant surprise, was exactly the same Andy used for his guide. Nice.
The card reader was practical, and more importantly, actually in stock when I purchased the micro-SD card.
Lastly I get to the microSD card itself. This one actually took a bit of thought. The guide simply suggests any card of at least 2 Gb capacity. It says nothing about how this memory is going to be used by the brick or how much space is actually used for the leJOS system files. So more about that below!

microSD Card after leJOS
  1. 2 Partitions:
    -> Partition 1: 2 Mb of data (100% filled partition)
    -> Partition 2: ~250 Mb of data (rest of the unused space of the card)
  2. All leJOS programs are located on the card, and run from the card.
Looking at the above I'm fairly happy that I've chosen to invest in a faster-then needed card. Each microSD card has a certain classification describing read/write speed. I've chosen a card that is UHS Class 1 / Class10 (~10 Mb/s). This basically means that I can expect to be able to get read/write speeds that are better then if I had chosen a Class2 (~2 Mb/s). I have no idea how much, if at all, this is going to affect my experience with the brick, as I haven't found any documentation of how fast the brick is at reading from the card. More investigation is needed, but I have a feeling that this might be fairly relevant to the performance of the setup.

Setting up leJOS/testing

Simply following the installation-guide was enough for me. I did notice, though, that when the leJOS "welcome screen" was up there was no way to shut down the brick, except though a remote connection (for me, ssh), or by removing the battery. No need to panic, though (it did surprise me quite a bit, when I couldn't turn off the brick with the "escape" button). The brick is actually responsive though the remote connection.

Moving on, below is my first actual experiments with starting up leJOS on my brick. At first I didn't have any wifi-dongle (I had to wait a bit for that part to become available), so I tried to see if I had created the sd-card correctly under the assumption that the lack of wifi-dongle would make it quite a bit more challenging to connect to the the brick remotely.

Hardware used with brick
leJOS startup screen if no wifi-dongle is used

 Everything so far, so good. Nothing out of what I expected.
Some days later my experiments could continue, now with a wifi-dongle. This resulted in the following:

leJOS running with a wireless connection to my router

Yay. Now to test out the remote control of my now leJOS-powered brick:

Screenshot of the display seen in below video



Now that I have my hello world sample up and running, I foresee no particular difficulty in actually controlling the brick, but these experiments will probably be a bit drawn-out, as my exam period has just begun...
But I will be able to upload a post showing a running robot during the next few weeks (or a post describing a lot of problems related to getting said robot up and running).

No comments:

Post a Comment