Laboratorio Didattica 20130717

Da raspibo.

Indice

17 Luglio 2013: Serata M&M's

Tra Mentor e Maker ci siamo incontrati per definire meglio cosa presentare concretamente alla prossima MakerFaire. Quello che segue non è un vero e proprio verbale di quanto successo ma l'elenco di quello che mi ricordo sia venuto fuori durante la serata. Chi c'era integri e chi non c'era suggerisca

Non abbiamo ancora una idea precisa di quali saranno gli spazi che avremo a disposizione ne' di quali saranno le modalità di fruizione. Abbiamo in programma un CoderDojo con approssimativamente 20 partecipanti.

Sappiamo per certo che avremo a disposizione 2 tavoli e 4 sedie (Coderdojo + Raspibo) per la durata della Fiera ma non sappiamo dove e come faremo il dojo. Uno stand (gazebo?) per 20 bambini potrebbe rivelarsi angusto.

Vista l'occasione abbiamo deciso di fare un coderdojo a tema facendo pilotare/programmare dei piccoli robot che dovranno essere in grado di seguire un percorso o disegnare su un foglio un tracciato da poter regalare ai bambini.

I robot dovrebbero arrivare già funzionanti perché pensiamo che costruirne uno sia una attività troppo complessa da affrontare in sole due ore a prescindere dall'età dei partecipanti.

L'attività proposta, quindi, sarebbe la programmazione dei robot con semplici comandi tipo logo.

[NdA: Certo lasceremo una bella pesca ai Mentor di Coderdojo Roma che dopo una partenza del genere dovranno tornare ai tutorial solo software]

Tecnologia

Lato software abbiamo scoperto che Scratch ha la possibilità di pilotare/consultare sensori remoti nativamente e quindi non avremo bisogno di alcun fork di Scratch per poter pilotare i robot.

Tecnicamente il tutto viene fatto creando un socket su cui un programma client attenderà istruzioni.

Il protocollo di trasporto è semplice: viene inviato un messaggio composto da 4byte che rappresentano la lunghezza (in byte) del payload e, di seguito il payload.

Non sono fatte ulteriori assunzioni sul protocollo e quindi potremo studiarne uno ad-hoc da trasferire nel payload.

Con le nostre conoscenze attuali, e visti i tempi di sviluppo ristretti (la pausa estiva incombe e speriamo ci possa essere un dojo di prova a BO in Settembre) abbiamo stabilito che il robot, per essere autonomo, avrà bisogno di poter eseguire un interprete python che si colleghi in remoto alle macchine dei ragazzi (una per robot) e si metta in attesa di ordini. Questo significa adottare Raspberry come host.


Risorse da sfruttare

Da soli non possiamo, nel poco tempo che ci rimane, portare a termine l'impresa. Dobbiamo convolgere il gruppo robottini che ha già esperienza sul campo ed alcuni prototipi funzionanti.


Risultati

Siamo riusciti a scambiare messaggi tra un server scratch ed un client python eseguiti su macchine separate collegate via wifi.


Prossime tappe

  • Fare una lista di materiale necessario alla costruzione di un robot
  • Costruire il primo prototipo
  • Definire un protocollo di comunicazione
  • Costruire i robot veri e propri
  • Organizzare un Dojo Pilota
  • Preparare i Bagagli (ricordiarsi i Robot)
  • Andare a Roma
Strumenti personali
Namespace

Varianti
Azioni
Navigazione
Strumenti