sábado, 5 de dezembro de 2009

terça-feira, 1 de dezembro de 2009

Amplificador com Transistor BJT da disciplina Dispositivos Eletrônicos

Video que achei no youtube explicando direitinho como funciona o amplificador com transistores BJT.

Dúvidas sobre compras no site Chinês DealExtreme

FAQ Básico da DX

1) O que/Onde é é DealExtreme("DX")?

DealExtreme é uma loja localizada na China que vende produtos diversos e entrega para qualquer país do mundo(incluindo Brasil)

2)O que vale a pena comprar na DealExtreme?

Muitas coisas,porém o que realmente compensa pra muitos é o que sai bem mais barato(mesmo com impostos) ou que seja difícil achar no Brasil..
Ex: Cartões de memória, Acessórios pra Video Games e Celular, Lasers , Fones, Lanternas , brinquedos, produtos exóticos, produtos de informática,etc..
A DX vende uma variedade enorme de produtos,desde utensílios e bonecos exóticos até acessórios para armas, lasers, alarmes,etc..

3) O que exatamente preciso para fazer compras na DealExtreme?

Primeiro é necessário possuir um Cartão de Crédito Internacional.
Cartão de Débito(mesmo Internacional) ou CC convencional não serve!
Segundo é necessário criar um cadastro no PayPal e associar o CC internacional à um email..

4)Como faço o cadastro no PayPal..(RESUMIDO)

O processo é fácil,deve-se criar o cadastro com nome,email,tel,endereço de entrega de produtos(no caso da DX,pois o endereço de entrega,por padrão,é o mesmo do PayPal),etc..
Depois se associa o cartão à conta criada no PAyPal(adiciona o número do cartão e o código de verificação).Após isso,o PayPal faz uma cobrança de aprox. U$2,00.Essa cobrança é importante para confirmar a autencidade do cartão:Na fatura vai aparecer um código e um número de 4 digitos,que será necessário para confirmar o cartão no PayPal..
Todos procedimentos estão explicados integralmente no próprio site do PayPal..

5) Preciso cadastrar pra começar a fazer compras?

Não,só com um email cadastrado no paypal(e obviamente a senha) já é possível efetuar compras e rastrear pedidos,o cadastro é opicional,mas facilita na hora de rastrear vários pedidos,por isso é recomendável..

6)Quanto tempo demora para receber meus pedidos?

Primeiramente:
AirMail:Frete "Free"(ou seja,não é cobrado nada pelo frete,mas é o mais caro,é o frete padrão)
EMS:É uma modalidade de frete "expresso",com um custo aproximado de U$25(varia conforme o pedido),normalmente é cobrado uma taxa extra para envios para o Brasil.
Isso depende principalmente da forma de envio(AirMail ou EMS),mas fatores como estoque da loja,possíveis greves na receita ou mesmo sorte podem influenciar bastante..
Geralmente o que se vê(aqui no fórum) é um prazo REAL entre 20dias a mais de 1mês pra AirMail e aproximadamente 2 semanas ou um pouco menos por EMS.
Isso é uma média geral,o prazo de entrega pode variar muito,principalmente por AirMail.O pedido pode chegar em menos de 1 semana no Brasil,mas ficar até mais de um mês parado na alfândega!! Como pode demorar muito,não tenha pressa e evite comprar se precisar com urgência de um produto!

7)Posso acabar pagando impostos de importação?

Sim, e com uma probabilidade bem razoável, isso ao que parece depende muito da sorte..
Com uma "opção" que pode incluir no pedido("um produto de $0,01") DX remove o logotipo da loja e envia como Gift(presente),o que pode ajudar a não pagar impostos,mas isso não é garantido,no final é "loteria" pagar ou não pagar impostos...
O imposto normalmente pago é aproximadamente 60% sobre o valor do produto(em U$) e caso a receita estadual também cobre taxas, essa incide no valor do produto + frete + imposto federal. O imposto deve ser pago na agência dos correios onde o pedido está(antes vc recebe uma carta falando sobre o imposto,a agência onde se encontra o produto e o valor a ser pago, mas também pode rastrear pelo site caso a encomenda tenha rastreio). Caso o imposto seja discrepante do valor do produto você pode recorrer e pedir revisão da taxa. Basta ir à agencia dos correios que está retida a encomenda e retirar um formulário de pedido de revisão, e provavelmente vão pedir pra você anexar o "invoice" do pedido com os valores, comprovante do paypal e do cartão de crédito, pra provar que o valor foi taxado erroneamente.

