Mostrando postagens com marcador google. Mostrar todas as postagens
Mostrando postagens com marcador google. Mostrar todas as postagens

terça-feira, 9 de agosto de 2011

Enjoy old SNES games on your Xoom using PS3 controller

(image from eu, android)

Yes, that exactly what you read. Now you can play SNES games on your Motorola Xoom using your PS3 controller over bluetooth. Also, this tutorial is an adaptation from an article at Eu, Android and it's intended to be used on Ubuntu only, if you need to use the other OS, please check the original. The Linux specific information is from a cached ubuntu wiki, so I'll copy & paste the relevant part here in case it expire in the future. Right, so cut the crap and let's play! :-)


Needless to say, you must have proper root access on your device - details for brazilians here.

  1. Install Sixaxis Compatibility Checker, open the application, give root permissions and then a popup message will be shown telling you if your device is supported or not (hopefully yes).

  2. Install required libs:
    $ sudo apt-get install libusb-dev libusb-0.1-4

  3. Download sixpair.c (original also hosted at the ubuntu wiki, I did a copy on my github)

  4. Compile it:
    $ gcc -o sixpair sixpair.c -lusb

    Before running sixpair, you'll need the bluetooth mac addr of your Xoom. The easy way to get it is installing Sixaxis Controller - don't worry, you'll need the app anyway to use the controller. The app will display a message "Local Bluetooth Adderss" with the bluetooth mac addr you'll need.

  5. Run sixpair with the Motorola Xoom bluetooth mac addrs you just got as a parameter:
    $ ./sixpair 41:f4:89:6d:41:73

  6. Open the Sixaxis Controller and follow the onscreen instructions - important note: You'll might need to reboot your Xoom to make it work (I had to)
 NOW I WANNA PLAY!
easy... almost there

Install a neat SNES emulator, I choosed Snes9x EX. Now you have to configure your controller to map the keys the emulator uses: Go to Sixaxis Controller -> Menu -> Preferences -> Input Mapping -> 1st Controller mappings. Since I am using Snes9x EX, I set my mapping like this:
  • square: A
  • triangle: S
  • circle: X
  • cross: Z
  • left: Q
  • right: W
  • select: SPACE
  • start: ENTER
  • power: HOME
This way, for example, Snes9x EX will understand that when you press square you're actually pressing A which means the Y button on a normal SNES controller. Yes, I know, confusing as hell, but works.

Now go and have fun :-D

domingo, 15 de maio de 2011

Xoom Brasileiro Vivo 3G atualizado (sem querer) pro Android 3.1


en_US friends: Gonna write this post in pt_BR since this weird update only regards to brazilian devices. But if even you even though have questions, post it and I'll be glad to help :)

Já adianto que o procedimento que vou descrever aqui VIOLA SUA GARANTIA E DESABILITA A FUNÇÃO 3G, esse disclaimer é sempre o mesmo, mas não custa falar pra tirar o meu da reta :)

[obs: Desabilitar o 3G, pra mim, não é la grande problema já que eu não tenho plano de dados só pro tablet e uso majoritariamente em casa. Se essa dinâmica se aplica a você, e se você gosta de se meter a besta de atualizar seus devices, então siga em frente]


Poise, consegui a façanha bizarra de atualizar meu Motorola Xoom brasileiro sem querer. Certo, certo, a idéia era sim rootear e atualizar pro 3.1, mas eu só consegui isso depois de flashar todos os boot[root].img que encontrei. Só depois de quase brickar (e me cagar nas calças) eu decidi reflashar as imagens originais e FÃ: Descubro que a Motorola ainda não liberou as imagens pro modelo MZ605, o 3G brasileiro. Só me restou flashar a imagem do MZ604 (que é wifi only e por isso o disclaimer) e qual a surpresa? No dia seguinte tinha atualização OTA disponível pra mim! Yay! [obs: No site da Motorola tem sim outras imagens, com suporte a 3G inclusive, mas só as imagens do modelo MZ604 bootaram]

[UPDATE 16/maio] Só pra constar, para flashar uma imagem no Motorola Xoom você vai precisar de M$ Windows e seus Motorola drivers, além do Android SDK (para usar o fastboot). O procedimento para de fato flashar estão no próprio site da Motorola.

Mas no fundo no fundo atualizar o tablet era só foguinho de nerd. As atrações legais que a atualização trás (filmes no Market e o Google Music) ainda não estão disponíveis aqui no Brasil ainda.

segunda-feira, 25 de abril de 2011

