L'anticamera del cestino

Raccolta differenziata di esperienze di dubbia utilità

Posts Tagged ‘Linux

Giornale di oggi

lascia un commento »

Newspaper Cover.svg

Dal tema Nuvola Icon GNU Lesser General Public License

giornaledioggi 1.0 è un programma che permette  di scaricare l’edizione odierna del quotidiano L’Informazione nelle edizioni di Reggio Emilia e Modena e del Giornale di Reggio secondo i criteri specificati nel file di configurazione.

Leggi il seguito di questo post »

Scritto da Max-B

6 aprile 2010 alle 07:49

Pubblicato in GNU/Linux

Taggato con , , ,

Il mio repository

lascia un commento »

Non che contenga dei programmi particolarmente utili o complessi. A dire il vero non contiene neanche dei programmi ma dei semplici script che appoggio lì per raccoglierli in un unico posto. Comunque se a qualche disperato interessa: ho fatto il mio repository di pacchetti debian/ubuntu.

Se volete inserirlo nella vostra lista basta aggiungere la riga seguente al vostro file /etc/apt/sources.list

deb http://repo.max-b.org/ binary/

Scritto da Max-B

1 settembre 2009 alle 09:18

Pubblicato in Debian, Linux

Taggato con , ,

QuickCam Pro 9000 su Ubuntu 8.10

con 7 commenti

La qualità delle immagini acquisite con la webcam QuickCam Pro 9000 prima e dopo la procedura descritta in questa guida

La qualità delle immagini acquisite con la webcam QuickCam Pro 9000 prima e dopo la procedura descritta in questa guida

I miei esperimenti con le webcam continuano. In questo articolo descrivo come pilotare la messa a fuoco di una webcam Logitech QuickCam Pro 9000 su Ubuntu 8.10.

Avendo necessità di effettuare acquisizioni periodiche da webcam da una distanza ravvicinata  mi sono orientato sulla webcam Logitech QuickCam Pro 9000. La scelta è ricaduta su questa webcam in primo luogo per le caratteristiche tecniche della webcam. Sul sito della Logitech si legge: “Ottica Carl Zeiss® con messa a fuoco automatica: dettagli e chiarezza superiore grazie all’obiettivo Carl Zeiss®. Immagini nitidissime anche con inquadrature ravvicinate.”. Secondariamente, stando a quanto riportato sul wiki ufficiale di Ubuntu, la webcam sembrava essere supportata completamente fin dalla versione 7.10 di Ubuntu, a parte la segnalazione di alcuni crash di Skype.

Sfortunatamente una volta collegata la webcam in oggetto alla mio PC ho potuto riscontrare che in effetti la webcam funziona out of the box tranne che per il controllo della messa fuoca.

Ecco come sono riuscito ad ottenere il controllo della messa a fuoco.

Per prima cosa è necessario installare la libreria libwebcam sviluppata dal QuickCamTeam. Sfortunatamente la libreria deve necessariamente essere compilata manualmente e, come se non bastasse, la versione ufficiale non funziona (almeno io non sono riuscito a compilarla) occorre quindi utilizzare la subversione svn. Per prima cosa scaricare la subversione svn:

wget -r http://svn.quickcamteam.net/svn/qct/Linux/

In accordo con quanto riportato nel file README della libreria occorre avere installato i complilatori e i paccheti dai queli la licenza dipende (uvcvideo, libxml2, gengetopt). Mentre il primo è quasi sicuramente presente, gli altri due vanno installati:

sudo apt-get install libxml2-dev gengetopt

A questo punto portatevi dentro la cartella che contiene i file sorgente

cd svn.quickcamteam.net/svn/qct/Linux/

e in accordo con il file readme scaricate 2 script necessari alla compilazione che dovranno essere collocati nella cartella Common/include/

cd Common/include/
wget http://svn.berlios.de/svnroot/repos/linux-uvc/linux-uvc/trunk/uvcvideo.h
wget http://svn.berlios.de/svnroot/repos/linux-uvc/linux-uvc/trunk/uvc_compat.h
cd -

A questo punto possiamo iniziare la compilazione del pacchetto che dovrebbe concludersi senza problemi.

mkdir build
cd build
cmake ..
make
sudo make install

