non meno disordinata di quella reale ;-)
Icona RSS Icona email Icona home
  • Usare l’openmoko come antenna gps esterna (condividere gpsd sulla rete usb)

    Pubblicato il luglio 14th, 2009 sdonk Nessun commento

    Può tornare utile utilizzare l’openmoko come antenna gps esterna o, in maniera più complessa, far leggere i dati gps forniti dal demone di gestione del gps dell’openmoko, fso-gpsd, a tutti i computer connessi alla stessa rete dell’openmoko.

    Gpsd può rimanere in ascolto per fornire i dati via rete e siccome l’openmoko si collega alla rete tramite un pc, possiamo usarlo come antenna esterna. In questo modo è possibile, ad esempio, utilizzare tangoGPS sul proprio pc usano l’openmoko come un (costoso!) ricevitore gps semplicemente impostando nel campo “Server gpsd” l’ip dell’openmoko (grazie a Matthias Apitz per il felice suggerimento) .

    In SHR fso-gpsd  è configurato in modo da rimanere in ascolto solo su localhost, impedendo di fatto ad altri client di rete di accedere alle informazioni. Per modificare questo comportamento è sufficiente modificare una riga nel file /etc/init.d/fso-gpsd, cambiando:

    -S localhost:gpsd

    in

    -S 0.0.0.0:gpsd

    In questo modo tutti i computer della rete, e l’openmoko stesso, potranno accedere a gpsd anche *contemporaneamente* (cosa che non si può fare via bluetooth ad esempio) semplicemente sfruttando l’indirizzo di rete dell’openmoko e la porta su cui è in ascolto gpsd: solitamente 192.168.0.202:2947.

  • Cambiare la cartella di salvataggio delle mappe di TangoGPS su OpenMoko

    Pubblicato il giugno 22nd, 2009 sdonk Nessun commento

    TangoGPS è sicuramente uno dei migliori software di tracking disponibili su OpenMoko, tra le tante funzioni utili sicuramente la migliore è quella di poter visualizzare la posizione attuale e il percorso che si sta tracciando sulle mappe di OpenStreetMap.

    Purtroppo la memoria interna dell’OpenMoko è limitata e non è possibile, ad esempio, scaricare tutta l’Italia al livello massimo, per cui è comodo salvare le mappe sulla memory card esterna. Se si prova a cambiare il percorso di storage dalla tab config di TangoGPS, il software restituisce un errore di segmentation fault e va in crash.

    Per cambiare la cartella di salvataggio dal terminale, basta loggarsi via ssh all’OpenMoko e digitare:

    gconftool-2 -s /apps/tangogps/repos \
    "[OSM|http://tile.openstreetmap.org/%d/%d/%d.png|/media/card/Maps/OSM|\
    0,Topo|maps-for-free|/media/card/Maps/maps4free|\
    0,Aerial|openaerial|/media/card/Maps/openaerial|\
    0,Opencyclemap|http://a.andy.sandbox.cloudmade.com/tiles/cycle/%d/%d/%d.png|/media/card/Maps/opencyclemap|\
    0,Google Sat (testing only)|http://khm1.google.com/kh?v=34&hl=en&x=%d&s=&y=%d&z=%d|/media/card/Maps/googlesat|1]" \
    --type list --list-type string

  • OpenMoko FreeRunner: guida completa passo-passo (parte 1)

    Pubblicato il settembre 12th, 2008 sdonk 16 commenti

    Finalmente dopo qualche giorno di attesa ho ricevuto anche io il mio FreeRunner e la prima cosa che ho fatto è stata personalizzare ed aggiornare il software in dotazione.
    Dopo aver girato in lungo e in largo su internet e aver seguito varie guide ho deciso di raccoglierle tutte in una mega-guida da seguire passo passo.

    N.B. La procedura è valida per qualsiasi distribuzione linux ma è dedicata alla distribuzione Ubuntu Hardy 8.04

    Preparativi

    Inseriamo la sim, la microSD e la batteria in dotazione seguendo la guida ufficiale del wiki e carichiamo completamente la batteria per la prima volta.

    Flashing dell’immagine e del kernel

    L’immagine e il kernel preinstallati saranno sicuramente obsoleti per cui sarà necessario aggiornarli, attraverso una procedura chiamata flashing.
    Scarichiamo l’immagine ufficiale aggiornata da questo indirizzo, dobbiamo scaricare il file che è contraddistinto dalla notazione:

    Om2008.8-gta02-aaaammgg.rootfs.jffs2

    dove aaaa, mm e gg stanno rispettivamente per anno, mese e giorno di rilascio.
    Dallo stesso link è possibile scaricare anche il kernel ufficiale aggiornato, contraddistinto dalla notazione

    Om2008.8-gta02-aaaammgg.uImage.bin

    dove aaaa, mm e gg hanno lo stesso significato precedente. Esiste anche un kernel non ufficiale, mantenuto da mwester, che sembra allungare decisamente la vita della batteria senza preguidicare il funzionamento del telefono, quest’ultimo è scaricabile da questo indirizzo.
    Infine scarichiamo dfu-util dai repository di Intrepid, cliccando su questo link e scegliendo un server, e lo installiamo digitando da un terminale:

    $: sudo dpkg -i dfu-util_0.0+r4067-3.1_i386.deb

    Adesso siamo pronti per aggiornare, apriamo un terminale e spostiamoci nella cartella in cui abbiamo scaricato il kernel e il rootfs, premiamo il tasto AUX (quello in alto a destra) e il tasto Power del FreeRunner fino a quando comparirà il boot menù NOR.
    Colleghiamo velocemente il cavetto usb in dotazione al FreeRunner al computer e da un terminale digitiamo:

    $: sudo dfu-util -a kernel -R -D nome_immagine_kernel

    Attendiamo qualche minuto e il nuovo kernel sarà installato sulla nostra mitica saponetta.

    A questo punto è necessario installare il nuovo rootfs, semplicemente digitando da un terminale

    $: sudo dfu-util -a rootfs -R -D nome_immagine_rootfs

    Se entrambe le operazioni sono andate a buon fine, la seconda richiede diversi minuti, sul FreeRunner sarà installata l’ultima versione del kernel e del rootfs.

    n.b. se si collega il cavetto prima di aver acceso il FreeRunner, l’alimentazione del cavetto farà accedere l’OpenMoko per sarà necessario aspettare termini il boot per poi spegnerlo, per cui PRIMA accediamo al boot menù e poi colleghiamo il cavetto!

    Collegare il FreeRunner al pc e ad Internet

    Modifichiamo, con i privilegi da amministratore, il file /etc/network/interfaces

    $: sudo gedit /etc/network/interfaces

    Aggiungendo queste righe in fondo:

    # FreeRunner
    auto usb0
    iface usb0 inet static
    address 192.168.0.200
    netmask 255.255.255.0
    network 192.168.0.0
    up iptables -A POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24 &
    up echo 1 > /proc/sys/net/ipv4/ip_forward &
    up iptables -P FORWARD ACCEPT &
    down iptables -D POSTROUTING -t nat -j MASQUERADE -s 192.168.0.0/24 &

    Modifichiamo, con i privilegi da amministratore, il file /etc/hosts

    $: sudo gedit /etc/hosts

    aggiungendo in alto questa riga:

    192.168.0.202 openmoko (possiamo sostituire openmoko con un altro nome)

    Modifichiamo, sempre con i privilegi da amministratore, il file /etc/udev/rules.d/85-ifupdown.rules

    $: sudo gedit /etc/udev/rules.d/85-ifupdown.rules

    in modo che la riga LABEL=”net_end” si trovi prima della riga che comincia con ACTION==”remove”

    Riavviamo il demone che gestisce il networking:

    $: sudo /etc/init.d/networking restart

    Se (e solo se!) il pc è dietro una rete con intervallo di indirizzi 192.168.0.x (dietro un router, ad esempio) digitiamo questo comando in un terminale:

    $: sudo route add -host 192.168.0.202 dev usb0

    Infine possiamo collegarci alla saponetta semplicemente digitando:

    $: ssh root@openmoko (sostituire openmoko con l'eventuale nome scelto in precedenza)

    Alla richiesta della password premiamo semplicemente invio e saremo collegati sia ssh al FreeRunner!

    N.B. da ora in poi le istruzioni da digitare su terminale root (contraddistinte da #:) vanno digitate sul terminale collegato al FreeRunner via ssh

    La prima cosa da fare è impostare una password semplicemente digitando:

    #: passwd

    e digitate due volte la password.

    Infine, per collegare l’openmoko ad Internet attraverso l’usb, dobbiamo modificare il file /etc/network/interfaces del FreeRunner, digitando:

    #: vi /etc/network/interfaces

    Adesso premiamo i per entrare nella modalità editing di vi e modifichiamo la porzione di file relativa ad usb0 in modo che risulti uguale a questa (solitamente è necessario modificare solo le ultime due righe):

    iface usb0 inet static
    address 192.168.0.202
    netmask 255.255.255.0
    network 192.168.0.0
    gateway 192.168.0.200
    up echo nameserver 208.67.222.222 > /etc/resolv.conf
    up echo nameserver 208.67.220.220 >> /etc/resolv.conf

    Premiamo esc per uscire dalla modalità editing di vi e poi digitiamo :wq  (i caratteri compariranno in basso a sinistra) e diamo invio per salvare ed uscire da vi.

    Riavviamo i servizi di rete del FreeRunner:

    #: /etc/rc0.d/K40networking restart

    Adesso il FreeRunner è collegato alla rete!

    Aggiornare e personalizzare il software base

    Dopo aver collegato l’OpenMoko ad internet aggiorniamo i pacchetti utilizzando opkg, il gestore di pacchetti di OpenMoko:

    #: opkg update
    
    #: opkg upgrade

    Attenzione: se stai usando OM 2008.12 e vuoi cambiare la tastiera e il tema di OM allora devi seguire questa guida più aggiornata.

    La tastiera standard di OpenMoko è pienamente utilizzabile con le dita, ma la tastiera di Rasterman è più completa e semplice da utilizzare. Per installarla è sufficiente digitare questi comandi:

    #: opkg install illume-config

    Adesso disabilitiamo la tastiera di default di Qtopia, modificando il file /etc/X11/Xsession.d/89qtopia

    #: vi /etc/X11/Xsession.d/89qtopia

    Premiamo i per entrare i modalità editing e inseriamo questa riga nel file:

    export QTOPIA_NO_VIRTUAL_KEYBOARD=1

    Premiamo il tasto esc e poi digitiamo :wq per salvare e uscire da vi, a questo punto installiamo il pacchetto opkg install illume-config-illume:

    #: opkg install illume-config-illume

    puliamo la cache di Enlightenment:

     #: rm -rf ~/.e/e/config/illume

    e riavviamo X:

    #: /etc/init.d/xserver-nodm restart

    All’avvio modifichiamo le preferenze della tastiera di Illume premendo il triangolino capovolto che compare nella parte alta dello schermo al centro, poi la chiave inglese che sarà comparsa nell’angolo in alto a sinistra e infine premiamo (con le dita, of course) sulla scritta Keyboard e selezioniamo la voce Default.

    Installare software utile

    Il FreeRunner ha una vasto assortimento di software interessante, ufficiale e non, da installare per sfruttare appieno l’hardware e le potenzialità del dispositivo.

    Da buon mapper non posso che cominciare con un buon software di tracking: TangoGPS. :-P

    Prima di installare Tango è necessario far funzionare il gps, dal terminale digitiamo questi comandi:

    #: opkg install gpsd
    #: echo "GPS_DEV=\"/dev/ttySAC1\"" > /etc/default/gpsd

    Installiamo il pacchetto ufficiale (solitamente più aggiornato della versione dei repository multiverse di OpenMoko)

    #: opkg install tangogps

    La caratteristica di TangoGPS è quella di disegnare il tracking sulle mappe di OpenStreetMap in questo modo possiamo sapere cosa è già stato mappato e quanto è preciso!
    Per scaricare le mappe della zona interessata, dobbiamo collegare il FreeRunner ad Internet e avviare TangoGPS.

    Usando lo zoom (tasto + in alto) e le barre di scrolling visualizziamo la zona desiderata allo zoom desiderato, poi digitiamo su una zona qualunque della mappa e dal menù selezioniamo map download, poi i livelli di zoom da scaricare a partire da quello attuale (per cui se volete scaricare il massimo livello di zoom di un area dovete zommare fino a livello 11 e poi scelgere +6 nel menù di scelta dello zoom) e infine clicchiamo sul pulsante OK e dopo qualche minuto avremo le mappe scaricate in locale (è possibile controllare il downloading delle mappe nell’angolo in basso a sinistra, c’è un conto alla rovescia che indica i tiles che il programma dovrà ancora scaricare), pronte da usare per le uscite di mapping.

    N.B. Se il FreeRunner non è collegato alla rete può succedere che TangoGPS si impalli perché cerca di scaricare le mappe ma non riesce a collegarsi ai server di OpenStreetMap, per evitare questo incoveniente basta despuntare la casella Auto download map tiles dalla schermata Config (ultimo tasto in basso a destra).

    Continua…

  • Utilizzare sul proprio pc TangoGPS e le mappe di OpenStreetMap

    Pubblicato il agosto 18th, 2008 sdonk 2 commenti

    Se inserire le mappe di OpenStreetMap nel proprio sito/blog è una grande soddisfazione, soddisfazione ancora più grande è vedere le mappe di OpenStreetMap funzionanti su un navigatore GPS.

    Nella mailinglist italiana di OpenStreetMap si parlava di OpenMoko e di TangoGPS, il navigatore per palmari scritto in python :-D che utilizza le mappe di OSM, e ovviamente io non potevo resistere alla tentazione di provare il navigatore sul mio pc utilizzando l’antenna esterna che uso per raccogliere le tracce e una penna bluetooth da due soldi.

    Se usate Ubuntu (o Debian) è possibile scaricare il pacchetto .deb direttamente dal sito (link diretto) e poi da terminale digitare:

    $: sudo dpkg -i tangogps_0.9.2_i386.deb

    Una volta installato il software dobbiamo solo collegare l’antenna al demone che gestisce il gps (gpsd), per farlo ho seguito pedissequamente l’ottima guida del blog di michelem.

    Una volta configurato il tutto (basta seguire la guida che non riporterò qui) ho avviato TangoGps e mentre iniziavo a cercare il pulsante per scaricare le mappe il software si è agganciato all’antenna e ha scaricato automaticamente le mappe di OpenStreetMap, fenomenale!

    Ecco uno screenshot (click sull’immagine per ingrandire), il cerchietto blu è dove si trova la finestra della mia stanza… precisissimo!

    casa mia da tangogps

    Forza che aspettate, correte fuori di casa e mappate tutto quello che vi capita a tiro per avere la soddisfazione di utilizzare le mappe che avrete contribuito a creare.