Using mtpfs as storage device with Motorola Xoom and Ubuntu

Meta info: No, I am certainly not going to make review for this device. For this sort of content you can find tons of information on the web, one better than another. My post would be yet another in this sea of information :-) INSTEAD, let's learn how to mount it as "mass storage device" on Ubuntu Maverick.

(default image for this post :P)


This tutorial is needed because the new Android version (3.0 aka Honeycomb) DOES NOT support mass storage device YET. It uses MTP (Media Transfer Protocol). This is not bad at all! In fact, the transfer rates are pretty faster than in usual mount as mass storage.

The procedure is pretty straightforward, I found a complete guide on XDA developers forum, which I'll describe here in short words:

1) Install mtpfs package on Ubuntu:
otubo@vader ~ $ sudo apt-get install mtpfs

2) Create new rules in udev for the Xoom:
otubo@vader ~ $ cat > /etc/udev/rules.d/51-android.rules
SUBSYSTEM=="usb", SYSFS{idVendor}=="22b8", SYMLINK+="libmtp-%k", MODE="0666"

3) Create the mount point and make it yours:
otubo@vader ~ $ sudo mkdir /media/xoom
otubo@vader ~ $ sudo chown otubo:otubo /media/xoom

4) Configure your /etc/fstab to mount it automatically by adding this line:
mtpfs /media/xoom fuse user,noauto,allow_other 0 0

5) Uncomment the option user_allow_other on the fuse configuration file at /etc/fuse.conf

6) Add yourself to the fuse group.

7) Reboot, plug your Xoom in and click "xoom" on the "Places" menu on your Ubuntu. Simple as that :)

BUT, if you face any problems, like "Transport endpoint is not connected", you may need to reinstall mtpfs from a different version. This sort of error is a bug on mtpfs, it segfaults when trying to mount/access it. So I installed from Natty's repository and everything worked fine :) BUT, if you're reading this post after the Natty's release, you probably won't need to worry about this.

[IMPORTANT UPDATE - May/3/2011]

Later on I figured out that even with Natty's version of the mtpfs I was getting a segfault when trying to mount/access the device. So, I downloaded the source code from the maintainer's page, compiled and now EVERYTHING is working pretty fine. Thank God :) It's important to notice that the segfault is on the mtpfs package and not in libmtpfs (which I also tried to uninstall and install from source). If you need to mess with your system (install from source and not from repository) always try to mess as little as possible :)

[IMPORTANT UPDATE 2 - same day]

I got a segfault AGAIN. Trying to reproduce all the steps I figured out that I had to REBOOT my Motorola Xoom to make it work with the same setup. Looking forward to have a CyanogenMod ROM for my device. Sigh. :-(

sábado, 11 de dezembro de 2010

GasFinder hits Android Market

GasFinder, o pequeno embrião que nasceu no Yahoo! Open Hack Day deste ano, passou pelo Conip e com versão até pro o Maemo agora ganha uma versão oficial pro Android. Sim meu caro! Duas semanas de intenso trabalho num projeto que está completamente fora do meu universo: Java, Android, JSON e telas em XML. Cá estamos e é com orgulho que apresento o GasFinder. Ainda em sua primeira versão super alfa, mas já é oficial para Android Market. Você pode procurar por GasFinder no Android Market ou pode scanear o código ao lado :-)


Tela inicial: lista de postos e tipos de ordenação


Segunda tela: Endereço do posto, preços dos combustĩveis e possibilidade de ligar, ver no mapa e compartilhar nas redes sociais.

O que é, pra que serve e como funciona? Muito simples comissário! GasFinder é um aplicativo que utiliza de seu local de GPS (ou informação de Wifi) para pesquisar os postos de combustível mais perto de você. O aplicativo é separado em duas partes: A primeira é o back-end (bot) que raspa os dados do site da ANP e transfere para um banco de dados, obra prima do Luciano Camilo (ninja e parceiro do projeto) - então, teoricamente, temos as informações de todos os postos de combustível do Brasil. How cool is that!? :-D A outra parte é a aplicação, eu chamo uma URL com parâmetros de latitude e longitude e recebo um JSON com todas as informações dos postos da região. Da pra ordenar por preço, por distância, ver no mapa, compartilhar e ligar pro posto.


Um dos objetivos de lançar esta versão *agora* era para participar do concurso Android Lab da Huawei que encerrou as inscrições dia 10/dez. Bem, nem precisa dizer, aplicativo open source, ainda bastante bugado, então... Reportem bugs, mandem emails, dêem sugestões e feedbacks! :-)

