terça-feira, 30 de abril de 2013

Dica de como resolver o problema com Android 4.0 no Galaxy S

Dica de como resolver o problema com Android 4.0 no Galaxy S



O Problema

Está tendo perda de sinal na instalação do Android 4.0 no Galaxy S, sempre que instalo uma nova versão do Android 4.0 no meu aparelho ele tem o pegar o sinal da operadora certo mais com umas duas semanas para de ter sinal e não funciona mais nem se resinstalar.  


Material utilizado


Dois tutoriais muito bons e deu 100% certo. Só que estou tendo um problema na instalação do Android 4.0 e superiores no meu celular, depois da instalação o ICS e o Jelly Bean funcionam bem por um tempo aproximado de umas duas semanas ou menos e depois do nada perde o sinal da operadora e mesmo que faça a reinstalação do celular desde a versão do Froyo, quando chega à versão que parou de funcionar a mesma não volta ter sinal da operadora. Vejo o IME e está do mesmo jeito que estava quando funcionava. Se voltar para a Froyo ou Gingerbread o sinal fica normal, e se instalar outra ICS ou Jelly Bean diferente da que está dando problema funciona novamente.
Versões do Android 4.0 que testei e todas elas funcionaram por um tempo e depois pararam de pegar o sinal da operadora.

  • SLIMICS-AndroidDicasBrasil 25042012.zip,
  • UNDERGROUND-II-B.zip e
  • cm10_addons_devil-V8b.zip 

A nova Instalação que estou testando (Cyanogenmod)


A versão atual que estou usando é a cm-10.1-20130423-NIGHTLY-galaxysbmtd.zip tirada do próprio site do Cyanogenmod e está funcionando tudo direito, foi instalada em 23/04/2013 e vou vê quanto tempo fica funcionando e se quebrar novamente vou testar a instalação da versão do dia do NIGHTLY.


A atualização da versão sempre eu faço partindo da Gingerbread da seguinte maneira:


Instalação do Gingerbread no galaxy s gt-i9000b

  • Fazer backup;
  • Remover o cartão SIM e o cartão SD externo;
  • Ligar o aparelho em Modo Download e plugue o USB;
  • Abrir o Odin como administrador;
  • Quando o Odin reconhecer o aparelho;
  • Clique PIT e selecione o arquivo PIT para GT-I9000B (s1_odin_20100512.pit);
  • Clique PDA e selecione o arquivo da ROM GingerBread JW4 Recovery (JW4_Recovery.tar);
  • Clique em Start;
  • Espere o reinicio do aparelho;


Habilitar o root no aparelho

  • Ligue o aparelho em Modo Recovery;
  • Acesse o menu advanced SpeedMod ULK features;
  • Acesse o menu ROOT/Install Superuser;
  • Execute Simple:install busybox+su;
  • Acesse o menu Go Back duas vezes;
  • Execute reboot system now.

Instalação CyanogenMod 10.1


  • Ligue o aparelho em Modo Recovery v2.5.0.1;
  • Execute wipe data/factory reset;
  • Acesse install zip from sdcard -> choose zip from sdcard  -> ultimate_kernel_cleaning_script_v4_by_lippol94.zip;
  • Acesse install zip from sdcard -> choose zip from sdcard -> cm-10.1-20130423-NIGHTLY-galaxysbmtd.zip;
  • Dará uma mensagem: (status 0) installation aborted. Tudo bem prossiga.
  • Acesse Go Back;
  • Execute reboot system now.
  • O aparelho irá iniciar no CWM-bases Recovery v6.0.2.7.
  • Execute novamente os seguintes passos:
  • Acesse install zip from sdcard -> choose zip from sdcard -> cm-10.1-20130423-NIGHTLY-galaxysbmtd.zip;
  • Acesse install zip from sdcard -> choose zip from sdcard -> BVJJPD_ICS.CM.I9000.zip;
  • Acesse install zip from sdcard -> choose zip from sdcard -> Host e GPS.zip;
  • Acesse install zip from sdcard -> choose zip from sdcard -> gapps-jb-20130301-signed.zip;

