1. Alguém aqui percebe de Java?
2. Alguém aqui alguma vez usou LeJOS?
Se 1 ou 2:
3. Alguém me sugere um "Java for dummies" sem grandes complicações nem floreados?
Aqui o nosso presidente encarregou-me de uma empreitada para um próximo hackathon: ensaiar a possibilidade de utilizar LeJOS para substituir com vantagem a possibilidade que o EV3-G tem de fazer daisy chainning de múltiplos EV3.
Há uma feature do LeJOS que se chama PAN (Personal Area Network) e em principio permite o que o Fernando quer.
Eu tentei algures no tempo usar um NXT com LeJOS e mandei tudo às urtigas. Para começar porque tenho um ódio de estimação ao Java desde os tempos da faculdade e como administrador de sistemas não melhorou (saem alertas de segurança para Java todas as semanas, já nem leio). Mas o Fernando nunca mais se cala se não experimentarmos portanto vamos lá.
O meu problema com o Java não é a linguagem em si, mais coisa menos coisa é C ou C++ até tem o raio dos ponto-e-virgula.
É para fazer o raio de um Hello World ter de criar um projecto com não sei quantos ficheiros.
Enfim, para usar o LeJOS com o EV3 já consegui o Hello World:
- instalei o Eclipse e adicionei a extensão ou plugin para o EV3 (em Linux mas penso que em Windows os passos sejam os mesmos, bastou seguir a Wiki)
- instalei o firmware do LeJOS num cartão microSD (em Linux é fácil mas em Windows tb não deve ser muito complicado)
- configurei o Eclipse para gerar código JRE 1.7 em vez de 1.8 porque dentro do firmware é 1.7 (isto não vinha na Wiki - antes de o fazer todos os meus programas geravam unhandled exceptions numa letra muito miudinha, á percebi que se queixava de qualquer coisa como "unsupported major.minor version" e pelo Google fui lá.
- gerei um programa como vem na Wiki e depois vou acrescentando linhas para testar funcionalidades. O Eclipse tem uma coisa boa que é contextualizar os erros, como eu não sei que libraries incluir (porcaria de documentação, e diz o Conchas que a do ev3dev é confusa, eles pelo menos admitem que ainda lhes falta arrumar a casa) vou usando os quick fixes do Eclipse e aos poucos vou avançando.
Exemplo para escrever uma mensagem no display, esperar 5 segundos e depois fazer o motor B rodar 360º:
Código: Selecionar todos
package plugin_test;
import lejos.hardware.lcd.LCD;
import lejos.hardware.motor.EV3LargeRegulatedMotor;
import lejos.hardware.port.MotorPort;
import lejos.robotics.RegulatedMotor;
import lejos.utility.Delay;
public class test {
private static RegulatedMotor m;
public static void main (String[] args) {
// TODO Auto-generated method stub
LCD.drawString("I hate Java", 0, 2);
LCD.drawString("but", 0, 3);
LCD.drawString("I am stubborn!!!",0,4);
Delay.msDelay(5000);
m = new EV3LargeRegulatedMotor(MotorPort.B);
m.rotate(360);
}



