Archivio

Archivio per la categoria ‘Guide’

Programmare su Symbian con le QT

26 agosto 2010

Per capire dove nasce questa idea, vi consiglio di leggere la prima e la seconda puntata ;)

Giusto questa sera, sono riuscito a fare il porting su Symbian della mia piccola applicazione C++/QT. Ecco come fare:

Requisiti: dovete avere gcc/g++ installato, make, qmake, le librerie di sviluppo di libssl e zlib, wine, e un po’ di pazienza :)

In una cartella, scaricate:

A questo punto bisogna creare (in una posizione a piacimento della nostra home directory), la cartella “gnupoc”, contenente la cartella “qt”, che a sua volta deve contenere la cartella “bin”. Una volta creata questa struttura, bisogna avviare il primo script scaricato, in questo modo:

$ bash gnupoc_1.15_installer_v2.sh `pwd` $GNUPOC 5.0

“$GNUPOC” deve essere sostituito col percorso assoluto della cartella poco fa creata, senza slash (“/”) finale.  Se tutto è andato bene, vi dirà di dare un paio di comandi da terminale per impostare l’ambiente, ovvero:

export PATH=$GNUPOC/bin:$PATH
export EPOCROOT=$GNUPOC/symbian-sdks/5.0/

A questo punto aggiungiamo a $PATH anche il posto dove verranno installate le nuove QT, e avviamo il secondo script:

export PATH=$GNUPOC/qt/bin:$PATH
bash qt_for_symbian_4.6.3_all_in_one_linux_installer_v1.sh `pwd` $GNUPOC/qt

Se tutto è andato bene, ci verrà mostrato un messaggio analogo al precedente. Noi eseguiremo, per sicurezza, il secondo comando consigliato dallo script, ovvero:

unset QMAKESPEC

Voilà! Adesso basta andare in un nostro progetto (ricordatevi di dare sempre i comandi “export” visti qui sopra, altrimenti non compilerete per Symbian), e digitare:

qmake
make debug-gcce
make sis

Vi ritroverete un file con estensione “.sis” pronto per essere installato sul vostro smartphone. Ovviamente su quest ultimo, dovrete installare anche le dipendenze. Queste (assieme a qualche programma di prova) sono presenti in “$GNUPOC/qt/”. Per installare le QT sul vostro cellulare, basta installare il file “qt_installer.sis”.

Ora, un paio di dritte:

  • Nel vosto file progetto “.pro”, potrebbe essere utile creare una sezione dedicata alla compilazione su Symbian. Nel mio caso, volevo permettere alla mia applicazione di accedere ad internet, e quindi ho aggiunto la seguente linea:
    symbian:TARGET.CAPABILITY = NetworkServices
  • Nei vostri file sorgente, potrebbe essere utile inserire una struttura di questo tipo:
    #ifdef Q_OS_SYMBIAN
    /* codice per Symbian */
    #else
    /* codice per le altre piattaforme */
    #endif

    Ovviamente “#else” è opzionale.

  • Tenete conto che i cellulari hanno un monitor molto piccolo. Nel mio programma ho preferito quindi mostrare meno informazioni e lanciare il programma a schermo intero, con le seguenti istruzioni:
    #ifdef Q_OS_SYMBIAN
        window.showFullScreen();
    #else
        window.show();
    #endif

    Il fatto scomodo è che la chiusura, se non è presente un bottone o una voce dedicata nel menù, dovrà essere effettuata dalla barra di Symbian che mostra le applicazioni attive (tasto menù tenuto premuto per qualche attimo, selezionare l’applicazione, premere il tasto “c”).

Per il resto che dirvi… Divertitevi! Vorrei ringraziare brunoabinader.blogspot.com, dal quale ho preso spunto per questa guida ;)

Il pacchetto contenente il mio programmino modificato per funzionare anche su Symbian è lo stesso della volta scorsa (ho aggiornato l’archivio): kiva.tar.gz.

frafra C/C++, Guide, QT, Symbian , , , ,

VP8 libero!

19 maggio 2010

VP8, il codec sviluppato da On2 Technologies, comprata mesi fa, è stato reso libero da royalities! Su Youtube i filmati che lo usano si stanno moltiplicando ogni attimo che passa, e i browser Chrome/Chromium, Firefox e Opera sono già stati rilascati in versione di testing col supporto a questo formato! Inoltre è stato lanciato webmproject.org, sito che vuole essere un punto di riferimento per siluppatori e utenti per tutto quelo che riguarda VP8.

Ecco dove trovare le ultime builds che lo supportano:

Per utilizzarlo in Youtube, bisogna abilitare la modalità HTML5 da: www.youtube.com/html5 Inoltre quando si fa una ricerca, bisogna aggiungere “&webm=1″ all’URL della pagina che si sta visitando. Questo risulterà inutile quando tutti i video saranno codificati nel nuovo formato. I nuovi file video saranno così composti:

Ah, sono già arrivatele prime critiche :D x264dev.multimedia.cx/?p=377 Comunque sia, oggi è un giorno da segnare sul calendario se si è amanti del web libero :)

frafra Guide , ,

Webcam capovolta

13 marzo 2010

La mia webcam (ID 04f2:b036 Chicony Electronics Co., Ltd [uvcvideo]), funziona bene, ma ha un piccolo problema: si vede sottosopra :D Nello specifico il mio portatile è un Asus UL30A, ma immagino che la fix che ho trovato possa andare su tutti gli Asus della serie UL.
Così, dopo avere cercato un po’ su internet, ho segnalato il tutto a hdegoede (at) redhat.com, allegando alla mail i files creati coi seguenti comandi (come root):

