Accesso al D-Bus usando Asebamedulla
ASEBA fornisce asebamedulla, una utility a riga di comando che consente di accedere a una rete ASEBA attraverso D-Bus. Questo permette l'utilizzo di dispositivi ASEBA abilitati dai linguaggi di terze parti come Python, Perl o qualsiasi altro linguaggio che supporti il protocollo D-Bus. asebamedulla è stato testato solo sotto Linux.
È possibile saperne di più su asebamedulla leggendo questo articolo. In sostanza, si comporta come uno switch che, in aggiunta fornisce un'interfaccia D-Bus.
Lancio
asebamedulla [options] [additional targets]*
For detailed informations, please type:
asebamedulla --help
Notare che target aggiuntivi devono seguire la Dashel naming convention.
Accesso da Python
Forniamo una piccola libreira per accedere
Esempio usando Thymio e Python
Se avete Thymio II, potete facilmente controllarlo da Python utilizzando medulla. Innanzi tutto avviate medulla connettendovi a Thymio:
asebamedulla "ser:name=Thymio-II"
Quindi, avviate il vostro programma python (test-medulla.py) passando un programma Aseba (test-medulla.aesl) come parametero. Questo programma sarà responsabile di chiamare le funzionalità native ed eseguire calcoli sul robot. Questo può essere utile ad esempio per fare del pre-processing e ridurre la banda di comunicazione:
./test-medulla.py test-medulla.aesl
Una piccola libreira per accedere ad Aseba da Python (nascondendo l'accesso a diretto a D-Bus) è disponibile in questa directory examples/clients/python-dbus nel repository sorgenti. In aggiunta, potete vedere un più dettagliato esempio di integrazione tra Thymio and Raspberry PI in questa pagina.