Openmoko

Loading...

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

0 comments

Post a comment

    Post a comment
    Embed Video
    Edit your comment Cancel

    1 Favorite

    Openmoko - Presentation Transcript

    1. NeoFreerunner
    2. Caratteristiche hardware #1 Size and Weight 120.7 x 62 x 18.5 mm 133 grams Display Touch Screen 2.8\" 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
    5. Package Contents
    6. Unboxing #1
    7. Unboxing #2
    8. Unboxing #3
    9. Unboxing #4
    10. Unboxing #5
    11. Unboxing #6
    12. Setting up the hardware
    13. Buttons and Connectors
    14. Distributions om2007.2 (GTK) om2008.9 (GTK + QT) FSO (FreeSmartphone.Org) SHR FDOM QT Extended (ex qtopia) Debian Gentoo Android ?!?
    15. 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
    16. Dialer
    17. TangoGPS e Minimo Browser
    18. qtmail per gestire gli sms
    19. Settings e Illume Config
    20. Il boot e il Terminale
    21. 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)
    22. TangoGPS
    23. Openstreetmap.org #1
    24. Openstreetmap.org #2
    25. Openstreetmap
    26. Google Maps
    27. Developer Developer Developer... Sviluppare software per l'Openmoko...
    28. Linguaggi di programmazione Principali Python C/C++ Altri Perl Bash script Java BrainFuck Mono un po' quello che ti pare
    29. 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
    30. 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
    31. 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>
    32. Facile, no? No! Molte volte bisogna modificare gli script per la configurazione del programma e i Makefile dello stesso.
    33. 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.
    34. 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
    35. Modifichiamo il Makefile BINDIR=/usr/bin LOCALESDIR=/usr/share/locale MANDIR=/usr/share/man/man1 WARNFLAGS=-Wall -W -Wshadow CFLAGS?=-O1 -g ${WARNFLAGS} CC?=gcc [...] powertop: $(OBJS) Makefile powertop.h $(CC) ${CFLAGS} $(OBJS) -lncursesw -o powertop @(cd po/ && $(MAKE))
    36. Modifichiamo il Makefile BINDIR=/usr/bin LOCALESDIR=/usr/share/locale MANDIR=/usr/share/man/man1 WARNFLAGS=-Wall -W -Wshadow CFLAGS?=-O1 -g ${WARNFLAGS} CC?=arm-angstrom-linux-gnueabi-gcc [...] powertop: $(OBJS) Makefile powertop.h $(CC) ${CFLAGS} $(OBJS) -lncurses -o powertop @(cd po/ && $(MAKE))
    37. 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
    38. Crosscompiliamo Powertop Inizializziamo le variabili di ambiente: $ . /usr/local/openmoko/arm/setup-en Compiliamo il programma: $ cd powertop-1.10 $ make
    39. 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
    40. Risultato finale:
    41. 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)
    42. 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
    43. 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
    44. # cat /usr/share/applications/gpsdcontrol.desktop [Desktop Entry] Name=gpsd start Comment=gpsd start and stop script Encoding=UTF-8 Version=1.0 Type=Application Exec=gpsdcontrol.py Icon=gpsdcontrol Terminal=False Categories=GTK;Application;PIM SingleInstance=true StartupNotify=true
    45. root@saponettofono:~# cat /usr/bin/gpsdcontrol.py #!/usr/bin/python # # Start & Stop gpsd service from openmoko desktop # # Carlo Minucci 2008 - GPL # gecco@napodano.com http://minucci.net import string import os f = open(\"/usr/share/applications/gpsdcontrol. desktop\", \"r\") file_content = f.read() pezzi = string.split(file_content, '\\n') f.close() state = string.split(pezzi[1], ' ') state = state[1]
    46. f = open(\"/usr/share/applications/gpsdcontrol. desktop\", \"w\") if state == \"start\": f.write (\"\"\"[Desktop Entry] Name=gpsd stop Comment=gpsd start and stop script\"\"\") os.system(\"/etc/init.d/gpsd start\") os.system(\"echo 1 > /sys/class/i2c-adapter/i2c- 0/0-0073/neo1973-pm-gps.0/pwron\") elif state == \"stop\": f.write (\"\"\"[Desktop Entry] Name=gpsd start Comment=gpsd start and stop script\"\"\") os.system(\"/etc/init.d/gpsdcontrol stop\") os.system(\"echo 0 > /sys/class/i2c-adapter/i2c- 0/0-0073/neo1973-pm-gps.0/pwron\")
    47. f.write (\"\"\" Encoding=UTF-8 Version=1.0 Type=Application Exec=gpsdcontrol.py Icon=gpsdcontrol Terminal=False Categories=GTK;Application;PIM SingleInstance=true StartupNotify=true\"\"\") f.close()
    48. Risultato:
    49. 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
    50. 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
    51. 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)
    52. 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
    53. Conclusioni domanda: \"Io per lavoro uso spesso il telefono, mi consigliate l'acquisto dell'Openmoko?\" risposta: \"No!\"
    54. 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/
    55. Ringraziamenti: openmoko.com openmoko.org eshopen.com google.it openstreetmap.org google documents flickr.com forum.telefoninux.org fanolug.org minucci.net

    + guestec2667guestec2667, 2 years ago

    custom

    1083 views, 1 favs, 0 embeds more stats

    simple presentation about Openmoko for LinuxDay2008 more

    More info about this document

    © All Rights Reserved

    Go to text version

    • Total Views 1083
      • 1083 on SlideShare
      • 0 from embeds
    • Comments 0
    • Favorites 1
    • Downloads 4
    Most viewed embeds

    more

    All embeds

    less

    Flagged as inappropriate Flag as inappropriate
    Flag as inappropriate

    Select your reason for flagging this presentation as inappropriate. If needed, use the feedback form to let us know more details.

    Cancel
    File a copyright complaint
    Having problems? Go to our helpdesk?

    Categories