Archivio per la categoria ‘Hardware’

Arduino e l’HackLab Terni

martedì, 13 dicembre 2011

[…] condividono strumenti, spazi di lavoro, le loro professionalita’, sono persone che giocano con la tecnologia per scoprire cosa la tecnologia puo’ fare e cosa possono fare loro stessi […]

tratto da intervista a Dale Dougherty, editore della rivista MAKE, sulle nuove forme moderne di artigianato

Un Arduino base

Un Arduino base

Hifiduino, audio player basato su Arduino

Hifiduino, audio player basato su Arduino

Come promotori dell’open in tutti gli aspetti, informatici e non, della vita, non potevamo non mensionare la nascita dell’HackLab Terni: laboratorio di elettronica creativa, Arduino e il mondo dell’open hardware.

Un hacklab, o hackerspace, e’ un luogo in cui persone con interessi comuni, spesso relativi a computer, tecnologia, scienze, elettronica o altro, si riuniscono per condividere conoscenze, collaborare e realizzare cose.
Questo hacklab in particolare e’ spinto dalla passione comune per Arduino, una piccola scheda elettronica dalle dimensioni di una carta di credito, una piattaforma elettronica opensource basata su hardware e software molto flessibili e facili da usare con i quali si possono realizzare ambienti ed oggetti interattivi.

Ma cosa si puo’ fare con Arduino in un hacklab?
In meno di un mese sono gia’ sorte molte idee e progetti all’interno del gruppo HackLab Terni: dal termostato web multizona alla macchina a controllo numerico, da superfici touch a progetti di robotica. Cio’ che serve sono Arduino, voglia di sporcarsi le mani e un’idea. Il tutto coadiuvato da un gruppo di appassionati in cui lo scambio e la circolazione di idee sono all’ordine del giorno.

Se vi interessa prendere parte a questo gruppo ma avete timore di non avere le capacita’ per farlo, non preoccupatevi: ogni membro del gruppo e’ pronto a mettere a disposizione le proprie conoscenze e condividerle con gli altri ed in piu’ all’interno del gruppo sta per partire un mini corso di elettronica per principianti, per permettere anche a chi non ha conoscenze in merito di giocare con Arduino.

Alcuni siti di riferimento per capire ancora di piu’ di cosa stiamo parlando:
www.arduino.cc, il sito ufficiale di Arduino da cui si puo’ scaricare il software ed imparare a giocare con Arduino
arduino.apogeolab.it, un libro online italiano sempre in fase di aggiornamento che spiega cos’e’ Arduino e come funziona
www.hackerspaces.org, il sito di riferimento degli hackerspaces
intervista sulle nuove forme moderne di artigianato, un intervento su TED sulla diffusione di una nuova forma di artigianato relativa agli hackerspaces
cosa e’ un fablab

Tutto questo accade il martedi’ sera tra le 21:00 e le 23:00 presso la Sala Laura della Siviera, in Via Carrara 2 (ex carcere) a Terni

Per ora il neonato gruppo non ha un sito di riferimento, ma potete comunque seguire le informazioni relative all’organizzazione degli incontri ed alle idee proposte iscrivendovi al gruppo di discussione online: HackLab @ GoogleGroups

Installare Hauppauge PVR-350 in Debian Linux (versione 2011)

giovedì, 30 giugno 2011

Dopo i primi esperimenti di installazione (http://www.ternignulug.org/corsi-progetti/installare-hauppauge-pvr-350-in-debian-linux/) su una macchina che pero’ ultimamente ci ha lasciati, e’ ora di testare mesi e mesi di innovazione tecnologica.

Ingredienti:
netvista A40i
1) Ibm Netvista (256 MB di ram – Amd Duron 650MHz) con 3 pci e slot AGP (o altro PC economico di classe almeno petium3 500)
hauppauge PVR 350 mpeg2 encoder and decoder
2) Happauge PVR 350

3) scheda AGP da quattro soldi (tanto useremo sempre SSH per lavorare sul pc)
4)scheda di rete gigabit ethernet

5) Due dischi ATA 133 che configureremo in mirror (raid1)

6) Lettore CD
Distribuzione Linux su base Debian (nel nostro caso una debian 6.02 squeeze)