Special thanks to: Luciano (partner no projeto, cuidou de toda a parte de back-end e garimpagem de dados), namorada (que me aguentou por algumas semanas sem dormir direito), PradoG (que teve saco pra me ajudar com Java) e Felipe Fedel (que tem as manhas de integrar Java e JSON). Thank you all, bros :-)

[update] Para quem estranhamente não está conseguindo instalar do Android Market, aqui vai o link direto para GasFinder no meu Public do DropBox. Qualquer problema, por favor, me avisem nos comentários.

terça-feira, 23 de março de 2010

Android 2.1 no Milestone brasileiro

Já faz uma semana que instalei o Android 2.1 no Milestone e estou devendo algumas considerações. Ah, só uma observação, instalei exatamente do mesmo jeito que as outras, só mudei a imagem (já atualizei aquele outro post com o link pro 2.1)

Prós:
* Aparentemente mais rápido. O slide entre desktops, o menu de aplicações e a barrinha de avisos tem animações mais naturais e com menos lags.
* Aplicativos novos: No Android 2.1 tem Google Earth liberado, tem widget para Latitude e Google Buzz, bastante prático e útil pra quem usa com frequência.
* Número de desktops configurável, agora dá pra configurar nativamente (sem o Helix) até 9 desktops, tem até uma barrinha com uma bolinha vermelha no topo da tela mostrando em qual desktop você está.
* Live Wallpapers, all those fancy live wallpapers do Nexus One estão nessa atualização.
* Quick Office e Facebook já vem instalado.
* Aplicativos novos: All Videos e Camcorder.
* O relógio do dock agora tem controle de luminosidade por uma barrinha. Agradou.

Contras:
* A instalação APAGA TODOS OS SEUS DADOS. E eu não sabia disso. Cuidado! :-\
* A versão que instalei, a européia, interpreta os números dos contatos como xxx-xxx-xxxx. Isso faz uma bagunça quando a sua lista de contatos inclui números de operadoras e DDD no formato xx xx xxxx xxxx. Isso implica que o android não reconhece mais as chamadas, uma droga.
* Problemas de travamento frequente usando Foursquare, Twidroid e Helix home. Realmente perturbador se você usa com frequência esses aplicativos (eu).
* Ainda tem o problema de não vir pré-configurado as APNs da VIvo. Esse link diz como configurar, foi por lá que me segui e deu tudo certo com o meu 3G

Outra coisa que vem me incomodando desde a versão 2.0 - e ainda não foi corrigido - é em relação ao storage. Acontece quando copio grandes quantidades de dados (uma pasta de 2.5GB de músicas, por exemplo), chega num ponto da cópia que meu dá IO Error. O device fica maluco e trava TUDO. Tenho que tirar a bateria pra rebootar. Hey Google, if you're reading this, PLEASE fix it, ok?

E agora me resta apenas a triste notícia de que vou voltar pro Android 2.0.1, mais notícias em breve aqui ou no meu twitter.

Agradecimentos ao Haydt e ao Uatafóc pelas dicas.

quarta-feira, 3 de março de 2010

Atualizando Motorola Milestone Brasileiro para Android 2.0.1

Disclaimer: Todo o procedimento aqui descrito foi concedido gentilmente pelo Rodrigo Haydt.

Disclaimer2: É com muita dor no coração que digo que neste tutorial usaremos Windows e ferramentas proprietárias de código fechado da Motorola. O que particularmente é um absurdo. Pra que diabos a gente precisa de ferramentas proprietárias e que rodem no Windows pra flashar um device que roda Linux? Mas enfim, dancemos conforme a música :-(

Disclaimer3: Faça todo este procedimento por sua conta em risco. Fazer de forma errada o procedimento pode brickar seu telefone e transforma-lo em um elegantíssimo peso de papel. Tenha certeza que seu celular esteja carregado em 100% e que não haverá falhas ou interrupção de energia elétrica - recomendo fazer de um notebook para evitar este último.
1) A receita de bolo é bastante simples, pegue os ingredientes:
Motorola Driver Installation 4.2.0 - Windows (32bit / 64bits)
RSD Lite 4.6 [update: o arquivo não está mais neste servidor, não achei na busca que fiz. Se alguém achar poste ai nos comentários]
2) Pegue a imagem inglesa do Android 2.0.1 que instalaremos no celular e descompacte. [update: imagem brasileira do android 2.0.1 já disponível] [update2: imagem européia do android 2.1 já disponível]