Atualização do CyanogenMod

  • Ligue o aparelho em Modo Recovery v6.0.2.7;
  • Acesse install zip from sdcard -> choose zip from sdcard -> cm-10.1-????????-NIGHTLY-galaxysbmtd.zip;
  • Acesse install zip from sdcard -> choose zip from sdcard -> BVJJPD_ICS.CM.I9000.zip;
  • Acesse install zip from sdcard -> choose zip from sdcard -> Host e GPS.zip;
  • Acesse install zip from sdcard -> choose zip from sdcard -> gapps-jb-20130301-signed.zip;


Se acontecer o erro novamente atualizo o Post com os procedimentos que utilizarei.



sexta-feira, 19 de abril de 2013

Como construir um rádio de galena


Como construir um rádio de galena

O que é rádio de galena?


O rádio de galena é um circuito simples para uma montagem de um rádio que não necessita de pilhas ou eletricidade.
Ele funciona utilizando as propriedades semicondutoras do mineral galena, com uma grande antena, um circuito ressonante formado por uma bobina e um capacitor variável,  um circuito retificador composto por um diodo de galena e um capacitor para filtrar as altas frequências e finalmente um transdutor de alta impedância (alto-falante). 

Esquema Elétrico

Esquema Elétrico - wikipedia
Esquema Elétrico - Wikipédia


Montagem do rádio

Para montagem seguirei os seguintes links:

      Rádio Gagá

Referêncas:
           Wikipédia - Rádio de galena 

FidoCadJ - Desenho de circuitos elétricos

FidoCadJ - Desenho de circuitos elétricos

Programa para elaboração de desenhos de diagramas de circuitos elétricos e leiautes de placas de circuito impresso permitindo uma grande flexibilidade gráfica e facilidade de uso.

Algumas características:

Multiplataforma -  MacOSX, Windows, Linux;
Exporta em uma variedade de formatos gráficos;
Formato de texto compacto, permitindo uma forma simples de compartilhamento de código em fóruns;
EDA para amadores;
Em vários idiomas:  Italiano, Francês, Espanhol, Chinês, Holandês;
Desenho de esquemas elétricos e de PCB simples.

Simples de se usar:

Baixar na versão do seu sistema operacional na página do projeto depois instalar e executar.

Para baixar o manual de uso clique no link.

Até a próxima.

quarta-feira, 17 de abril de 2013

Galaxy S - Como usar Bluetooth e Wifi no Modo Offline

Galaxy S - Como usar Bluetooth e Wifi no Modo Offline


Tive uma curiosidade de saber se podíamos utilizar os recursos de wifi e bluetooth com o célular no modo OffLine e dei uma pesquisada na internet e não encontrei nada então fui dá uma olhada nas bases de dados de configurações do celular e encontrei como se pode fazer para isso funcionar. Estou postando para que possa servir para mais alguém.


Requisitos:
  • Celular com root liberado.
  • Um editor de SQLite -  SQLite Manager
  • Visualizador de arquivos com acesso root – Root Explorer

Primeiramente é necessário liberar o root no celular veja como fazer isso no Galaxy S nesse link. Depois é só navegar até o diretório das bases de dados do SQLite onde fica os arquivos da base de dados das configurações do sistema em: /dbdata/databases/com.android.providers.settings conforme imagem abaixo.

Base de Configuração do Android
Base de Configuração do Android



Crie o diretório /mnt/sdcard/Base e fazer uma cópia do arquivo settings.db para esse  diretório, conforme imagem abaixo.

Diretório de Cópia de Bases
Diretório de Cópia de Bases


Execute o aplicativo SQLite Manager e selecione a base de dados settings.db, aparecerá a relação das tabelas dessa base de dados.


Seleção de Base de dados
Seleção de Base de dados