Lavorazione:

  • Aprite il PC, controllate che tutti i cavi, ventole e schede siano messe a puntino.
  • Configurate i dischi in master ed il lettore CD in slave ed infilateli nel case.
  • Se avete dubbi sul dover raffreddare i dischi mettete una ventolina supplementare che butti aria sugli HD.
  • Entrate nel bios del pc premendo a caso i tasti funzione da F1 a F4 (e’ uno di questi ma non mi ricordo quale ed io ho fatto a caso) e controllate che tutto sia OK.
  • Impostate il boot da CD, aprite il lettore e mettete la debian che potete scaricare da “>qui (e masterizzare).
  • Salvate le modifiche e riavviate il pc con il CD inserito.

Fate un’installazione minimale (levate tutte le spunte dall’istallazione testuale).

Partizionate i dischi a mano, mettendo per ogni disco una partizione da 100 mega (per il boot) evidenziando che sara’ una partizione raid.
Un’altra da 1 giga (il doppio della vostra ram) che useremo come spazio swap.
Un’altra da una decina di giga per il sistema (marcatela per essere poi assegnata al raid) ed infine una partizione con il rimanente (supponiamo che i due dischi siano uguali) che dopo associeremo a /var (per ora marcatela per il raid).

Ora salvate le impostazioni e andate in cima al menu di partizionamento per assegnare le partizioni al raid software.
Le due da 100 saranno /boot – ext2, quelle da 10 giga saranno / (ovvero root, il sistema), sempre ext2, quelle grosse saranno /var, sempre ext2.
Salvate, procedete alla formattazione (sara’ lenta non vi preoccupate) e quindi lasciate il pc ad installare tutto il software necessario.

Una volta terminato, vi consiglio di installare open ssh server, e una volta controllato l’ip del pc con “ifconfig” potete tranquillamente andare alla vostra scrivania e continuare il lavoro da remoto (io tengo il futuro videoplayer in sala macchine).

Comunque, installiamo anche i build-essential (con “apt-get install build-essential”) e poi procediamo a scaricare i tools per usare la nostra PVR350.

Gia’ che ci siamo testiamo che la scheda sia riconosciuta dal sistema e che debian abbia installato i drivers di suo.

Proviamo “lspci” e dovremmo avere un output come questo:
00:08.0 Multimedia video controller: Internext Compression Inc iTVC15 MPEG-2 Encoder (rev 01)

