Archivi categoria: GIOCHI

Configurare sqlite su raspberry pi 3

Per poter usare sqlite3 è necessario installare i relativi pacchetti debian.

Per l’uso come command tools è sufficiente lanciare il comando:

sudo apt-get install sqlite3

mentre per configurare l’uso in ambiente c si deve lanciare il comando:

sudo apt-get install libsqlite3-dev

Per installare ncurses si devono installare i pacchetti developer:

sudo apt-get install libncurses5-dev libncursesw5-dev

Come ti configuro il controller “THT Arcade console 2P USB Player”

La configurazione di questo controller con raspberry dipende da alcuni parametri settati nei file di configurazione, in alternativa il sistema rileva solo un unico joystick pilotato dalle due levette. Innanzitutto è necessario estrapolare il codice del dispositivo, che deve essere stato rilevato correttamente all’avvio del kernel. Si dà il seguente comando:

# cat /proc/bus/input/devices
I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name=”Xbox Gamepad (userspace driver)”
P: Phys=
S: Sysfs=/devices/virtual/input/input0
U: Uniq=
H: Handlers=js0 event0
B: PROP=0
B: EV=b
B: KEY=7fdb0000 0 0 0 0 0 0 0 0 0
B: ABS=3001b

I: Bus=0000 Vendor=0000 Product=0000 Version=0000
N: Name=”Xbox Gamepad (userspace driver) #2″
P: Phys=
S: Sysfs=/devices/virtual/input/input1
U: Uniq=
H: Handlers=js1 event1
B: PROP=0
B: EV=b
B: KEY=7fdb0000 0 0 0 0 0 0 0 0 0
B: ABS=3001b

I: Bus=0003 Vendor=16c0 Product=05e1 Version=0101
N: Name=”THT THT Arcade console 2P USB Player”
P: Phys=usb-3f980000.usb-1.4/input0
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/0003:16C0:05E1.0001/input/input2
U: Uniq=
H: Handlers=js2 event2
B: PROP=0
B: EV=1b
B: KEY=3ff 0 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10

I: Bus=0003 Vendor=16c0 Product=05e1 Version=0101
N: Name=”THT THT Arcade console 2P USB Player”
P: Phys=usb-3f980000.usb-1.4/input0
S: Sysfs=/devices/platform/soc/3f980000.usb/usb1/1-1/1-1.4/1-1.4:1.0/0003:16C0:05E1.0001/input/input3
U: Uniq=
H: Handlers=js3 event3
B: PROP=0
B: EV=1b
B: KEY=fff 0 0 0 0 0 0 0 0 0
B: ABS=3
B: MSC=10

I parametri che servono sono quelli che compaiono al centro della stringa Sysfs=….. /0003:16C0:05e1………

Questi vanno inseriti nel file /boot/cmdline.txt in fondo all’unica riga presente, aggiungendo la stringa:

usbhid.quirks=0x16c0:0x05e1:0x040

Un bel reboot et voilà.

Gestione di video con PiPlay

PiPlay è un ottimo strumento per la gestione dei vari emulatori disponibili in rete.
Dopo averlo un po’ configurato, l’ho installato in auto, insieme a una bella coppia di televisorini da 7 pollici. Questi sono reperibili nei vari mercatini al costo di circa 33€ e quindi rappresentano un’ottima alternativa ai dispositivi all in one, quelli per intenderci dotati di lettore dvd.
L’esperienza d’uso di un raspberry, per quanto riguarda la disponibilità di software è pressoché totale. Esistono ottimi lettori di video e anche ottimi emulatori di console per videogiochi.

Il problema principale di PiPlay risiede nel fatto che permette unicamente di “giocare” e non di vedere video e film (magari scaricati dalla rete, oppure rippati).
D’altra parte, PiPlay è configurato con python e, con un po’ di dimestichezza con l’uso di questo linguaggio, si può fare davvero di tutto.
Quindi, perché non provarci ?

Innanzitutto è meglio utilizzare una distribuzione di Linux da installare in una macchina virtuale. Io ho scelto ubuntu.
Accedere alla distribuzione creando un utente pi e password raspberry (le stesse di piplay) e scaricare, usando firefox, il progetto sorgente del launchmenu.py da github pimame-menu per poterlo vedere ed eventualmente modificare/testare.
Scompattare lo zip dentro la directory /home/pi/pimame.
Se non è già disponibile installare python con il comando apt-get install python3
Infine può essere comodo installare anche sqlite, in quanto gran parte della configurazione di piplay viene mantenuta su questo db.
Poi installare sqlite per vedere l’attuale contenuto del menu di piplay. Dare il comando
# sudo apt-get install sqlite3 libsqlite3-dev

Il database di configurazione di piplay è situato in /home/pi/pimame/pimame-menu/database/config.db

Usando sqlite si possono vedere le varie voci di menu che vengono visualizzate a video, con i vari emulatori disponibili. A queste voci se ne possono aggiungere altre che, per esempio, permettano di vedere video salvati nella memoria della scheda.
Per fare questo, aprire con sqlite il db config.db, poi andare in “Browse data” e selezionare la tabella menu_items. Le varie voci sono facilmente identificabili nell’elenco e si dividono in emulators, games e utilities, nella colonna type.
La colonna “visible” permette di rendere visibile o invisibile le varie voci. Io ho reso invisibili alcuni emulatori che non mi interessano in modo da occupare il minimo dello spazio a video.