3) Em seu Milestone, vá em Settings > Applications > Development e ative o USB Debugging.

4) Conecte seu telefone ao computador pela porta USB utilizando o cabo de dados.

5) Espere até o Windows achar seu device, instalar os drivers e tal e coisa. Tudo isso feito, abra o RSD Lite e espere até que o device A853 apareça na tabela.

6) Selecione o arquivo de imagem que você descompactou na caixa de texto e clique em Start.

7) Agora é a hora que a mágica do software proprietário acontece. Todo o processo vai demorar uns 10min e o telefone irá rebootar umas 3 vezes. O RSD Lite eventualmente pedirá pra ligar o celular e como você leu este tutorial você NÃO FARÁ ISSO. Seja paciente e espere até que esteja escrito Finished e PASS na tabela do RSD Lite.

Pronto, agora você tem o Android 2.0.1 no seu Motorola Milestone GSM Brasileiro. E aí, o que eu ganho com isso? Agora você vai poder instalar o Google Earth (que é mais cool do que útil por enquanto), vai poder instalar um novo aplicativo pro Dock (que é menos brilhante e você poderá dormir com mais facilidade) e vai poder instalar um novo Home (que é o nativo do Nexus 1, é cool também, mas ainda ta cheio de bug). Agora sério, a atualização deixou o Android mais rápido e aquelas travadas (e até reboots) esporádicos sumiram. A tela me pareceu mais responsiva e o consumo de bateria diminuiu sensivelmente.

Downgrade: Caso você não tenha gostado, ou tenha bugado seu telefone por algum motivo, você pode fazer o downgrade usando o mesmo procedimento mas com a imagem do Android 2.0.

Importante: O upgrade conserva todas as configurações do seu aparelho, o que não é verdade no caso do downgrade. Seu celular vai estar como se estivesse tirado da caixa.

sexta-feira, 16 de outubro de 2009

How to connect a GPS phone to a Computer via bluetooth

A very quick post to show how these things work togheter. I connected a Nokia E71 GPS to my ThinkPad T61 running Ubuntu 9.04 Janty Jackalope using bluetooth connection. The initial idea was to use Google Earth as my main GPS screen while driving, but unfortunately I couldn't make it work *yet*.

Step 1) Going right to the point: First you need to be sure that you mobile phone exports the GPS service via bluetooth. And that's simple to get. First you must edit yout /etc/bluetooth/hcid.conf to look like this:

root@phoenix:/etc/bluetooth# cat hcid.conf
#
# HCI daemon configuration file.
#

# HCId options
options {
# Automatically initialize new devices
autoinit yes;

# Security Manager mode
# none - Security manager disabled
# auto - Use local PIN for incoming connections
# user - Always ask user for a PIN
#
security none;

# Pairing mode
# none - Pairing disabled
# multi - Allow pairing with already paired devices
# once - Pair once and deny successive attempts
pairing multi;

# PIN helper
#pin_helper /usr/bin/bluepin;

# D-Bus PIN helper
#dbus_pin_helper;
}

# Default settings for HCI devices
device {
# Local device name
# %d - device id
# %h - host name
name "otubotp";

# Local device class
class 0x3e0100;

# Default packet type
#pkt_type DH1,DM1,HV1;

# Inquiry and Page scan
iscan enable; pscan enable;

# Default link mode
# none - no specific policy
# accept - always accept incoming connections
# master - become master on incoming connections,
# deny role switch on outgoing connections
lm accept;

# Default link policy
# none - no specific policy
# rswitch - allow role switch
# hold - allow hold mode
# sniff - allow sniff mode
# park - allow park mode
lp rswitch,hold,sniff,park;

# Authentication and Encryption (Security Mode 3)
#auth enable;
#encrypt enable;
}


Step 2)
Restart you bluetooth daemon:

root@phoenix:~# /etc/init.d/bluetooth restart
* Stopping bluetooth [ OK ]
* Starting bluetooth [ OK ]


Step 3) Turn on the bluetooth on your phone and get ready to scan devices:

root@phoenix:~# hcitool scan
Scanning ...
00:21:FE:xx:xx:xx mycellphone


Step 4) Then, check if your phone exports GPS data via bluetooth running sdptool. In this step you need to pay attention to the Service Names and to the channel they use. We're gonna use these informations later on.

