Switch, collegare robot in una rete

Switch, collegare robot in una rete

Aseba fornisce asebaswitch, una utilità a livello di riga di comando che consente di connettere varie piattaforme a microcontrollore (target) ad ASEBA Studio contemporaneamente come nodi una rete.
In pratica consente di collegare ad esempio più di un robot da programmare e di scrivere il codice che deve girare sui vari target in modo da avere un funzionamento coordinato.

La sintassi del comando da eseguire è la seguente:

asebaswitch [opzioni] [target aggiuntivi]*

per ottenre informazioni di dettaglio sul comando digitare:
asebaswitch --help

Notare che i target aggiuntivi devono seguire la naming convention Dashel.

Uso

Una volta che i vari strumenti di Aseba sono stati installati sul PC, i robot come Thymio devono essere fisicamente collegati al PC via USB.

Ora devi identificare il nome Dashel da usare per il Thymio II connesso:

In Linux:

visualizzare la lista dei dispositivi USB utilizzando i seguenti comandi:

lsusb

Ci deve essere un dispositivo che ha come fornitore École Polytechnique Fédérale de Lausanne

potete verificare la avvenuta connessione del Thymio con il comando:

dmesg | tail

e la lista dei nuovi dispositivi apparsi usando:

ls /dev/ttyACM*

Per avviare questo switch e rendere visibile il robot sulla rete occorre usare il comando:

asebaswitch "ser:device=/dev/ttyACM0"

dove devi inserire il nome precedentemente identificato, supponendo che il tuo Thymio corrisponda al dispositivo USB /dev/ttyACM0.

In Windows:

attraverso il pannello di conrollo identificare la porta COM corrispondene al Thymio.

Per avviare questo switch e rendere visibile il robot sulla rete occorre usare il comando:

asebaswitch "ser:port=portnumber"

dove è necessario inserire il numero (portnumber) identificato precedentemente durante il lancio di Aseba Studio. Ad esempio se si vede "Thymio-II Robot (COM4)" nel selettore di Aseba Studio, il comando sarà:

asebaswitch "ser:port=4"

A questo punto puoi avviare Aseba Studio su un altro PC e connetterti a Thymio II e scmbiare messaggi con lui da ohni punto, anche utilizzando una connessione wireless. Poichè la connessione seriale può essere solo raggiunta localmente sul PC dove si trova, è ventaggioso creare uno switch locale che consente di raggiungere Thymio da qualsiasi punto della rete.

Quando lo switch è in esecuzione puoi avviare Aseba Studio sul tuo computer e collegarti attraverso la rete (TCP) all'indirizzo fisso IP del tuo primo PC, collegando il tuo Thymio a ASEBA Studio.

MacOS:

Per trovare il nome del dispositivo guardare nella finestra di connessione di ASEBA Studio. Riportiamo un esempio di due Thymio connessi:

Dialog-box-studio.png

Per connettere questi due Thymio allo switch (vedere anche uso avanzato più in basso) utilizzare il seguente comando (asebaswitch che si trova nella cartella bin di ASEBA):

asebaswitch -d "ser:device=/dev/cu.usbmodem1411;remapLocal=1" "ser:device=/dev/cu.usbmodem1421;remapLocal=2"

Quindi, se esegui ASEBA Studio sulla stessa macchina, connettiti all'opzione localhost in fondo alla finestra di dialogo. Otterrai due Tabs con i nomi dei Thymio collegati e i Thymio potranno scambiarsi eventi.

Uso avanzato

Aseba richiede che ciascun nodo nella rete abbia un identificatore univoco, perche Aseba lo utilizza per indirizzare i dati. Tuttavia alcuni target come Thymio, hanno un identificatore preconfigurato nel firmware. Fortunatamente asebaswitch fornisce un meccanismo di rimappatura degli identificatori, che consente di rimappare l'identificatore di un target attarverso il nome del dispositivo associato dal sistema operativo al target.

Questo meccanismo consente, per esempio, di avere due Thymio sulla stessa rete Aseba. Sotto Linux, questo si traduce nel seguente comando:

asebaswitch -d "ser:device=/dev/ttyACM0;remapLocal=1" "ser:device=/dev/ttyACM1;remapLocal=2"

Il meccanismo di remapping aggiunge due opzioni alla stringa di descrizione del target:

  • remapLocal, l'identificatore associato al target localmente,
  • remapTarget (default: 1), l'identificatore del nodo target da rimappare.

Attualmente questo meccanismo consente di rimappare solo un nodo per target.
E' possibile modificare e generalizzare questo comportamento sulla base della effettiva necessità.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License