Nella colonna “Command” va indicato il comando da lanciare quando si seleziona la voce dall’interfaccia di piplay. Io ho aggiunto per fare una prova il comando omxplayer “/home/pi/video/prova.avi” per testare un semplice video.

Infine, per gestire il caricamento automatico dei video presenti all’interno di una certa cartella, ho predisposto un’apposita funziona in python. Aprire con gedit il file che si trova in /home/pi/pimame/pimame-menu/pmmenu/pmconfig.py e aggiungere, dopo la init, la funzione:

def getVideos(self,directory,menu_items):
#carica i video dalla directory
for root, directories, files in os.walk(directory):
for filename in files:
filepath = os.path.join(root,filename)
menu_item = {'id':100,'label':filename,'icon_id':'','type':'utility','visible':1,'command':'vlc --play-and-exit '+filepath,'rom_path':'','include_full_path':1,'include_extension':0,'override_menu':1,'icon_file':'','icon_selected':'','position':'','scraper_id':''}
menu_items.append(dict(menu_item))

e il richiamo dentro la _init_ con la seguente istruzione:
self.getVideos('/home/pi/pimame/video',config['menu_items'])
subito sotto l’istruzione config['menu_items'] = [dict(zip(keys,value)) for value in values]

Questo fa si che all’interno dell’interfaccia principale di piplay compaiano in automatico anche tutti i video della cartella video e che questi possano essere lanciati cliccando sulla loro icona. Questo file pmconfig.py va poi trasferito nella medesima posizione del raspberry, avendo l’accortezza di modificare l’istruzione vlc (di ubuntu) nella corrispondente omxplayer del mitico raspberry.

Et voilà, il video è servito!

Aggiornamento del 17 Aprile 2016

Su schermi molto piccoli e con bassa risoluzione, quali quelli che si acquistano nelle fiere realizzati apposta per i cruscotti delle automobili, le scritte dei riquadri di piplay sono molto piccole. Praticamente invisibili.

I riquadri che rappresentano film riportano un titolo che non si riesce nemmeno a leggere.

Per ovviare bisogna intervenire in un file che si trova sotto themes/default/theme.yaml, ricercando al suo interno la scritta

num_items_per_row

e

item_height

e correggerle di conseguenza.

Nel mio caso erano num_items_per_row = 6 e item_height = 220. Li ho trasformati in num_items_per_row=2 e item_height=300.

Così facendo le scritte sono tornate ad essere ben visibili, anche se per arrivare agli ultimi film della lista ora bisogna scorrere diverse pagine.

Pistola in legno con elastici

Prendendo spunto dal fantastico tutorial visibile all’indirizzo Tutorial M9 Rubber Band Gun ho deciso di realizzarmi una fantastica pistola in legno con proiettili elastici.
Il tutorial è corredato anche di piani dettagliati di montaggio della pistola, scaricabili all’indirizzo pdf.
Tali piani possono essere stampati e poi ricalcati con una sega a nastro, oppure, come ho fatto io, possono essere tagliati alla cnc, essendo già disegnati a misura.

I piani si compongono di alcuni strati, da incollare tra di loro, di multistrato da 4 mm di spessore.

L’unica cosa a cui bisogna prestare molta attenzione, altrimenti si corre il rischio di dover tagliare più volte le sagome in legno, è che i percorsi nel file pdf non sono tutti chiusi. A prima vista, sembrerebbe di sì, ma se si esegue il taglio ci si accorge che i percorsi di taglio sono calcolati un po’ all’interno e un po’ all’esterno, pregiudicando il corretto allineamento dei pezzi.

Il risultato è visibile in figura

Pistola a elastici

Pistola a elastici cnc

Nella figura sottostante si vede il meccanismo di caricamento degli elastici che, a seconda delle dimensioni, possono arrivare fino a 7-8 consecutivi.

caricamento

caricamento

Infine, un particolare del caricatore che permette di installare degli elastici di riserva in caso di emergenza:

caricatore

caricatore

MEMORY DEI SUPEREROI

Un’idea può essere riciclata in diversi modi e quindi, utilizzando le stesse immagini della mia TOMBOLA DEI SUPEREROI, ho creato anche questo memory.

Stampate il file in duplice copia e ritagliate le varie tesserine (come per la tombola vi consiglio di incollare il foglio su un cartoncino e se possibile plastificarlo con la carta adesiva) e cominciate a giocare.

Le carte sono parecchie, quindi magari per i bimbi più piccoli è meglio utilizzarne solo una parte (ovviamente scegliete i loro supereroi preferiti!).

TOMBOLA DEI SUPEREROI

TABELLONE TOMBOLA

Il fatto di avere due figli maschi comporta la necessità di sorbirsi le storie di tutti i supereroi possibili ed immaginabili. Con l’ausilio di giornalini, libri, album da colorare e “staccattacca”,  sono diventata un’esperta conoscitrice di Spider-Man, Avengers e compagnia bella… per non parlare dei rispettivi nemici!!!!

Da questa passione di Marco e di Mattia è nata l’idea di creare una TOMBOLA speciale. Ho unito l’utile al dilettevole, perché giocandoci può essere utilizzata anche per far imparare le lettere dell’alfabeto ai bambini.

Ecco i file per scaricare e stampare il tabellone e le cartelle (vi consiglio di incollare poi i fogli su un cartoncino e, se avete tempo, plastificarli con la carta adesiva).

Ora non vi resta che ritagliare le cartelle, munirvi di fagioli e cominciare a giocare. Buon divertimento!