root@phoenix:~# sdptool browse 00:21:FE:F8:2F:E2
Browsing 00:21:FE:F8:2F:E2 ...
Service Name: AVRCP Target
Service Description: Audio Video Remote Control
Service Provider: Symbian Software Ltd.
Service RecHandle: 0x10000
Service Class ID List:
"AV Remote Target" (0x110c)
Protocol Descriptor List:
"L2CAP" (0x0100)
PSM: 23
"AVCTP" (0x0017)
uint16: 0x100
Profile Descriptor List:
"AV Remote" (0x110e)
Version: 0x0100

Service Name: Hands-Free Audio Gateway
Service RecHandle: 0x10004
Service Class ID List:
"Handsfree Audio Gateway" (0x111f)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 1
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Handsfree" (0x111e)
Version: 0x0105

Service Name: Headset Audio Gateway
Service RecHandle: 0x10005
Service Class ID List:
"Headset Audio Gateway" (0x1112)
"Generic Audio" (0x1203)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 2
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Headset" (0x1108)
Version: 0x0100

Service Name: Audio Source
Service RecHandle: 0x10027
Service Class ID List:
"Audio Source" (0x110a)
Protocol Descriptor List:
"L2CAP" (0x0100)
PSM: 25
"AVDTP" (0x0019)
uint16: 0x100
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Advanced Audio" (0x110d)
Version: 0x0100

Service Name: AVRCP Controller
Service Description: Audio Video Remote Control
Service Provider: Symbian Software Ltd.
Service RecHandle: 0x10028
Service Class ID List:
"AV Remote" (0x110e)
Protocol Descriptor List:
"L2CAP" (0x0100)
PSM: 23
"AVCTP" (0x0017)
uint16: 0x100
Profile Descriptor List:
"AV Remote" (0x110e)
Version: 0x0100

Service Name: SyncMLClient
Service RecHandle: 0x10029
Service Class ID List:
UUID 128: 00000002-0000-1000-8000-0002ee000002
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 10
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"" (0x00000002-0000-1000-8000-0002ee000002)
Version: 0x0100

Service Name: OBEX File Transfer
Service RecHandle: 0x1002a
Service Class ID List:
"OBEX File Transfer" (0x1106)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 11
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"OBEX File Transfer" (0x1106)
Version: 0x0100

Service Name: Nokia OBEX PC Suite Services
Service RecHandle: 0x1002b
Service Class ID List:
UUID 128: 00005005-0000-1000-8000-0002ee000001
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 12
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"" (0x00005005-0000-1000-8000-0002ee000001)
Version: 0x0100

Service Name: SyncML DM Client
Service RecHandle: 0x1002c
Service Class ID List:
UUID 128: 00000004-0000-1000-8000-0002ee000002
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 13
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"" (0x00000004-0000-1000-8000-0002ee000002)
Version: 0x0100

Service Name: Nokia SyncML Server
Service RecHandle: 0x1002e
Service Class ID List:
UUID 128: 00005601-0000-1000-8000-0002ee000001
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 14
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"" (0x00005601-0000-1000-8000-0002ee000001)
Version: 0x0100

Service RecHandle: 0x1002f
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 3

Service Name: Dial-Up Networking
Service RecHandle: 0x10030
Service Class ID List:
"Dialup Networking" (0x1103)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 4
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100

Service Name: OBEX Object Push
Service RecHandle: 0x10031
Service Class ID List:
"OBEX Object Push" (0x1105)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 9
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"OBEX Object Push" (0x1105)
Version: 0x0100

Service Name: Imaging
Service RecHandle: 0x10032
Service Class ID List:
"Imaging Responder" (0x111b)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 15
"OBEX" (0x0008)
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Imaging" (0x111a)
Version: 0x0100

Service Name: SIM Access
Service RecHandle: 0x10033
Service Class ID List:
"SIM Access" (0x112d)
"Generic Telephony" (0x1204)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 8
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"SIM Access" (0x112d)
Version: 0x0101

All you need to check on this huge amount of data is something telling that you phone exports the GPS information. In the above example there is no such thing. If your phone DOES support this information go to step 5. Otherwise, install this strategic application for Symbian: ExtGSP. This little tricky app will do all the messy thing for you exporting all the GPS data over the bluetooth connection. Then re-run the sdptool command again to check. In the end you will find additional information about ExtGPS:

Service Name: Symarctic ExtGPS
Service Description: Share phone's built-in GPS module via Bluetooth
Service Provider: Symarctic Solutions
Service RecHandle: 0x10034
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 5
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100