8)No caso de uma compra de até U$50,00 na DX,mesmo assim eu ainda posso pagar impostos?

Sim,vc pode pagar impostos,mesmo numa compra de U$1,é independe do valor!
A cota de U$50 onde não se cobra imposto é válido apenas de PESSOA FÍSICA PARA PESSOA FÍSICA,como a DealExtreme é uma empresa,vc ainda pode ser taxado,isso depende muito da sorte..
A opção de enviar como Gift(presente) pode ajudar a passar pela fiscalização sem pagar impostos,mas não é garantido..

Recomendações gerais:

Se o seu pedido vier faltando algum item guarde o envelope onde o mesmo veio bem como do papel que veio dentro até todos os itens chegarem para você. Só assim você poderá reclamar caso eles não enviem algum produto e dêem o pedido como completo. Eles pedirão fotos do pacote bem como do papel.

Evite colocar muitas coisas pequenas num pedido só. É recomendável fazer pedidos entre 15 e 30 dolares. Se um produto do pedido está em falta, o pedido ficará aguardando por um prazo até ter esse produto faltante voltar a ficar em estoque, e caso esse prazo ultrapasse uma certa quantidade de dias (vou confirmar ainda quantos) aí eles mandam o pedido "fracionado".

sábado, 28 de novembro de 2009

Vídeo-Aulas de Disciplisnas de Engenharia e Computação ministradas por Professores Indianos

Há algum tempo atrás eu havia descoberto esses vídeos indianos , mas nunca havia tido tempo para assistir nenhum. Hoje acabei vendo uma aula quase que inteira de eletrônica básica . A qualidade do vídeo e da didática dessas vídeo-aulas dos professores indianos me surpreenderam muito.

Eles possuem na faixa de 110 cursos onde cada curso cobre mais ou menos 40 horas de aula. Imaginem só a quantidade de conteúdo gravada e disponível pra gente. Eles têm disciplinas dos cursos de Engenharia Civil,Engenharia Elétrica , Ciências da Computação etc..

O site deles é este aqui . e o site com todos os vídeos do youtube é este aqui.

Abaixo vou mostrar alguns vídeos como Exemplo:

Aula 1 da Disciplina de Eletrônica Básica(Engenharia Eletrica)



Aula 1 da Disciplina de Engenharia dos Transportes(Engenharia Civil)



Aula 5 da Disciplina de Sistemas Embarcados(Engenharia Elétrica)





Aula 1 da Disciplina de Analise Estrutural(Engenharia Civil)



Aula 1 da Discplina de Inteligencia Artificial(Ciencies da Computacao)



Aula 1 da Disciplina de Computação Gráfica(Ciencias da Computacao)



Aula 1 da Disciplina de Engenharia de Iluminação(Engenharia Eletrica)



Aula 1 de Controle e Automação Industrial(Engenharia Eletrica)




Estas Aulas nunca irão substituir nossas aulas , mas, que podem ajudar muito, isso podem. Simplesmente Muito interessante.

sexta-feira, 27 de novembro de 2009

Comandos Terminal Linux Ubuntu

cal: exibe um calendário;

cat arquivo: mostra o conteúdo de um arquivo. Por exemplo, para ver o arquivo infowester.txt, basta digitar cat infowester.txt;

cd diretório: abre um diretório. Por exemplo, para abrir a pasta /mnt, basta digitar cd /mnt. Para ir ao diretório raiz a partir de qualquer outro, digite apenas cd;