lsusb > lsusb.log
dmidecode > dmi.log

Questo sviluppatore tiene una tabella delle webcam che soffrono di questo problema: proprio per questo motivo, ha bisogno di sapere quali modelli hanno bisogno di raddrizzare l’immagine.
Mi ha risposto il giorno successivo, con questa mail, dove spiega come compilare la versione di test di v4l-utils, come installarla, e come utilizzarla :)

Link: https://lists.berlios.de/pipermail/linux-uvc-devel/2009-June/004886.html

frafra Guide ,

Paldo: una distribuzione interessante

7 novembre 2009

E’ da un po’ di mesi che provo questa distribuzione poco nota. Le peculiarità?

  1. In un cdrom sono contenuti tutti i programmi che ci si aspetterebbe, inclusi Openoffice, Gimp e Inkscape
  2. Software aggiornatissimo
  3. Veloce e leggera, ma non gli manca nulla (avvia anche cups e openssh al boot)
  4. Gnome-centrica
  5. Comodissima per compilare: il sistema di gestione dei pacchetti permette di scegliere se installare il binario o il sorgente, che verrà automaticamente compilato. Inoltre, è già inclusa una suite di programmi atti alla compilazione e allo sviluppo, oltre agli headers file di tutti i programmi (non c’è la divisione tra pacchetti -dev e non)

Pochi giorni fa, è stata rilasciata la versione 1.20. Non è stata ancora annunciata sul sito, ma è possibile scaricarla sotto la pagina di download.

Ho testato questa versione sul mio nuovo portatile (Asus UL30), e sono rimasto piacevolmente colpito :) Inoltre ho scritto un post sul forum di paldo dove mostro i problemi riscontrati, cosa si può migliorare, e un paio di workaround (utili quelli per utilizzare qemu in accoppiata con kvm e quello per creare una pennetta usb con paldo live, processo riutilizzabile per altre distribuzioni).

Il link è: Paldo forum – Topic 673

Il sito della distribuzione è: Paldo.org

frafra Guide, News

Condividere una connessione

12 settembre 2009
little tux

Il guardiano del router e compagna :)

Proprio ieri sono stato privato della mia linea ADSL casalinga (sto traslocando). In un primo momento, sono stato preso dal panico, pensando a un malfunzionamento del router (basato su Linux, ha sempre funzionato benissimo). Nonostante nella mia testa iniziasse a girovagare l’idea che mi avessero staccato la linea, per i primi 30 minuti il mio cervello non accettava il fatto, come quando viene a mancare un animale domestico al quale si è affezionati e nonostante ciò gli si riempie la ciotola di pappa :) Dopo qualche reboot dei miei tre scatolotti necessari per far funzionare la mia rete (un modem ethernet, un router 4 porte wifi, e uno switch 8 porte), ho guardato il “guardiano del router” (un piccolo pinguino di peluche che tiene lontani gli spiriti cattivi dalla mia connessione), e gli ho detto: “mi dispiace, per un po’ ti toccherà fare il disoccupato…”.

Detto ciò, ho passato un po’ di tempo a sistemare i miei programmini Python, e a pubblicare su github un po’ di codice (vedasi github.com/frafra, dove ho pubblicato anche una interessante applicazione PyQT4+Twisted per la chat), utilizzando il pc di un amico :) Questo mio amico (nonché vicino di casa), ha acconsentito a condividere temporaneamente la sua connessione wifi. E qui inizia il divertimento :)

Obiettivo: dare internet alla lan, utilizzando una rete wifi

Sostanzialmente, abbiamo bisogno di un pc che da una parte si connetta dalla rete wireless, e dall’altra condivida la propria connessione. Per fare ciò sul pc dotato sia di scheda wireless sia di scheda ethernet dobbiamo:

  1. Connetterci alla rete (soluzione più semplice: networkmanager)
  2. ifconfig eth0 192.168.100.1 up
    (ho scelto 192.168.100.1 perché così sono sicuro che non si tratti di una rete già in uso)
  3. echo 1 > /proc/sys/net/ipv4/ip_forward
  4. iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE
    (dove eth0 è l’inferfaccia di rete e wlan0 quella wifi)
  5. Installare dnsmasq
  6. Editare /etc/dnsmasq.conf, mettendo:
    domain-needed
    bogus-priv
    interface=eth0
    dhcp-range=192.168.100.2,192.168.100.100,12h
  7. Avviare il demone dnsmasq
    (spesso basta dare /etc/init.d/dnsmasq start o /etc/rc.d/dnsmasq start)

Tutti questi comandi devono essere avviati come superutente (quindi o aggiungendo sudo davanti a ogni comando, o digitando su [invio] prima di iniziare la procedura). Dagli altri computer ora potete connettervi come se fosse presente un normale router nella rete locale (quindi con networkmanger, o lanciando un dhclient/dhcpcd eth0), e il gioco è fatto ;) Per collegare più dispositivi alla rete del mio portatile, ho collegato i vari computer (incluso il portatile) allo switch. Nulla di più facile :D

<a href=
Ecco che, grazie alle mie doti nell’arte figurativa (eeeh!) e a inkscape, ho creato una mappa della rete, prima e dopo :)

P.S. Ehi, ho appena fatto 19 anni, sto invecchiando :D Domani si parte per l’avventura chiamata “università” ;)

frafra Frafra, Guide, Linux , ,