Per sicurezza controlliamo anche i log di sistema e vediamo l’output di “dmesg | grep ivtv”.
Se avete un output tipo questo:
[ 9.434856] ivtv: Start initialization, version 1.4.1
[ 9.435234] ivtv0: Initializing card 0
[ 9.435250] ivtv0: Autodetected Hauppauge card (cx23415 based)
[ 9.436766] ivtv 0000:00:08.0: PCI INT A -> Link[LNKA] -> GSI 10 (level,
low) -> IRQ 10
[ 9.436790] ivtv0: Unreasonably low latency timer, setting to 64 (was 32)
[ 9.494359] ivtv0: Autodetected Hauppauge WinTV PVR-350
[ 9.630465] saa7115 1-0021: saa7115 found (1f7115d0e100000) @ 0x42 (ivtv
i2c driver #0)
[ 9.791591] saa7127 1-0044: saa7129 found @ 0x88 (ivtv i2c driver #0)
[ 9.872948] msp3400 1-0040: MSP4418G-B3 found @ 0x80 (ivtv i2c driver #0)
[ 9.989589] tuner 1-0043: chip found @ 0x86 (ivtv i2c driver #0)
[ 10.008795] tuner 1-0061: chip found @ 0xc2 (ivtv i2c driver #0)
[ 10.067504] IRQ 10/ivtv0: IRQF_DISABLED is not guaranteed on shared IRQs
[ 10.069283] ivtv0: Registered device video0 for encoder MPG (4096 kB)
[ 10.069666] ivtv0: Registered device video32 for encoder YUV (2048 kB)
[ 10.069992] ivtv0: Registered device vbi0 for encoder VBI (1024 kB)
[ 10.070340] ivtv0: Registered device video24 for encoder PCM (320 kB)
[ 10.070662] ivtv0: Registered device radio0 for encoder radio
[ 10.070970] ivtv0: Registered device video16 for decoder MPG (1024 kB)
[ 10.071284] ivtv0: Registered device vbi8 for decoder VBI (64 kB)
[ 10.071638] ivtv0: Registered device vbi16 for decoder VOUT
[ 10.071963] ivtv0: Registered device video48 for decoder YUV (1024 kB)
[ 10.071976] ivtv0: Initialized card: Hauppauge WinTV PVR-350
[ 10.074597] ivtv: End initialization
[ 10.740092] ivtv 0000:00:08.0: firmware: requesting v4l-cx2341x-enc.fw
[ 10.782961] ivtv0: Unable to open firmware v4l-cx2341x-enc.fw (must be
376836 bytes)
[ 10.783033] ivtv0: Did you put the firmware in the hotplug firmware
directory?
[ 10.783094] ivtv0: Retry loading firmware
[ 11.404091] ivtv 0000:00:08.0: firmware: requesting v4l-cx2341x-enc.fw
[ 11.412921] ivtv0: Unable to open firmware v4l-cx2341x-enc.fw (must be
376836 bytes)
[ 11.412996] ivtv0: Did you put the firmware in the hotplug firmware
directory?
[ 11.413060] ivtv0: Failed to initialize on minor 2
[ 11.413768] ivtv0: Failed to initialize on minor 0
[ 11.415383] ivtv0: Failed to initialize on minor 4
[ 11.416696] ivtv0: Failed to initialize on minor 5
[ 11.417907] ivtv0: Failed to initialize on minor 6
[ 11.419120] ivtv0: Failed to initialize on minor 7
[ 11.420495] ivtv0: Failed to initialize on minor 1
[ 11.421717] ivtv0: Failed to initialize on minor 3
[ 11.422929] ivtv0: Failed to initialize on minor 8

Significa che la scheda c’e’ MA NON AVETE il firmware indispensabile per far funzionare la scheda.

Dove trovarlo? Io ho faticato, ma attraverso la mailing list di ivtv (ivtv-users-request@ivtvdriver.org), ho scoperto che e’ piu’ semplice di quello che pensassi.
Basta abilitare i repository “non-free” di debian, aggiungendoli al file sources.list.
“vi /etc/apt/sources.list”

aggiunte le linee:
#non free
deb http://ftp.it.debian.org/debian/ squeeze non-free
deb-src http://ftp.it.debian.org/debian/ squeeze non-free

basta fare un refresh della cache dei file con:
“apt-get update”

e a questo punto scaricate ed installate i firmware al volo con:
“apt-get install firmware-ivtv”

Riavviate e ricontrollate con “dmesg | grep ivtv”.

Dovrebbe andare tutto OK (io ho risolto :D).

A questo punto magari scaricatevi i sorgenti di questo interessante tool:

http://sourceforge.net/projects/pvr350player/files/pvr350player/1.1/pvr350player_1.1.tar.gz/download

mettelo nella vostra /home/nome_utente
un bel “tar xvf pvr350player_1.1.tar.gz”
spostiamoci nella directory appena creata
“cd pvr350player_1.1″
e compiliamo con;
“make” e poi “make install”

a questo punto potremmo “suonare” una lista di mpeg sul vostro TV (sempre che l’abbiate collegato alla scheda) semplicemente facendo da shell:
pvr350player pathfile1 pathfile2 pathfile3 …. + invio ;-)

Se poi volessimo riprodurre file da un file server remoto (un NAS compatibile windows, ovvero con il supporto per il protocollo SAMBA), allora come sate dovremmo montarlo e magari una volta per tutte senza ri-immettere username e pass ad ogni accesso.
SAN=Storage area network
Per farlo dovrete aver installato samba:
“apt-get install samba”
aver messo il filesystem samba:
“apt-get install smbfs”
aver creato una direcory dove montare il vostro server remoto:
“mkdir /mnt/sambanetwork”
e a questo punto montare il NAS remoto sulla vostra cartella con:
“smbmount \\\\192.168.1.67\\AV_Archive /mnt/sambanetwork/ -o username=qui’_il_nome_file,password=qui’_la_password”

e a questo punto per fare il play di un file remoto bastera’ dare il comando:
pvr350player /mnt/sambanetwork/10_PlayOut/vivi la notte/interviste ok/dj# pvr350player intervista\ Frankie\ Knuckles\ ok\ 4\,07\ min.mpg che questo verra’ “streamato” dalla rete e riprodoto in video, sempre che la rete ed il vostro NAS reggano il bitrate ;-)

Nota: abbiamo usato l’ip perche’ e’ piu’ facile che non provare a far si che il vostro DNS interno risolva l’IP.