Selecione a tabela system, nos registros terá airplane_mode_radios com o valor cell, bluetooth,wifi conforme imagem abaixo.



Edição da tabela System
Edição da tabela System



Segure o dedo uns instantes em cima do registro que quer alterar e aparecerá um menu e escolha Update Row conforme imagem abaixo.


Menu do SQLite
Menu do SQLite


Altere o campo que tem airplane_mode_radios de cell,bluetooth,wifi para somente cell e clique em OK, conforme imagem abaixo.


Editando registro
Editando registro



O registro será gravado e você terá que reiniciar o celular para poder vê a atualização. Na imagem abaixo se vê como pode ser usado o wifi e bluetooth com o celular em Modo OffLine.


Usando Wifi e Bluetooth em Modo OffLine
Usando Wifi e Bluetooth em Modo OffLine



Para o momento é só isso, até a próxima. 











Acesso root no Android

Acesso root no Android


O que é acesso root?

O acesso root ao Android é quando você consegue obter privilégios de Administrador no aparelho, mais ou menos com no Linux um usuário que tenha a senha de root e tem acesso irrestrito ao sistema. Com o aparelho rooteado você pode fazer tarefas que antes não tinha privilégios, a utilidade disso é que você pode executar um app que tenha funções especificas e a necessidade de ser executada com funções de administrador tais como: Titanium Backup, Voodoo Control Plus e um muito bom que eu uso Transparent Proxy.

Na internet existe um grande número de tutoriais para se obter acesso root ao Android um muito bom que conheço é o seguinte: 



Nesse tutorial mostra de uma maneira bem clara como fazer o acesso root no Android.


Se você necessita de um acesso privilégiado ao seu celular esse tutorial é excelente.

Até a próxima.

quarta-feira, 3 de abril de 2013

Curso gratuito de Arduino


Para os que gostam de eletrônica e especialmente do Arduino encontrei na internet um Site que se chama Laboratório de Garagem que é uma iniciativa voltada para a integração, colaboração e apoio aos desenvolvedores independentes de ciência e tecnologia.

Eles disponibilizam vários serviços para seus associados tais como:
  1. Laboratório comunitário localizado em São Paulo que oferece infra-estrutura necessária para o desenvolvimento de projetos protótipos. www.labdegaragem.com.br/espaco
  2. Incubadora que oferece estrutura básica de escritório e apoio de marketing, logística e administração. Para novos projetos desenvolvidos por garagistas. www.labdegaragem.com.br/incubadora
  3. Rede social que oferece diversos recursos para interação e colaboração entre seus membros (fórum, wiki, blog, etc). www.labdegaragem.com
  4. Loja virtual que oferece peças, componentes e acessórios para que garagistas de todo o Brasil possam dar vida às suas ideias. Entre outras marcas, a Loja LdG é distribuidora oficial da SparkFun.comhttp://loja.labdegaragem.com.br


Para os iniciantes é bom visitar o Curso Gratuito de Arduino no link: http://labdegaragem.com.br/cursoarduino/

O que é Arduino?


Arduino

Arduino é um projeto Open-Source que utiliza eletrônica e programação embarcada de alto nível.  O Arduino é composto de duas partes Hardware e Software:


O Hardware

O hardware consiste de um microcontrolador Atmel AVR de 8 bits, com componentes complementares que facilitam a programação e incorporação de outros circuitos, os conectores são expostos, permite  interligar o Arduino com outros módulos expansivos conhecidos como Shields.


O Software

O Software é composto da Arduino IDE que é uma aplicação multiplataforma escrita em Java derivada dos projetos Processing e Wiring. Inclui um editor de código com recursos de realce de sintaxe, parênteses correspondentes e indentação automática, sendo capaz de compilar e carregar programas para a placa com um único clique.

O Arduino IDE usa o Conjunto de ferramentas GNU e o AVR Libc para compilar os programas, para depois, com o avrdude, enviar os programas para a placa.


Aplicações