Se la compilazione non ha restituito errori possiamo testare l’installazione la quale molto probabilmente vi restituirà l’errore seguente:

uvcdynctrl -c
uvcdynctrl: error while loading shared libraries: libwebcam.so.0.1.1: cannot open shared object file: No such file or directory

Per risolvere è necessario creare un link simbolico alla libreria richiesta:

sudo ln -s /usr/local/lib/libwebcam.so.0.1.1 /usr/lib/libwebcam.so.0.1.1

Torniamo a lanciare uvcdynctrl il quale dovrebbe restituire la lista dei controlli disponibili per la webcam (il focus non è ancora presente).

uvcdynctrl -c
Listing available controls for device video0:
Exposure, Auto Priority
Exposure (Absolute)
Exposure, Auto
Backlight Compensation
Sharpness
White Balance Temperature
Power Line Frequency
Gain
White Balance Temperature, Auto
Saturation
Contrast
Brightness

A questo punto installiamo il pacchetto guvcview che ci permetterà di controllare la webcam in tutti i suoi parametri, messa a fuoco inclusa.

In accordo con la guida riportata sul sito ufficiale di guvcview aggiungiamo al file /etc/apt/source.lst le righe seguenti

deb http://ppa.launchpad.net/pj-assis/ppa/ubuntu intrepid main
deb-src http://ppa.launchpad.net/pj-assis/ppa/ubuntu intrepid main

Importiamo le chiavi:

gpg --keyserver keyserver.ubuntu.com --recv 0x9750A93F69FAF7DA
gpg --export --armor 0x9750A93F69FAF7DA |sudo apt-key add -

Aggiorniamo la lista dei pacchetti ed installiamo guvcview.

sudo apt-get update
sudo apt-get install guvcview

Modifichiamo il file /etc/udev/rules.d/80-uvcdynctrl.rules come segue:

###########################################
# Rules for adding dynamic UVC extension unit controls to UVC devices
################################################
ACTION=="add", SUBSYSTEM=="video4linux", DRIVERS=="uvcvideo", ENV{idVendor}="$at
tr{idVendor}", ENV{idProduct}="$attr{idProduct}", RUN+="/lib/udev/uvcdynctrl"

A questo punto lachiando il comando seguente dovremmo essere in grado di controllare la messa a fuoco della webcam:

sudo guvcview

Scritto da Max-B

16 marzo 2009 alle 13:13

Pubblicato in GNU/Linux

Taggato con , ,

Webcam su un server web

con 5 commenti

Questa guida descrive i passaggi necessari per configurare una webcam collegata ad un webserver GNU/Linux in grado di acquisire immagini ad una cadenza definita. Successivamente viene descritto come autamatizzare la gestione di un archivio storico delle immagini.  Per la presente guida è stata utilizzata una webcam Logitech QuickCam S5500 la quale funziona out of the box su Ubuntu 8.10

Installazione della macchina GNU/Linux

La mia idea iniziale era quella di creare un server LAMP con Debian Lenny. Tuttavia, dopo l’installazione, ho riscontrato alcuni problemi nel riuscire a gestire la webcam. Ho tentato successivamente una installazione di Ubuntu Server 8.04, sempre in configurazione LAMP, ma ancora una volta senza successo. In entrambi i casi, all’avvio del tool webcam, il programma mi andava in segmentation fault. Sicuramente il problema sarebbe stato risolvibile, tuttavia ho preferito  aggirare l’ostacolo cambiando nuovamente installazione.

Mi sono orientato quindi ad una installazione Ubuntu mini 8.10. Ho effettuato una installazione minimale e successivamente attraverso il tasksel ho preparato il server LAMP.

Gestire la webcam

Lo strumento che ho utilizzato per gestire la webcam si chiama: webcam. Una volta lanciato senza opzioni, il programma andrà a leggere il file di configurazione dell’utente ~/.webcamrc

Ecco come ho configurato questo file:

[grab]
device = /dev/video0
text = "geotecnica %Y-%m-%d %H:%M:%S"
archive = /var/www/archivio/%Y%m%d%H%M.jpg
fg_red = 255
fg_green = 255
fg_blue = 255
width = 640
height = 480
delay = 2
wait = 0
rotate = 0
top = 0
left = 0
bottom = -1
right = -1
quality = 85
trigger = 0
once = 0
level_day = 50
diff_trig_day = 3.0
diff_trig_night = 2.0