Step 5) Then, edit your /etc/bluetooth/rfcomm.conf and make it look like this:

root@phoenix:~# cat /etc/bluetooth/rfcomm.conf
rfcomm4 {
bind yes;
device 00:21:FE:F8:2F:E2;
channel 5;
comment "Serial Port";
}


Step 6) Once configured (and ExtGPS running on your phone) you will now open a communication channel and bind it to a local device like this:

root@phoenix:~# rfcomm connect 4
Connected /dev/rfcomm4 to 00:21:FE:F8:2F:E2 on channel 5
Press CTRL-C for hangup


Step 7) Now there's a bunch of GPS information being written on /dev/rfcomm4. In order to make a good use of it, we should grad all these information, and parse it with gpsd:

root@phoenix:~# gpsd -N /dev/rfcomm4
(-N means not to daemonize it, to see all the debug info.)



What's next? Now we have all the setup ready: Cellphone with GPS up and running, exporting information via bluetooth (using ExtGPS), connected and writing information on a local device, and a daemon grabing and parsing all the information. Good! We just need a client program to enjoy the show:

Step 8) You can use a bunch of client programs, I've tested two of them: Xgps and GpsDrive.
Xpgs is a very simple program just to make sure things are working fine. It shows the position of satelites, the current position and so on. Here is a print screen:


GPSDrive is more Google-Earth-like, you may track you path during a travel, check the map and so on:


Well, that's it. Hope you enjoy :)

sábado, 10 de outubro de 2009

Googe Wave, a (r)evolução da comunicação

Pois bem, eu mal ganhei convite de usuário pro Google Wave e já estou me metendo a dissertar sobre o tema. Aliás, agradecimentos ao Duda Nogueira pela cortesia :-)

Antes de sair lendo o post, devo avisar que não será nada técnico. Mas como? Simples, são apenas algumas divagações que fiz a respeito do que pode acontecer com a forma com que trocamos informações. Já aviso que para entender melhor o que vou falar, assista a palestra de lançamento da early-release-developer-preview versão alfa no Google IO. Para facilitar a vida, posto dito ai em baixo:



Depois de ver o vídeo, surgiram alguns pensamentos aleatórios:

1) Convergência: Tudo-numa-coisa-só-conectado-ao-mesmo-tempo-agora. O conceito de email acabou, o conceito de IM acabou e o conceito de micro blogging também acabou. Agora TUDO o que circula por aí é uma wave. No fundo no fundo Google Wave serve como um proxy transparente para qualquer outro aplicativo que você queria usar. O aplicativo abstrai todos esses conceitos e mostra ao usuário o que realmente importa: A informação. Não importa se é em tempo real ou se é assíncrono, a informação está lá pra quando o usuário quiser/puder interagir.

Até aí no big deal.

2) Mobilidade: Pegue tudo isso e junte à idéia de objeto compartilhado - o que nos leva imediatamente à edição colaborativa. Agora coloque tudo isso dentro de um celular device interessante... (pensamento viciado) ...Como por exemplo o N900. Em qualquer lugar você vai poder discutir assuntos tão facilmente quanto se estivesse em uma mesa de bar, vai poder compartilhar e mostrar suas fotos em tempo real tão fácil quanto se estivesse na sala de casa conversando com seus pais, vai poder debater o projeto da firma de forma tão simples quanto em um brainstorm, vai poder... (e por ai vai)

3) Hackers of the world, unite! Agora vem a coisa legal, a API é aberta. Vamos poder brincar de desenvolver gadgets, widgets e qualquer-coisa-dgets que quisermos pra esse brinquedo novo. Widgets que faça um parser das datas escritas no texto e diga a previsão do tempo, um bot que fale com redes IRC, um widget faça café e misto-quente-fatiado quando eu acordar, ah seila.

Pode até ser exagero meu, ok. Mas eu só cheguei nessas conclusões por dois motivos: (1) Observei a tremenda revolução que o sistema de microblog fez nos meios de comunicação e (2) assisti Wall-E umas 3 vezes. Não, nenhum entorpecente envolvido.

A conclusão (por que todo texto longo deve ter uma conclusão) é que só esperando pra ver e sacar qualé. E isso me remete a um pensamento que tive na época que trabalhava no Pukas: Quando a gente desenha uma ferramenta, esperamos que os usuários usem assim, o que não impede que os usuários a usem assado ou cozido. Que eu me recorde, blogs e microblogs aconteceu exatamente assim. Logo, só esperando pra sacar qualé mesmo.