2. Caratteristiche hardware #1
Size and Weight
120.7 x 62 x 18.5 mm
133 grams
Display
Touch Screen
2.8quot; VGA (480x640) VGA Screen
Speed
ARM9 @ 400 MHz
2D/3D Graphics Acceleration
GSM
Tri band 850/1800/1900 MHz
Tri band 900/1800/1900 MHz
3. Caratteristiche hardware #2
Power
Removable 1200 mAh battery
Memory
128MB SDRAM
256MB NAND Flash
microSD Slot
Input and Output
Input and Output
2.5 mm audio jack
GPS external connector
4. Caratteristiche hardware #3
Hardware Highlights
Wi-Fi (802.1 1b/g)
AGPS
GPRS (2.5G not EDGE)
Bluetooth 2.0
3axis Motion Sensors (2)
Software Highlights
Openmoko GNU/Linux-based
100% FOSS on CPU
GNU/Linux development tools
16. Features by distributions
FSO Debian
No BlueTooth No Finger Friendly
No Accellerometers No Accellerometers
No PIM
om2007.2 QT Extended
No Accellerometers No GPRS
No Accellerometers
22. TangoGPS e openstreetmap.org
è uno dei gps piu' diffusi (in ambito Linux)
non è un navigatore
usa le mappe di openstreetmap
ha una comunità di utenti
può usare le mappe di google maps
è stabile sull'openmoko
usa gpsd
l'utente disegna le mappe di openstreetmap
puoi condividere i tuoi tracciati gps
puoi modificare eventuali errori nelle mappe
aggiornamenti delle mappe in tempo reale (o quasi)
31. Toolchain
La toolchain precompilata fornisce:
Compilatore gcc per la crosscomplile
Script per la configurazione delle variabili di ambiente
Script per facilitare configurazione sorgenti
Script per la creazione di pacchetti
opkg per l' installazione delle varie librerie necessarie
32. Installare la toolchain
Scarichiamo la toolchain per architetture i686:
$ wget http://downloads.openmoko.org/toolchains/openmoko-i686-
arm-linux-gnueabi-toolchain.tar.bz2
oppure per X86_64:
$ wget http://downloads.openmoko.org/toolchains/openmoko-i686-
arm-linux-gnueabi-toolchain.tar.bz2
Scompattiamo il pacchetto in / :
#cd /
#tar -xjvf ~/openmoko-XYZ-arm-linux-gnueabi-toolchain.tar.bz2
33. Esempio di ultilizzo della toolchain
Grazie alla toolchain si possono portare software non ancora
disponibili sul Neo Freerunner , per esempio un programma che
si può compilare con la triade ./configure & make & make install
si compila con le seguenti istruzioni:
$ . /usr/local/openmoko/arm/setup-en
$ om-conf <directory sorgenti programma>
$ cd <directory sorgenti programma>
$ make
$ cd ..
$om-make-ipkg <directory sorgenti programma>
34. Facile, no?
No!
Molte volte bisogna modificare gli script per la configurazione
del programma e i Makefile dello stesso.
35. Porting di Powertop
Powertop è un programma sviluppato da Intel grazie al quale
possiamo sapere chi consuma la batteria del nostro portatile o
in questo caso il nostro cellulare.
36. Procuriamoci powertop
Prima di tutto scarichiamo i sorgenti di powertop :
$ wget http://www.lesswatts.
org/projects/powertop/download/powertop-1.10.tar.gz
Scompattiamo il pacchetto:
$ tar -xvzf powertop-1.9.tar.gz
E ora analiziamo il Makefile
39. Installiamo le librerie necessarie
Diventiamo root e inizializziamo le variabili di ambiente:
# . /usr/local/openmoko/arm/environment-setup
Installiamo le librerrie mancanti:
# opkg-target install ncurses-dev
41. Creiamo il pachetto ipkg/opkg
Ora invece di dare il classico make install :
$ cd ..
$ om-make-ipkg powertop-1.10/
Questo produrra il pachetto pronto per essere installato sul
nostro telefono:
powertop-1.10_0.1_armv4t.ipk
43. Un esempio di sviluppo in Python
Scopo:
avere sul desktop del telefono un'icona per lanciare e
fermare il demone gpsd .
Strumenti:
Python
ssh
vi
Gimp
Risultato:
gpsdcontrol (ver 0.2)
44. Per lanciare o fermare gpsd bisogna lanciare:
/etc/init.d/gpsd start|stop
Per accendere l'antenna gps bisogna scrivere 0 o 1 dentro il
file:
/sys/class/i2c-adapter/i2c-0/0-0073/neo1973-pm-gps.0/pwron
I dati per definire l'icona stanno in:
/usr/share/applications/gpsdcontrol.desktop
La PNG dell'icona (80x80 pixel) sta in:
/usr/share/pixmaps/gpsdcontrol.png
45. Il pacchetto finale sarà composto da 3 file:
/usr/bin/gpsdcontrol.py
/usr/share/pixmaps/gpsdcontrol.png
/usr/share/applications/gpsdcontrol.desktop
1. l'eseguibile
2. la PNG dell'icona
3. il file per la definizione dell'icona sul desktop
51. Configurare un repository #1
Come tutte le distro anche OpenMoko ha un gestore di
pacchetti basato sui repository: si chiama opkg .
E' derivato da ipkg con alcune modifiche marginali.
I file di configurazione dei repository sono dentro /etc/opkg
Per aggiungere un nuovo feed basta creare un file con dentro le
informazioni del repositori:
root@saponettofono:~# cat /etc/opkg/gecco-feed.conf
src/gz daily-gecco http://minucci.net/file/opkg
52. Configurare un repository #2
Inoltre va aggiunta l'apposita stringa al file /etc/opkg/arch.conf
root@saponettofono:~# cat /etc/opkg/arch.conf
arch all 1
arch any 6
arch noarch 11
arch arm 16
arch armv4t 21
arch fic-gta02 26
arch neo1973 31
arch om-gta02 36
arch gecco 40
53. Usare opkg
opkg update (aggiorna la lista dei pacchetti)
opkg upgrade (aggiorna tutti i pacchetti aggiornabili)
opkg list (da la lista di tutti i pacchetti disponibili)
opkg list_installed (da la lista dei pacchetti installati)
opkg install nomepacchetto (installa il pacchetto)
opkg install http://nomesito.
org/dir/nome_0.1_all.opk (installa il pacchetto da un
percorso di rete)
opkg install ../tmp/nome_0.1_all.opk (installa il
pacchetto da un percorso locale)
opkg remove nomepacchetto (rimuove il pacchetto)
54. Difetti noti
Su om2008 l'eventuale installzione di gsmd conflitta con qpe
e non si riesce più a telefonare.
Su om2008 installando pulseaudio o un synth vocale
diverso da flite disabilita l'audio.
Su om2008 a volte se accendi il telefono col cavo usb poi
non funzionano i messaggi. Devi riavviare
Su om2008 se lo mandi in sospensione col wifi attivo, poi
devi disattivarlo riavviare il telefono altrimenti il wifi non
funziona
Il volume va regolato via ssh con alsamixer
Se imposti il suspend automatico a volte si inceppa
Se accendi il wifi dopo averlo messo in carica non funziona
55. Conclusioni
domanda: quot;Io per lavoro uso spesso il telefono,
mi consigliate l'acquisto dell'Openmoko?quot;
risposta: quot;No!quot;
56. Community
La community di openmoko sembra molto attiva. Ecco alcuni
riferimenti:
http://wiki.openmoko.org
http://planet.openmoko.org/
http://forum.telefoninux.org/
http://lists.openmoko.org/mailman/listinfo/
http://docs.openmoko.org/trac/
http://projects.openmoko.org/