Arduino Playground is read-only starting December 31st, 2018. For more info please look at this Forum Post

Ardulink

Ardulink (http://www.ardulink.org/) è una libreria, open source, scritta in Java. Si tratta di una libreria capace di far dialogare uno o più PC con una o più schede Arduino. La connessione di default sfrutta un cavo USB (libreria RXTX). Un'altra connessione possibile è sempre con cavo USB ma usando il protocollo di comunicazione proprio della USB (al momento questo collegamento è sfruttato per far funzionare cloni Arduino come ad esempio Digispark e PicoDuino). Inoltre è possibile sfruttare anche una connessione di rete usando due installazioni Ardulink (vedi oltre). La versione 0.4.1 di Ardulink ha aggiunto la connessione Bluetooth fra quelle disponibili.

La libreria offre anche una serie di componenti SWING già pronti che si possono utilizzare per confezionare GUI avanzate e un'applicazione Console che è possibile lanciare su un qualsiasi computer.

Puoi vedere altre screen shot qui: http://www.ardulink.org/screen-shots/

La classe principale della libreria è la classe Link. Una volta ottenuta un'istanza di questa classe:

Link link = Link.getDefaultInstance();

oppure ad esempio

Link link = Link.createInstance("digisparkConnection", new DigisparkUSBConnection());

oppure per connessioni di rete

// Create a NetworkProxy (the Connection implementation to send data over the net)
// params are hostname and hostport
NetworkProxy connection = new NetworkProxy("127.0.0.1", 4478);

// Create a Link class (so now we use this instead of the default one)
Link link = Link.createInstance("proxyLink", connection);

si può aprire la connessione con:

boolean connected = link.connect(comPort, baudRate); // comPort could be "COM19" for windows

quindi si possono inviare messaggi dal PC verso Arduino con:

link.sendPowerPinIntensity(pin, powerValue); // To PWM pins (analogWrite)
link.sendPowerPinSwitch(pin, IProtocol.POWER_HIGH); // to digitalWrite
link.sendCustomMessage("openDoor");
link.sendCustomMessage("goAhead");

o ricevere messaggi da Arduino:

link.addDigitalReadChangeListener(new DigitalReadChangeListener() {

	@Override
	public void stateChanged(DigitalReadChangeEvent e) {
		// do something
	}

	@Override
	public int getPinListening() {
		return 11;
	}
});

link.addRawDataListener(new RawDataListener() {

	@Override
	public void parseInput(String id, int numBytes, int[] message) {
		// do something
	}
});

Informazioni relative ai messaggi si possono leggere qui: http://www.ardulink.org/ardulink-messages/

Si può realizzare anche una connessione di rete usando la connessione NetworkProxy come spiegato in questo articolo: http://www.ardulink.org/how-control-arduino-from-network/

Se avete bisogno di un chiarimento contattatemi sul mio sito (http://www.ardulink.org/).