A principal finalidade do Arduino num sistema é facilitar a prototipagem, implementação ou emulação do controle de sistemas interativos, a nível doméstico, comercial ou móvel, da mesma forma que o CLP controla sistemas de funcionamento industriais. Com o Arduino é possível receber e enviar informações de quase todos os tipos de sistemas eletrônicos.
Possíveis aplicações são:  Identificar a aproximação de uma pessoa através de sensores ou variar a intensidade da luz de uma ambiente.


Expansões do Arduino

O Arduino tem um conjunto de extensões que expandem a funcionalidade do Arduino para que o mesmo adquira funções especializadas, desde a conexão através de Bluetooth até o controle de motores. Tais extensões são feitas através de um hardware chamado Shields – que são placas para serem montadas em cima da placa Arduino.


Alguns exemplos:

XBee Shield - Permite que uma placa Arduino comunicar-se sem fios a distâncias de até 100 pés (interiores) ou 300 pés (outdoors), utilizando o Maxstream Xbee - módulo ZigBee.
Motor Shield - Permite que uma placa Arduino controle motores DC e leia os codificadores.
Ethernet Shield - Permite que uma placa Arduino conectar-se à internet.


Programando com o Arduino

As duas partes básicas de um programa Arduino são feitas através de dois métodos.

void setup() {
}

void loop() {
}

O método setup é executado uma única vez quando a placa é ligada e o método loop terá o código de execução por todo o tempo que a placa estiver ligada. No método setup é onde se define os pinos de entrada e saída e os parâmetros de inicialização.


Sintaxe

Tendo o Arduino uma sintaxe igual a programação em C/C++.
“//” – Começa um comentário de uma linha.
“/*texto */” – Comentário de várias linhas.
“{}” – Um bloco de comandos.
“;” – Termino de Comando.


Tipos de Variáveis

Aqui está sendo mostrado os tipos mais comuns e utilizados. No Site Arduino mostra todos os tipos e o que cada um faz.
"boolean" - Sendo Verdadeiro(true) ou Falso(false). Existe também Alto(HIGH) e Baixo(LOW).
"int" - Sendo os números inteiros(de -32768 a 32767).
"unsigned int" - Sendo os números inteiros positivos(de 0 a 65535).
"long" - Sendo os números inteiros(de -2147483648 a 2147483647).
"unsigned long" - Sendo os números inteiros positivos(de 0 a 4294967295).
"float" - Sendo os números inteiros com decimais(-3.4028235*(10 elevado a +38) a 3.4028235*(10 elevado a +38)).
"char" - Sendo um caractere - Obs: Existe o "string" que é um conjunto de caracteres.


Operadores Matemáticos

"=" - Atribui um valor a uma variável.
"+" - Soma.
"-" - Subtração.
"*" - Multiplicação.
"/" - Divisão.
"%" - Resto da divisão. Ex: 5%2 -> O resto da divisão de 5 por 2 é 1.


Operadores de comparação

"==" - "é igual a".
"!=" - "é diferente a".
"<" - "é menor a".
">" - "é maior a".


Estruturas de controle

"if(condição){comandos1} - Se a condição for verdadeira então faça os comandos1
else if(condição){comandos2} - Senão se a condição for verdadeira então faça os comandos2
else{comandos3}" - Senão faça os comandos3. Esta estrutura pode ter apenas o "if" caso tenha apenas uma condição.

"for(variável=início;condição;modifica){comandos}" - Para a variável=início e a condição for verdadeira faça os comandos, depois modifica e verifica se a condição é verdadeira. Geralmente o "for" é utilizado para executar os comandos um número n de vezes dentro do void loop() {}.

"while(condição){comandos}" - Enquanto a condição for verdadeira faça os comandos. Parecido com o "for". Esta estrutura verifica primeiro a condição e depois executa os comandos.

"do
{comandos}
while(condição)" - Faça os comandos enquanto a condição for verdadeira. Esta estrutura executa primeiro os comandos e depois verifica a condição.


