 Jefferson,  18 de setembro de 2015, Isso não é nenhuma novidade, mas como eu publiquei um post sobre como montar um GPS bluetooth, é natural que eu escreva sobre isto para completar a explicação.
Desde versões bem antigas todo aparelho Android tem a capacidade de usar “mock locations”, que é uma “falsificação” das coordenadas de localização.
O fato é que qualquer app também pode pegar coordenadas “reais” via bluetooth e disponibilizar como se fosse um GPS interno do aparelho.
Você precisa apenas de duas coisas:
- Habilitar Mock Locations no Android – A opção sempre está sob “Developer Options” mas a maneira exata de chegar a esse menu depende da versão do Android. Versões mais antigas deixavam isso bem à vista do usuário, mas nas versões recentes esse menu pode estar oculto e será necessário um certo ritual para evocá-lo. Verifique como se chega às “Opções de Desenvolvedor” na sua versão;
- Instalar uma app que crie um GPS Provider via Bluetooth – Eu estou usando uma com o nome espantosamente original “Bluetooth GPS“, porque foi a que mais me agradou, mas existem outras.
 Em versões recentes do Android Developer Options é um menu secreto que pode ser habilitado tocando várias vezes seguidas em “build number”.

Com o GPS bluetooth em operação eu posso até desligar o acesso aos serviços de localização do Android, que apps com o Waze continuam funcionando.
 Mesmo com “Location” desabilitado, os “mock providers” continuam funcionando.
Não encontrei em lugar algum a informação de que o uso de mock locations desativa automaticamente o GPS interno então, para me certificar de que não estou gastando bateria sem necessidade com um GPS que não funciona mesmo, eu desativo os serviços de localização ao entrar no carro e habilitar o GPS bluetooth. [18/09/2016] Se você usa o serviço de localização para rastrear onde seu celular (você) esteve e em que horários, não faça isso. A localização não aceita as coordenadas vindas de “mock locations”.
 A app “Bluetooth GPS” enquanto ainda não está recebendo as strings NMEA do GPS.
Uma reclamação
Uma coisa que me incomoda há anos é a inexistência de uma app GPS Wi-Fi. Eu estou sempre com o Wi-Fi habilitado e sempre com o bluetooth desligado, mas agora sempre que entro no carro tenho que habilitar o BT e lembrar de desabilitá-lo ao sair (BT costuma consumir muita bateria). Além disso, bluetooth só permite uma conexão por vez. Um “Wi-Fi GPS provider” resolveria todos esses problemas. Eu ainda estou engatinhando na programação para Android mas esse é um dos projetos que vou atacar assim que tiver o conhecimento suficiente.
O mais próximo que cheguei de encontrar uma app pronta com essa funcionalidade é a dupla GPS Tether Server e GPS Tether Client, mas o cliente é feito para conversar com o server do mesmo desenvolvedor apenas.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  18 de setembro de 2015, Eu fui obrigado a montar um desses para mim por causa do GPS lixo do Samsung Galaxy E5.
A coisa é espantosamente simples quando você tem as peças. Você precisa basicamente de:
- Um módulo GPS com interface serial TTL;
- Um módulo bluetooth com interface serial TTL;
Outra forma de especificar é que os dois sejam “compatíveis com Arduino”, já que muito vendedor não sabe o que é “serial TTL”.
Como eletricamente os dois são compatíveis e geralmente essas duas classes de módulo vem programadas de fábrica com os parâmetros 9600,8N1, basta ligar a saída do GPS à entrada do módulo bluetooth para ter um módulo bluetooth GPS. Na foto abaixo, a gambiarra que fiz para colocar no porta objetos do meu UNO:

Parece ter muito fio aí mas na verdade não. O módulo GPS tem dois fios que não são necessários e você não precisa realmente usar o RX do GPS, que só é usado para reconfigurar o módulo. A coisa então se resume a alimentar os dois módulos com 5V e conectar o fio TX do GPS ao RX do BT. Mais nada além disso.
No meu carro eu já tenho vários jacks de 5V padrão USB prontos para esse tipo de coisa. Somente o módulo GPS precisa ficar visível pois precisa “ver” o céu. Esse da v.kel não precisa sempre disso pois consigo o fix mesmo antes de sair da garagem (como todo bom GPS ele consegue captar “reflexões”), mas é melhor não complicar sem necessidade. Eu gosto de ter o módulo bluetooth visível porque o LED azul dele me mostra quando a conexão com o celular está funcionando (fica aceso, sem piscar), mas não é realmente necessário.
Isso é compatível com qualquer aparelho Android que tenha bluetooth. Você recebe as coordenadas GPS habilitando “Mock Locations” e instalando uma app qualquer que repasse as coordenadas recebidas via bluetooth para o formato esperado pelo Android.
O módulo GPS
O utilizado na foto é um V.KEL VK16U6

Mas pode ser outro, como o Skylab SKM53 (eu tenho ambos).

O módulo bluetooth
Sobre esse eu já falei aqui um outro dia. O usado no meu projeto é uma versão mais simples que só tem 4 pinos, mas funcionalmente dá no mesmo. Você vai usar o modelo slave, que por sorte também é o mais comum e barato.

Como um módulo bluetooth slave só pode se conectar com um master de cada vez, se você quiser que as coordenadas GPS fiquem disponíveis para mais de um aparelho ao mesmo tempo precisa adicionar mais módulos bluetooth. Todos eles com o RX ligado ao mesmo TX do GPS. Eu não testei essa configuração, mas não deve dar problema algum.
Nessa situação você vai querer mudar o nome com que os módulos se apresentam para poder diferenciá-los. O procedimento exato para isso depende do módulo mas é sempre programado via interface serial TTL com comandos AT.
Este post está em rascunho. Se tiverem alguma dúvida razoável (se esforcem antes), falem, que esclarecerei melhor. Mas o tema “como isso funciona no Android” já foi explicado em outro post.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  10 de setembro de 2015, Então o Windows do seu cliente é a versão Jack Sparrow Edition e você precisa por qualquer razão atualizar o Windows Media Player (eu prefiro o kmPlayer)? É tão simples que espanta.
Resumo:
- Descompacte o pacote de instalação da MS em um diretório;
- Execute wmfdist11.exe;
- Execute wmp11.exe.
A explicação um pouco mais longa:
O instalador do Windows Media Player 11 geralmente se apresenta como um executável com um nome do tipo “wmp11-windowsxp-x86-pt-br.exe”. Esse executável é na verdade um ZIP auto-extraível e se você tiver um programa como o WinRar instalado ao clicar com o botão direito sobre o EXE verá no menu a opção de extrair o conteúdo.

Quando o instalador é executado, o conteúdo é extraído para um diretório temporário e um programa pré-definido é executado, mas esse programa é apenas um acréscimo ao real pacote do Windows Media Player e pode ser contornado.

Consegui a dica no Tech Recipes.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  28 de agosto de 2015, Ou quase isso.
Eu já devo ter comentado aqui que uma das coisas que me incomoda no Android é a impossibilidade de reverter uma atualização de app se você não tiver um backup da versão anterior. Por conta disso, como eu não gosto de surpresas desagradáveis, eu deixava para fazer atualizações apenas quando eu tinha saco para fazer o backup manual.
Pois bem… eu não sei eu simplesmente não notara ou se minha app preferida para isso, App Backup & Restore, incluiu essas facilidades em uma atualização e eu não vi, mas o fato é que a app tem duas funcionalidades que (quase) me permitem deixar o aparelho em atualização automática:
- Faz o backup automático de toda app instalada;
- Preserva todas as versões no backup (não sobrescreve).
As duas funcionalidades acima precisam ser explicitamente habilitadas no menu da app.
Só falta explicar por que eu disse “quase” duas vezes. O problema é que graças à incompetência da OI eu ainda estou preso a um acesso à internet de 800 kbps. Atualizações automáticas, seja do que for, é um luxo que não posso ter. Eu ainda preciso escolher uma hora favorável para autorizar as atualizações.
Ainda se as atualizações fossem de apenas uns poucos KB… Mas parece que toda app android tem que ser atualizada baixando a versão nova inteira. Só a atualização do Kodi que fiz hoje tinha 57MB (12 minutos travando toda minha banda). Some isso ao fato de que certos desenvolvedores parecem atualizar toda semana (como a Google) e haja banda para dar conta, principalmente se você tiver vários dispositivos android na casa.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  24 de agosto de 2015, Os rumores sobre o perturbador comportamento de dedo-duro do Windows 10 podem ou não ter fundamento, mas quem tem juízo não dá chance ao azar. Torrentfreak reporta que alguns trackers já decidiram que se você quiser usar os trackers precisa pelo menos usar outra versão do Windows.
Isso pode não parar por aí, porque também especula-se que certos updates do Windows 7 tornam esse SO suspeito também.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  23 de agosto de 2015, Firefox, WTF
- Tudo começou com o sistema de releases freqüentes e sem sentido;
- Depois a interface mudou de tal forma que muitas vezes eu sou incapaz de dizer só de olhar se o browser aberto na minha frente é o Chrome ou o Firefox (a Mozilla jogou fora a identidade do FF);
- Agora a Mozilla anuncia que o FF vai começar a suportar extensões do Chrome e o suporte a extensões próprias eventualmente será abandonado.
Mozilla: uma empresa que já foi líder e hoje faz tudo ao seu alcance para se tornar irrelevante!
Ainda bem que ainda temos o Pale Moon, porque eu não consigo agüentar o Chrome.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  23 de agosto de 2015, Minha configuração:
- Gigabyte GA-B75-M-D3H com processador Intel Core I3;
- Receiver (home theater) Philips LX-600;
- Windows XP SP3;
- FFDSHOW tryouts rev4382 (03/2012);
- Potplayer 1.5.40688;
- Kmplayer 3.0.0.1440
Eu vou partir da premissa de que você já use o ffdshow e já tenha conseguido fazer o passthrough do áudio DTS e AC3 para o receiver usando-o.
O problema e a solução não são restritos a AAC. O modo mais “simples” de passar qualquer tipo de áudio não suportado pelo seu receiver via SPDIF é converter para um tipo suportado. Dos suportados, geralmente o mais fácil é converter para AC3. Em um computador moderno como um Core i3 essa conversão pode ser feita em tempo real de forma imperceptível mas não sei se funcionará bem com máquinas mais modestas.
Usando o ffdshow fazer a conversão em tempo real para AC3 é absurdamente simples:

No meu computador marcar e desmarcar a opção chaveia imediatamente o áudio já em execução, sem precisar fechar o player.
É importante notar que isso converterá qualquer stream “já decodificado” para AC3 e, se assim estiver configurado, o transmitirá via SPDIF para o seu receiver. Isso significa que muita coisa que você estava acostumado a ouvir pelos alto-falantes do PC vai exigir que o seu receiver esteja ligado enquanto esta opção estiver marcada.
O problema com áudio de 44kHz
Depois que fiz essa configuração fiquei muito empolgado com o resultado até tentar ouvir os videoclipes que baixei do youtube em MP4 com audio AAC.
- No kmplayer o ffdshow sequer era ativado. O próprio kmplayer reproduzia o som, pelas caixas acústicas do PC;
- No potplayer o ffdshow era ativado, mas o som ficava ruim, com estalos o tempo todo.
Depois de mexer em muitas configurações e comparar muitas amostras de vídeos que funcionavam com os que não funcionavam percebi que comum a todos os clipes que não funcionavam era o áudio não ser de 48khz (o padrão DVD). Então eu habilitei o resample no ffdshow:

A configuração desta opção só vai funcionar direito a partir do próximo arquivo ouvido.
Isso resolveu o problema. Avicii, Kelly Clarkson, Calvin Harris, Shakira, Miranda Lambert, Kelly Rowland, Fall Out Boy, Katy Perry, One Direction, Maroon 5, Meghan Trainor, Lea Michelle e Ellie Goulding (entre outros) agora soam muito melhor no meu receiver.
É muito importante você ter em mente que, assim como a anterior, esta configuração vai afetar todo o áudio processado pelo ffdshow. Se você for como eu e preferir que o áudio seja sempre “original” a menos que seja realmente necessário mexer, lembre-se de desligar o resample quando não estiver precisando dele.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  20 de agosto de 2015, A Microsoft reportou a existência de uma vulnerabilidade crítica em quase todas as versões do IE que permite ao atacante ter total controle da sua máquina bastando você visitar um site malicioso. O que pode acontecer até indiretamente por uma propaganda instalada em um site que você confia.
O problema para quem usa o XP: A MS só liberou patches para o Windows Vista em diante. O que me faz pensar que o problema não é exatamente no IE, já que existe um patch diferente para cada versão do Windows.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  15 de agosto de 2015, A acusação é de ex-funcionários da empresa de segurança russa e foi publicada pela Reuters. Segundo eles, a Karspersky estudava como os mecanismos de detecção da concorrência funcionavam para detectar vulnerabilidades e submetia ao Virustotal arquivos importantes do Windows manipulados para parecerem malignos e que fariam esses mecanismos da concorrência detectar os arquivos originais como malignos também.
Pelo que entendi era mais ou menos assim:
- Anonimamente a Karspersky submetia as amostras ao Virustotal;
- Os concorrentes verificavam que havia código maligno nas amostras que não era detectado pelos seus mecanismos e atualizavam o banco de assinaturas;
- Ao fazer isso, o arquivo correspondente legítimo do Windows também batia com a assinatura.
A Karspersky nega. Mas eu não confio em nenhuma empresa de segurança digital. Com exceção talvez da MS, que tem todo o interesse do mundo (por enquanto*) de tornar o Windows seguro, todas os outros desenvolvedores de antivírus lucram com a incerteza e a insegurança. Não posso confiar neles.
*Em um cenário onde não houvesse concorrência no campo dos antivirus, não duvido de que a MS ao menos tentaria fazer o Windows Essentials ser um extra pago. A única coisa que a deteria seria a possibilidade de mais uma multa bilionária.
(Prefira clicar em "Responder" se estiver comentando um comentário)
 Jefferson,  12 de agosto de 2015, É o fim da picada. Nem trocar o HDD impede o processo.
Isso foi noticiado aqui. Trata-se de uma funcionalidade do Windows 7/8 previamente desconhecida que pode ser gatilhada pelo BIOS do computador. Não é preciso acesso à internet porque o arquivo é armazenado no BIOS (esses BIOS UEFI de vários MB não são uma coisa linda?). E como se trata de uma funcionalidade sancionada pela MS, nenhum alerta será dado ao usuário pelo OS.
Resumo do processo:
- O BIOS mantém uma cópia do executável gravada na flash. Essa cópia só pode ser apagada se você editar o BIOS;
- No início da inicialização, antes de ser chamado o Windows, o BIOS copia esse executável para a RAM e escreve em uma tabela o endereço onde o colocou;
- Ao executar o Windows, este consulta essa tabela e encontrando um endereço lá copia o executável para o diretório do Windows e o executa.
- A partir daí a máquina pertence novamente à Lenovo para fazer o que bem entender. É mole?
Sou só eu que fico arrepiado com essa “funcionalidade” do Windows?
O processo é detalhado neste documento da MS. A parte relevante eu cito abaixo
This paper describes the format of a Windows Platform Binary Table (WPBT). The WPBT is a fixed Advanced Configuration and Power Interface (ACPI) table that enables boot firmware to provide Windows with a platform binary that the operating system can execute. The binary handoff medium is physical memory, allowing the boot firmware to provide the platform binary without modifying the Windows image on disk. In the initial version, the WPBT simply contains a physical address pointer to a flat, Portable Executable (PE) image that has been copied to physical memory. The WPBT is extensible, allowing the layout of published platform binaries to be more complex in future versions and allowing the support of more than one binary type.
It is expected that the binary pointed to by the WPBT is part of the boot firmware ROM image. The binary can be shadowed to physical memory as part of the initial bootstrap of the boot firmware, or it can be loaded into physical memory by extensible boot firmware code prior to executing any operating system code. A boot firmware component would create the WPBT based on the location of the platform binary. During operating system initialization, Windows will read the WPBT to obtain the physical memory location of the platform binary. In the first version, the binary is required to be a native, user-mode application that is executed by the Windows Session Manager during operating system initialization. Windows will write the flat image to disk, and the Session Manager will launch the process. Windows may reclaim the physical memory described in the WPBT.
O propósito da funcionalidade é benigno: localizar notebooks roubados, por exemplo. Mas como vimos no caso do Superfish, confiar na Lenovo já é muito difícil (adicione o fato de que a Lenovo é chinesa) e o proprietário deveria saber o que está acontecendo e ser capaz de optar por esse processo. Do jeito que a Lenovo e a MS fizeram é simplesmente assustador.
(Prefira clicar em "Responder" se estiver comentando um comentário)
|
|
Bom dia colega,há restrições para esse procedimento quando é utilizado um gps da garmin, pois sempre dá mensagem de erro quando tento fazer esse procedimento.
bom dia amigo, qual o gps externo que vc indica para fazer esse procedimento ?