[ftp]
dir  = /var/www
file = webcam.jpeg
tmp = uploading.jpeg
passive = 1
debug = 0
auto = 0
local = 1
ssh = 0

La sezione [grub] del file di configurazione definisce le modalità di produzione ed elaborazione delle immagini acquisite con al webcam. La maggior parte delle opzioni sono autoesplicative. Di particolare inportanza è la voce delay che indica l’intervallo di acquisizione delle immagini espresso in secondi. archive è la posizione dell’archivio storico delle immagini. Nel mio caso alle immagini viene assegnato un nome che corridponde alla data e all’ora di acquisizione (es. 200917021112.jpg). Ho omesso volutamente di indicare nel nome dei files di archivio i secondi. Con il file .webcamrc così configurato viene effettuata una acquisizione ogni due secondi, ma nell’archivio viene conservata una immagine al minuto.

La sezione [ftp] indica le politiche di upload dei file al server. Nel mio caso, con l’opzione local=1 non viene fatta alcuna connesione remota è i file vengono depositati sull’host locale.

E’ possibile a questo punto avviare webcam in background e iniziare il lavoro di acquisizione

$ webcam &

Automatizziamo la gestione dell’archivio

Prepariamo uno scrip bash (nel mio caso “gestionearchivio”) al quale faremo creare ogni notte una cartella nella quale raccogliere le immaigni del giorno precedente. Lo script si occuperà anche di eliminare le cartelle del mese precedente.

#!/bin/bash

IERI=$(date -d “yesterday” +”20%y%m%d”)
mkdir /var/www/archivio/_$IERI
mv /var/www/archivio/$IERI* /var/www/archivio/_$IERI

MESESCORSO=$(date -d “1 month ago” +”20%y%m%d”)
rm -rf /var/www/archivio/_$MESESCORSO

Rendiamo lo script eseguibile per l’utente root e copiamolo in /usr/local/sbin

$ sudo chmod 700 gestionearchivio

$ sudo cp gestionearchivio /usr/local/sbin/

Automatiziamo il processo con cron editando il file /etc/cronttab aggiungendo la seguente riga che manderà in esecuzione il comando ogni notte alle 01:01.

01 1    * * *    root    /usr/local/sbin/archiviowebcam

Può essere importante accertarsi dell’esattezza dell’ora della nostra macchina quindi, sempre in /etc/cronttab possiamo aggiungere la riga seguente per fare sincronizzare l’orologio ogni ora con quello di time.ien.it

12 *    * * *    root    ntpdate time.ien.it

Avvio del programma allo startup

Per fare avviare il programma allo startup del pc è necessario editare il file /etc/init.d/bootmisc.sh. All’interno della funzione do_start(), delimitata dalle parentesi graffe aggiungiamo la riga seguente. Il posto più indicato all’interno della funzione è alla fine, cioè appena prima della chiusura delle parentesi graffe:

# Aggiungo la webcam specificando il file di configurazione
webcam /root/.webcamrc &

Riavviamo il PC e tutto dovrebbe funzionare a dovere!

Scritto da Max-B

17 febbraio 2009 alle 11:27

Pubblicato in GNU/Linux, video

Taggato con ,

Wake-on-lan da Linux su HP D230MT

lascia un commento »

Utilizzo moltissimo il wake-on-lan: quella procedura che permette di accendere un pc remoto della tua lan via rete. Purtroppo mi trascinavo da alcune settimane il problema di un PC HP D230MT che non ne voleva sapersi di accendersi all’invio di un magic pocket pur avendo la configurazione del BIOS corretta e il Wake-On-Lan abilitato sulla scheda di rete con l’invio di un magic pocket.

Oggi finalmente ho risolto utilizzando al posto del tool etherwake il tool wakeonlan. La sintassi è la medesima:

wakeonlan [mac-address]

Per approfondire questo argomento specifico consiglio i seguenti links:

Scritto da Max-B

6 febbraio 2009 alle 10:54

Pubblicato in GNU/Linux

Taggato con ,

Iscriviti

Get every new post delivered to your Inbox.

Join 25 other followers