Portas digitais e analógicas

Na prática ligamos componentes em portas digitais e analógicas e através do código Arduino, manipulamos as portas: pinMode(<porta>, <modo>): configura uma porta digital para ser lida ou para enviarmos dados.
digitalWrite(<porta>, 0 ou 1): envia 0 ou 1 para porta digital.
digitalRead(<porta>): retorna um 0 ou 1 lido da porta.
analogRead(<porta>): retorna de 0 a 1023 com o valor da porta analógica.
analogWrite(<porta>, <valor>): escreve em uma porta PWM um valor de 0 a 255.


Compilação

A compilação com o Arduino é feita com o Software fornecido no link  http://arduino.cc/en/Main/Software instale e abra o IDE do Arduino:

A imagem abaixo mostra a tela que se abre ao executar a IDE do Arduino.

Tela do IDE do Arduino
IDE do Arduino

Após abrir o IDE do Arduino, clique em Tools, depois em board e selecione o modelo do seu Arduino, conecte o Arduino na porta USB, clique novamente em Tools, depois em Port e selecione a porta de comunicação do seu Arduino.

Para se selecionar um Sketch para se trabalhar clique em File, depois em Examples, em Basics clique em Blink. Irá abrir outra janela com a programação do exemplo "Piscar o LED (Blink)".

Sketch do exemplo do Blick
Sketch do exemplo do Blick

Para fazer a compilação e mandar o código para o Arduino clique no botão upload como mostrado na figura abaixo:

Mandando o Sketch para o Arduino
Mandando o Sketch para o Arduino

Se a compilação correu tudo certo e também a porta selecionada estive certa, irá piscar o LED L na placa, senão, mude a porta de comunicação do Arduino.

Essa é uma pequena introdução sobre Arduino  e espero ter ajudado alguém.

Até a próxima.



segunda-feira, 1 de abril de 2013

Ferramentas do SDK Android



As Ferramentas do SDK Android

O SDK do Android é um ambiente composto de vários componentes que juntos possibilita um desenvolvimento mais rápido e eficiente de aplicativos para dispositivos Android.  As partes mais importantes do SDK Android são um conjunto de tecnologias como Java, Eclipse, máquina virtual Dalvik, QEMU e outras plataformas, que juntas formam as partes mais importantes do SDK Android. Abaixo será apresentado algumas dessas ferramentas.


Android Debug Bridge (adb)

É um programa que permite que controle tanto o emulador quanto os dispositivos e executa um Shell no ambiente do emulador ou no dispositivo que se está conectado. Permitindo assim que se tenha um controle muito grande sobre o ambiente em que se está desenvolvendo. Ele permite fazer tarefas desde as mais simples até se obter acesso root ao ambiente do emulador ou do dispositivo.


Dalvik Debug Monitor Server (DDMS)

O Dalvik Debug monitor Server é quem monitora todo o trafego entre uma Java Virtual Machine (JVM) e qualquer depurador Java. O DDMS fornece vários recursos para ajudar no desenvolvimento de uma aplicação Android e pode ser acessada por uma interface de usuário independente ou através de uma interface incorporada ao Eclipse por meio do plug-in ADT. Abaixo está uma tela da interface acionada pela linha de comando do DOS com o comando ddms.bat:

Execução do comando ddms.bat na linha de comando
Execução do comando ddms.bat na linha de comando

Como se vê na imagem acima a interface independente de usuário do DDMS dá acesso as seguintes informações:


Lista de dispositivos conectados e os dispositivos Virtuais

No painel superior esquerdo mostra todas os dispositivos conectados através do USB ao seu Computador e também todos os dispositivos Virtuais (AVD) executados no emulador. Expandindo-se um máquina listada será apresentada a lista de todas as tarefas executadas nas máquinas virtuais (VMs) Dalvik.


Informações da VMS

No painel superior direito tem as informações de cada VMs Dalvik que estão sendo executadas nos dispositivos.