chmod: comando para alterar as permissões de arquivos e diretórios. Saiba mais neste artigo;

clear: elimina todo o conteúdo visível, deixando a linha de comando no topo, como se o sistema acabasse de ter sido acessado;

cp origem destino: copia um arquivo ou diretório para outro local. Por exemplo, para copiar o arquivo infowester.txt com o nome infowester2.txt para /home, basta digitar cp infowester.txt /home/infowester2.txt;

date: mostra a data e a hora atual;

df: mostra as partições usadas;

diff arquivo1 arquivo2: indica as diferenças entre dois arquivos, por exemplo: diff calc.c calc2.c;

du diretório: mostra o tamanho de um diretório;

emacs: abre o editor de textos emacs;

file arquivo: mostra informações de um arquivo;

find diretório parâmetro termo: o comando find serve para localizar informações. Para isso, deve-se digitar o comando seguido do diretório da pesquisa mais um parâmetro (ver lista abaixo) e o termo da busca. Parâmetros:

name - busca por nome
type - busca por tipo
size - busca pelo tamanho do arquivo
mtime - busca por data de modificação

Exemplo: find /home name tristania

finger usuário: exibe informações sobre o usuário indicado;

free: mostra a quantidade de memória RAM disponível;

halt: desliga o computador;

history: mostra os últimos comandos inseridos;

id usuário: mostra qual o número de identificação do usuário especificado no sistema;

kill: encerra processados em andamento. Saiba mais no artigo Processos no Linux;

ls: lista os arquivos e diretórios da pasta atual;

lpr arquivo: imprime o arquivo especificado;

lpq: mostra o status da fila de impressão;

lprm: remove trabalhos da fila de impressão;

lynx: abre o navegador de internet de mesmo nome;

mv origem destino: tem a mesma função do comando cp, só que ao invés de copiar, move o arquivo ou o diretório para o destino especificado;

mkdir diretório: cria um diretório, por exemplo, mkdir infowester cria uma pasta de nome infowester;

passwd: altera sua senha. Para um administrador mudar a senha de um usuário, basta digitar passwd seguido do nome deste;

ps: mostra os processos em execução. Saiba mais no artigo Processos no Linux;

pwd: mostra o diretório em que você está;

reboot: reinicia o sistema imediatamente (pouco recomendável, preferível shutdown -r now);

rm arquivo: apaga o arquivo especificado;

rmdir diretório: apaga o diretório especificado, desde que vazio;

shutdown: desliga ou reinicia o computador, veja:
shutdown -r now: reinicia o computador
shutdown -h now: desliga o computador

O parâmetro now pode ser mudado. Por exemplo: digite shutdown -r +10 e o sistema irá reiniciar daqui a 10 minutos;

su: passa para o usuário administrador, isto é, root (perceba que o símbolo $ mudará para #);

tar -xzvf arquivo.tar.gz: extrai um arquivo compactado em tar.gz;

telnet: ativa o serviço de Telnet em uma máquina. Para acessar esse computador a partir de outros por Telnet, basta digitar telnet nomedamáquina ou telnet IP. Por exemplo: telnet 192.168.0.10. Após abrir o Telnet, digite help para conhecer suas funções;

top: exibe a lista dos processos, conforme os recursos de memória consumidos;

uname: mostra informações do sistema operacional e do computador. Digite uname -a para obter mais detalhes;

useradd usuário: cria uma nova conta usuário, por exemplo, useradd wester cria o usuário wester;

userdel usuário: apaga a conta do usuário especificado;

uptime: mostra a quantas horas seu computador está ligado;

vi: inicia o editor de textos vi. Saiba mais aqui;

whereis nome: procura pelo binário do arquivo indicado, útil para conhecer seu diretório ou se ele existe no sistema;

w: mostra os usuários logados atualmente no computador (útil para servidores);

who: mostra quem está usando o sistema.

Praticamente todos os comandos citados possuem parâmetros que permitem incrementar suas funcionalidades. Por exemplo, se você digitar o comando ls com o parâmetro -R (ls -R), este mostrará todos os arquivos do diretório, inclusive os ocultos.

A melhor forma de conhecer os parâmetros adicionais de cada comando é consultando as informações de ajuda. Para isso, pode-se usar o recurso --help. Veja o exemplo para o comando ls:

ls --help

Também é possível utilizar o comando man (desde que seu conteúdo esteja instalado), que geralmente fornece informações mais detalhadas. Par usar o man para obter detalhes do comando cp, por exemplo, a sintaxe é:

man cp

Se você estiver utilizando o bash, pode-se aplicar o comando help ou info da mesma forma que o comando man:

help cp

info cp

quinta-feira, 26 de novembro de 2009

Como editar e alterar o grub (grub2) no Ubuntu 9.10

Ao iniciar o pc, analise quantas opções existem e qual das opções você quer definir como default . Por exemplo , se existirem 7 opções os numeros equivalentes serão de 0 a 6. Considerando que a opção do Windows 7 é a setima opção deveremos definila como a numero 6.

  1. Abra o arquivo /etc/default/grub
  2. Altere a opção GRUB_DEFAULT=O para GRUB_DEFAULT=6
  3. Feche o arquivo
  4. Use o comando"sudo update-grub"

Reinicie o Computador e confirme que a opção que você escolheu agora é a padrão e sempre que o computador reiniciar entrara direto na opção escolhida.

quinta-feira, 19 de novembro de 2009

Como Criar Menu e SubMenu com sua Aplicaçao no Ubuntu

Depois de alguma dificuldade, longas jornadas no google e muita "fuçada" usando o yakuake(Terminal) consegui aprender a fazer um Menu com SubMenus no Ubuntu usando linhas de comando . Necessitva que fosse linha de comando pois eu precisava colocar a arvore de pastas dentro do pacote .deb para que quando instalado ja colocasse o Menu no Lugar dele.

Precisamos de 4 arquivos para resolver nosso problema:
  • Um arquivo com extensao .menu na pasta /etc/xdg/menus/applications-merged/
  • Um arquivo com extensao .directory na pasta /usr/share/desktop-directories/
  • Um arquivo com extensao .desktop na pasta /usr/share/applications/
  • Dois icones com a extensao .png salvo na pasta /usr/share/pixmaps/
  • O Executavel da nossa aplicacao salvo na pasta /usr/bin/
Criando o arquivo meumenu.menu


Criando o arquivo meuprograma.directory


[Desktop Entry]

Type=Directory
Name=Titulo do Meu Menu
Icon= nomedeDoMeuIconedeMenu


Criando o arquivo programa.desktop
[Desktop Entry]
Encoding=UTF-8
Version=1.0
Type=Application
Name=Nome Do Meu Programa
Exec=/usr/bin/arquivoExecutavelDoMeuPrograma
Icon=NomedoMeuIconedoPrograma
Categories=MinhaCategoriaCriadaNoArquivoDeMenu;



Para Adicionar mais de uma aplicaçao ao menu, basta criar os respectivos arquivos .desktop com os respectivos dados , mas com a mesma categoria. Depois detalharei mais a fundo cada campo.

quarta-feira, 7 de outubro de 2009

Aplicação QResistor

Sendo estudante de Engenharia Elétrica na UFCG e programador de QT/C++, no QtEfforts do grupo Efforts do Embedded e não tendo decorado a código de cores referente aos valores dos resistores, senti a necessidade ao frequentar as aulas de Laboratório de Dispositivos Eletrônicos de fazer uma aplicação para dispositivos móveis a qual resolve esse meu problema.

Ela por enquanto só funciona no PC e nos dispositivos da Nokia que possuem Sistema Operacional Maemo. Em um futuro proximo irei fazer uma versão para celulares da Nokia também.


Após uma madrugada atrás do computador, estava pronta aminha aplicação como podemos ver abaixo.





Por enquanto , minha aplicação só mostra o valor da resistência de acordo com o codigo de cores. Em uma próxima oportunidade em que eu tenha tempo(muito difícil por sinal) , irei fazer o algoritimo inverso no qual o usuário poderá colocar o valor da resistência e receber o código de cores referente.

Post feito por mim que foi escolhido como o Artigo da Semana no Wiki Forum Nokia

How to show city locations in a map using Qt and Google Maps API for Maemo


In this post, I will present an application that shows some city locations by using QWebKit and Google Maps API.

Designing:

Before starting the real implementation, we need to build the application GUI (Graphical User Interface). Qt offers a strong tool called Qt Designer to build GUIs. In this example, we used Qt Designer to create the application form. Such a form contains five buttons (QPushButton) and a web view (QWebView). You can add new Qt components inside a form by dragging and dropping elements from Widget Box. The properties like name and label of a Qt component can be changed through the Property Editor.

Implementing: NOTE: Usage of this code with the free Google Maps API Key breaks Google's Terms and Conditions (section 10.8). You should purchase an Enterprise License if you wish to use the Google Maps API as shown in this example.

First, we need to implement a custom QWebView component. In this example called Map, such a component has some additional services that allow us to show the city locations in a map using the Google Maps API. The main service of the Map component is implemented by geoCode method. The geoCode method requests the coordinates of the given local, by using the Google Maps API.

void Map::geoCode(QString local)
{
QUrl geoCodeUrl("http://maps.google.com/maps/geo");
geoCodeUrl.addQueryItem("q", local);
geoCodeUrl.addQueryItem("output", "csv");
geoCodeUrl.addQueryItem("key", "GOOGLE_MAPS_KEY");
manager->get( QNetworkRequest(geoCodeUrl) );
}

The geoCode response is received by replyFinished method. Such a method parses and stores the coordinate (latitude and longitude) in array of coordinates. After that, the reloadMap signal is emitted.

void Map::replyFinished(QNetworkReply *reply)
{
QString replyStr( reply->readAll() );
QStringList coordinateStrList = replyStr.split(",");

if( coordinateStrList.size() == 4)
{
QPointF coordinate( coordinateStrList[2].toFloat(),
coordinateStrList[3].toFloat() );
coordinates << coordinate;
}
emit reloadMap();
}

The reloadMap signal is connected to loadCoordinates slot. Thus, when the signal reloadMap is emitted, the loadCoordinates slot is invoked. The loadCoordinates method uses the QtWebKit’s capability to call the JavaScript method Open that is defined in HTML loaded in Map component.

void Map::loadCoordinates()
{
foreach(QPointF point ,coordinates)
{
this->page()->mainFrame()->evaluateJavaScript(
QString("Open(%1,%2)").arg(point.x()).arg(point.y()) );
}
}

Such a HTML has the JavaScript code to show the city location using the Google Maps API. The initialize function creates a GMap2 with the center point in (0, 0) and the zoom level 1. Thus, the globe is shown completely on the map. The Open function updates the GMap2 center point to the arguments passed as parameter and the zoom level to 13.

var map;

function initialize()
{
if (GBrowserIsCompatible())
{
map = new GMap2(document.getElementById("map"));
map.setCenter( new GLatLng(0,0),1 );
}
}

function Open(x,y)
{
map.setCenter( new GLatLng(x,y),13 );
}

The MainScreen uses the Map component to show the map with the city locations. For example: when the button1 is clicked, the geoCode method is invoked passing Campina Grande as the city to be shown.

void MainScreen::on_button1_clicked()
{
map->clearCoordinates();
map->geoCode("Campina Grande");
}

Compiling:

In order to compile our application, we needed to include the following lines in our Qt project file. Such lines enable the Qt modules needed by our application

QT += network \
xml\
webkit

After that, we can compile our application using the Scratchbox cross-compiler for ARM processor by executing the following commands:

qmake –project
//then add the lines described above using a text editor(vi or gedit)
qmake showmapARM.pro
make

Executing:

The screenshot below shows our application execution:

quarta-feira, 16 de setembro de 2009

Circuito de OSciloscopio no PC com porta USB que achei na Net


http://yveslebrac.blogspot.com/2008/10/cheapest-dual-trace-scope-in-galaxy.html

Algumas Maneiras de fazer Placa de Ciruito Impresso em Casa

Maneira de Fazer com Emulsão FotoSensibilizante usando tecnicas de serigrafia, que resolve o problema de nao ter impressora a laser
http://www.inape.org.br/circuito.html



Este Site com nome DIY é muito conhecido no mundo todo e significa (Do It Yourself = Faça Voce mesmo)
http://www.diybr.com/como-fazer/21-eletronica/33-montagens-eletronicas?start=5

The Instructables è um Site gigantesco , de DIY mesmo ,desde submarino ate placa de circuito impresso que em ingles é "PCB"
http://www.instructables.com/tag/?sort=none&limit%3Atype%3Aid=on&q=pcb

Outro Turorial que achei usando impressoa a laser
http://www.dei.uminho.pt/pessoas/lgoncalves/PCI-Page/PCI.html

Mesmo com essas opçoes ainda achei a meneira melhor:
Comprar papel film poliester.
Imprimir na impressora a laser
Colocar em uma prenssa ou no ferro de passar em casa
Corroer.
Ficou massa.

sexta-feira, 4 de setembro de 2009

Como instalar Subclipse no Eclipse

  1. Abre o Eclipse
  2. Acessa Help->Software Update->
  3. Seleciona a aba "Avaiable Software"
  4. Clica em "Add Site"
  5. Adiciona o site http://subclipse.tigris.org/update_1.6.x
  6. Na arvore aparecera um item chamado "http://subclipse.tigris.org/update_1.6.x" onde dev ser expandido
  7. Marca-se o item "Subclipse"
  8. Clica em "Install"

terça-feira, 1 de setembro de 2009

Como Instalar o Qt Eclipse Integration

  1. Baixar o Qt Eclipse Integration em http://qt.nokia.com/developer/eclipse-integration
  2. Descompactar o QtEclipseIntegration na mesma pasta onde esta a pasta do eclipse(OBS: Não descompactar dentro da pasta do eclipse e sim na mesma pasta onde esta a pasta do eclipse )
  3. Rodar o eclipse dando o seguinte comando "./eclipse -clean"
  4. Dentro do Eclipse Ir em Window->Preferences->QT->Add
  5. Em Bin Path procurar na pasta onde voce descompactou o qt o diretorio "/qt-x11-opensource-src-4.5.1/bin"
  6. Em Include Path procurar na pasta onde voce descompactou o qt o diretorio "/qt-x11-opensource-src-4.5.1/include"
  7. Em Version Name colocar "QT4"
  8. Clicar em Apply

Error na Instalação do Qt4 no Ubuntu

Erro:

You
might need to modify the include and library search paths by editing
QMAKE_INCDIR_X11 and QMAKE_LIBDIR_X11

Solução:

sudo apt-get build-dep qt4-qmake

Instalação QT no Linux Ubuntu

  1. INSTALAR UBUNTU
  2. ATUALIZAR UBUNTU "sudo apt-get install update"
  3. INSTALAR BUILD-ESSENTIAL "sudo apt-get install build-essential"
  4. INSTALAR G++ "sudo apt-get install g++"
  5. INSTALAR QT "sudo apt-get install libqt4-dev qt4-dev-tools libqt4-designer libqt4-assistant qt4-doc"

sexta-feira, 7 de agosto de 2009

Usando SSH E SCP

SSH . Maneira de se ter acesso a outras maquinas na mesma rede

Como usar:

$ ssh USUARIO@IP ou Dominio

Exemplo:

$ ssh root@192.168.1.500
---------------------------------------------------------------------------------------------
SCP
.Maneira de enviar arquivos para maquinas na mesma rede

Como usar:

$ scp arquivo usuario@servidor:/home/usuario

Exemplo:


$ scp exemplo.txt root@192.168.1.500:/home/Exemplos

OBSERVACAO:NAO ESQUECER OS ":"

Instalando Softwares Necessarios para Desenvolver QT para Maemo

-INSTALANDO SCRATCHBOX
-Fazer o download do script maemo-scratchbox-install_4.2.sh
-Abrir o arquivo /etc/sysctl.conf como sudo e adicione
vm.vdso_enabled = 0 ao fim do arquivo
$ sudo gedit /etc/sysctl.conf
-Depois fazer:
$ sudo sysctl -p
-No terminal mudar as permissoes de execucao do script fazendo:
$ sudo chmod a+x ./maemo-scratchbox-install_4.1.2.sh
-Rodar o script fazendo:
$ sudo ./maemo-scratchbox-install_4.1.2.sh
-Depois da instalacao concluida ,teremos que adicionar um usuario aos grupos do sbox:
# /scratchbox/sbin/sbox_adduser username
-Efetua-se logout do terminal e depois entra novamente
-A instalacao do scratchbox criou uma pasta chamada scratchbox na raiz do sistema
-Digitamos o comando
$ su username
-Para testar se o scratchbox esta funcionando bas tentarmos fazer login
$ /scratchbox/login

OBSERVACOES:
O scratchbox funciona como um novo linux na sua maquina, tendo como diretorio principal /scratchbox/users/username/home/username



Algumas partes deste tutorial foi tirado deste link

-INSTALANDO MAEMO SDK
-Fechar o terminal e o abrir novamente
-Fazer o download do script maemo-sdk-install_4.1.2.sh
-Abra o arquivo /etc/sysctl.conf como sudo e adicione
vm.mmap_min_addr = 4096 ao fim do arquivo
$ sudo gedit /etc/sysctl.conf
-Depois fazer:
$ sudo sysctl -p
-No terminal mudar as permissoes de execucao do script fazendo:
$ sudo chmod a+x ./maemo-sdk-install_4.1.2.sh
-Rodar o script fazendo:
$ sudo ./maemo-sdk-install_4.1.2.sh
-Escolha a opcao de instalacao "Runtime Environment + All Dev Packages. Choose this to get a full development environment."

-INSTALANDO XEPHYR

No termnial dar o seguinte comando:
$ apt-get install xserver-xephyr

-INSTALANDO O QT NO SCRATCHBOX

-Abra o arquivo /etc/apt/sources.list e adicione as seguinte linhas no fim do arquivo


deb http://repository.maemo.org/extras/ diablo free non-free
deb-src http://repository.maemo.org/extras/ diablo free
deb http://repository.maemo.org/extras-devel/ diablo free non-free
deb-src http://repository.maemo.org/extras-devel/ diablo free


-Rodar o comando:
[sbox-DIABLO_ARMEL: ~] > apt-get update
-Rodar o comando:
[sbox-DIABLO_ARMEL: ~] > apt-get install
-Rodar o comando:
[sbox-DIABLO_ARMEL: ~] > apt-get install libqt4-dev

-HELLOWORLD QT PARA TESTE
#include
#include

int main( int argc, char **argv )
{
QApplication a( argc, argv );

qDebug() << "TESTE FUNCIONOU" ;
return a.exec();
}

-ABRINDO O SERVIDOR XEPHYR
-Rodar o comando
Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -extension Composite

-COMPILANDO O HELLOWORLD DE QT
-Rodar os seguintes comandos
[sbox-DIABLO_ARMEL: ~/workspaceQT/TESTE2] > qmake -project
[sbox-DIABLO_ARMEL: ~/workspaceQT/TESTE2] > qmake
[sbox-DIABLO_ARMEL: ~/workspaceQT/TESTE2] > make


-RODANDO O HELLOWORLD DE QT
NO SCRATCHBOX
Em um novo terminal Rodar :
$ Xephyr :2 -host-cursor -screen 800x480x16 -dpi 96 -ac -extension Composite

Voltar para o Terminal do Sbox:
[sbox-DIABLO_ARMEL: ~/workspaceQT/TESTE2] > export DISPLAY=:2
[sbox-DIABLO_ARMEL: ~/workspaceQT/TESTE2] > af-sb-init.sh start
[sbox-DIABLO_ARMEL: ~/workspaceQT/TESTE2] > ./helloWorld


sexta-feira, 8 de maio de 2009

How to Develop Qt/C++ S60 Applications on Carbide(Windows)

In this post, I will present all steps To Developing a first Qt/C++ applications for S60 mobile phones . I record a full video of all necessary softwares installation that allow the develop of mobile phone applications.

Necessary Softwares :



  • Nokia Pc Suite ->Is a software package used to establish an interface between Nokia mobile devices and computers.

  • Carbide C++ ->is a software development tool for C++ development on Symbian OS. It is used to develop phones that use the OS, as well as applications that run on those phones.

  • Active Perl -> ActivePerl is the industry-standard Perl distribution, available for Windows, Linux, Mac OS X, etc..

  • Java Runtime Environment(JRE)->Is a set of computer software programs and data structures that use a virtual machine model for the execution of other computer programs and scripts.

  • S60 Sdk 3rd Edition Fp1 or higher->A software development kit (SDK or "devkit") is typically a set of development tools that allows a software engineer to create applications for a certain software framework, hardware platform, computer system, video game console, operating system, or similar platform.

(In this Post we Installed Sdk 3rd Edition and Sdk 5rd Edition)

  • OpenC/C++ for S60 *3rd Edition Fp1-> is a development environment from Nokia for the S60 platform.

(Automatically included on SDK 3rd Edition Fp2 and higher)

  • Qt for S60 "Garden"->Qt is a powerful C++ application development framework, which makes it easy for developers to create applications once and then deploy them on any of the Windows, Mac, Linux, Windows CE, Windows Mobile and embedded Linux platforms. With the inclusion of the S60 platform, developers have an additional 80 million* target devices that they can support with their Qt-based applications.





First Video :




Step 1:

Step 2:

  • Before the download and installation of Carbide is necessary a free Registration on Forum Nokia webSite and after Download and Install Nokia Carbide at address: Carbide C++ .

Step 3:

  • At the end of Carbide Installation was showed the link of ActivePerl download . You can use this or go to the address : Active Perl for download and install the carbide.

Step 4:

  • In this step download and install Java Runtime Environment(JRE) on the addres : JRE .

Step 5:

  • The address for the fifth step is SDK 3rd Edition Fp1 and you can download and install the SDK 3rd Edition FP1.

Step 6:

  • The sixth step show you how to install the OpenC/C++ for S60 3rd Edition using the address OPENC/C++ SDK 3RD .

Step 7 :(Optional)

  • The seventh step is Optional because the developer use the Sdk specified for the mobile phone edition . On ForumNokia WebSite is possible view the edition of each mobile Nokia Devices Specifications .For the download and installation of the SDK 5th Edition use SDK 5th Edition .


Second Video :


Step 8 :
  • In this step we will show you how to install the most important tool of this Post : "The Qt Garden" . On the S60 Pre Releases Qt Garden you will get many informations and details about qt installation . The step by step of qt installation is on Step-by-Step Qt Installation .

Step 9 :

  • The ninth step show a important point of qt installation . It's the fifth step of tutorial step by step above and show you how to extract Qt binaries of Qt Garden directories to SDK directories.


Third Video :



Step 10:
  • This step show you how to adjust the patches of QT to SDK installation . This is on Qt Patches .


Fourth Video :



Step 11:
  • The eleventh step show you all need configurations for the normal use of the Carbide C++.

Step 12 and Step 13:
  • These steps show you finally how to Build a Example Project for S60 Mobile Phone since the 3rd Edition until 5th Edition devices.