Informações de thread

As informações sobre as threads de cada processo são encontradas também na guia Threads do painel superior direito da janela do DDMS.


Gerenciador do sistema de arquivos


O sistema de arquivos do dispositivo Android ou do dispositivo virtual é explorado pelo gerenciador de arquivos do DDMS que é encontrado no menu File Explorer..., no menu Devices.  Nele pode pegar um arquivo do dispositivo para o computador, gravar para o dispositivo um arquivo que esteja no computador, deletar um arquivo do dispositivo ou adicionar uma pasta ao dispositivo. A imagem abaixo mostra a janela do File Explorer do DDMS:

Janela File Explorer do DDMS
Janela File Explorer do DDMS

Simulação de operações telefônicas e de localização

Na guia emulator control, no painel superior direito tem um simulador de chamadas telefônicas de voz e de SMS, também é possível simular a localização do dispositivo emulado através dessa guia.


Captura de tela

No menu Device há a opção Screen Capture..., que é uma opção que captura uma imagem do dispositivo conectado ao computador ou a um dispositivo virtual sendo executado no emulador.


Registro dos processos


Na parte inferior do DDMS é mostrado um registro da saída dos processos sendo executado no dispositivo selecionado. Pode ser  feito um filtro das informações levando em consideração os seguintes dados: Tag do log, Mensagem do log, PID do processo, pelo nome da Aplicação e pelo nível do Log. Conforme mostra imagem abaixo:




Dummping do dispositivo

No menu Device existem opções de Dump do estado do Dispositivo, do estado do Aplicativo e do estado do rádio.



Plug-in  ADT para o Eclipse

O plug-in ADT foi feito especialmente para o Eclipse e tem várias ferramentas para uma criação rápida de um projeto com toda a hierarquia de arquivos para a construção correta de um aplicativo Android. Com esse plug-in é feito no Eclipse todos os procedimentos para a construção do projeto, edição dos arquivos do projetos, compilação do aplicativo, execução e depuração.

Através do plug-in ADT os componentes do SDK do Android são executados no Eclipse. A seguir é mostrado os componentes do plug-in ADT utilizados no Eclipse para o desenvolvimento de Aplicativos Android.


Android Layout Editor

As interfaces de usuários dos aplicativos Android podem ser especificadas tanto em código como em arquivos XML.

O plug-in ADT adiciona um Editor Visual que possibilita ao desenvolvedor a visualização e composição do Layout das telas do aplicativo Android, esse editor é sempre aberto quando um arquivo de layout de tela é selecionado. Ele possibilita tanto a visualização do código XML do arquivo da tela como a representação do modo gráfico da tela.


Android Manifest Editor

É incluído também um editor para o arquivo de manifesto do Android, esse editor é especializado para ler o XML e mostrar de forma gráfica as opções de configuração do arquivo podendo também fazer alteração do manifesto do Android.

No Android também existem outros editores especializados para visualização e edição de outros arquivos XML do Android.


Compiladores do plug-in ADT

O plug-in ADT também fornece os compiladores específicos do Android que permitem seja utilizado o Java como linguagem de programação de aplicativos Android.


Depurador do plug-in do ADT

O plug-in ADT adiciona ao Eclipse os componentes que o permitem fazer todo o processo de depuração e execução do aplicativo em um dispositivo ou em um AVD de um emulador. Essa depuração pode ser feita com a perspectiva DDMS que o plug-in ADT adiciona ao Eclipse.


Dispositivos Virtuais

Os Dispositivos Virtuais Android (AVDs) são capazes de emular um dispositivo Android real e são executados em um emulador QEMU com uma imagem do sistema Android feita especialmente para ser rodada em um emulador.


Gerenciador de AVD

É um software que tem como função criar e gerenciar as AVDs que são utilizadas para o desenvolvimento dos aplicativos Android.

Mas informações sobre as ferramentas do SDK Android em: