Os números de 2010

Os duendes das estatísticas do WordPress.com analisaram o desempenho deste blog em 2010 e apresentam-lhe aqui um resumo de alto nível da saúde do seu blog:



Healthy blog!


O Blog-Health-o-Meter™ indica: Este blog é fantástico!.



Números apetitosos






Imagem de destaque


Um Boeing 747-400 transporta 416 passageiros. Este blog foi visitado cerca de 1,700 vezes em 2010. Ou seja, cerca de 4 747s cheios.



Em 2010, escreveu 9 novo artigo, aumentando o arquivo total do seu blog para 95 artigos. Fez upload de 23 imagens, ocupando um total de 3mb. Isso equivale a cerca de 2 imagens por mês.



O seu dia mais activo do ano foi 18 de outubro com 49 visitas. O artigo mais popular desse dia foi Arduino + MATLAB.




De onde vieram?



Os sites que mais tráfego lhe enviaram em 2010 foram google.com.br, linuxbsd.com.br, guiadohardware.net, twitter.com e friendfeed.com


Alguns visitantes vieram dos motores de busca, sobretudo por como instalar glade windows, acaraje turbinado, gtk dev c++, acarajé turbinado e ldmicro







Atracções em 2010


Estes são os artigos e páginas mais visitados em 2010.




1

Arduino + MATLAB outubro, 2010
3 comentários

2

Tutorial de instalação do Dev-C++ com suporte a GTK/GLADE setembro, 2007
25 comentários

3

Configurar Print server Dlink DP-300U no Cups novembro, 2007
4 comentários

4

Elevador Microcontrolado janeiro, 2009

5

Método dos Mínimos quadrados para Ajuste de Curva julho, 2008
1 comentário

Eclipse + Arduino

Não é que a IDE do Arduino seja ruim, mas quando estamos desenvolvendo um projeto maior que simplesmente o piscar de um LED, particularmente sinto falta de algumas opções como auto-complete de código, browser de navegação entre funções, integração com controlador de versão entre outros.
Por isso fui atras de efetuar o desenvolvimento dos meus projetos utilizando os microcontroladores AVR em uma IDE mais completa e familiar para mim, que no caso é o Eclipse.

Segue o link de um tutorial de como utilizar o Eclipse como IDE de desenvolvimento de firmware para o Arduino.

http://www.chipkin.com/articles/using-eclipse-with-arduino-duemilanove

Observações:

1 - Para adicionar o plugin AVR-Eclipse utilizei o modo de instalação pela própria IDE.

Pela IDE Eclipse acesse:

[sourcecode language="python"]
(Help > Software Updates > Find and install... > Search for new features to install -> New Remote Site)
[/sourcecode]

E adicione os seguintes dados:

[sourcecode language="python"]
Name: AVR Eclipse Plugin
URL: http://avr-eclipse.sourceforge.net/updatesite/
[/sourcecode]

2 - Ao adicionar os dados AVR C++ Linker => Libraries foi necessário também adicionar o caminho em library path (L) onde estava a library .a que no meu caso estava dentro do RELEASE do ArduinoCore indicado no tutorial.

Referência dos pinos do MCU Atmega / Arduino

Já não se fala mais em projeto. Fala-se em assinatura do projeto.

Se tem uma coisa que me tira do serio é a mediocridade de alguns acadêmicos de engenharia de resumir a sua formação em apenas assinar projetos.

O Ênio Padilha escreveu um texto explicando bem isso, vale apena da uma lida.

http://www.eniopadilha.com.br/?pg=artigos_detalhe&id=1260

Arduino + Python + FIRMATA

No post anterior “Arduino + MATLAB” eu mostrei com efetuar a conexão do MATLAB com o Arduino, dessa fez vou mostra como fazer a mesma coisa com o Python.

A teoria é a mesma descrita no POST Arduino + MATLAB, a diferença é que iremos utilizar um firmware que implementa um protocolo genérico de comunicação chamado FIRMATA.

Segue abaixo o diagrama da integração:

ArduinoPython

 

Sem perca de tempo vamos ao que interessa:

Pressuponho que você já tenha o Python e a biblioteca PySerial instalado e funcionando em sua maquina.

  1. Na IDE do Arduino abra a scketch que se encontra em:
  2.  File->Scketchbook -> Examples -> Library-Firmata –> StandardFirmata
    Grave esta scketch no Arduino, e verifique qual porta serial está sendo utilizada em: Tools -> Serial Port. Pode fechar esta IDE logo na sequência.
    2.   Faça download da biblioteca python-firmata em: http://github.com/lupeke/python-firmata e efetue a instalação da seguinte forma:



[sourcecode language="python"]python setup.py install [/sourcecode]

3.   Abaixo segue um programa de exemplo, como também a disposição dos pinos na placa do Arduino:

arduino_board

 



[sourcecode language="python"]
#Piscando led com python

#importando a biblioteca FIRMATA
from firmata import *

#conectando ao arduino
a = Arduino('COM1', baudrate=57600)

#especificando o modo que o pino 13 irá trabalhar
a.pin_mode(13, firmata.OUTPUT)

#Delay de 2 segundos
a.delay(2)

while True:

#Colocando 1 na saida digital 13, neste caso 5 volts
a.digital_write(13, firmata.HIGH)
a.delay(2)

#Colocando 0 na saida digital 13, neste caso 0 volts
a.digital_write(13, firmata.LOW)
a.delay(2)

[/sourcecode]

Arduino + MATLAB

Como acadêmico de um curso de engenharia, utilizo muito o MATLAB para simulação matemática.

- Deixa ser chato Hamilton conta logo como comunicar o MATLAB com o ARDUINO. Tá bom vamos lá!!!

Mas primeiro um pouco de teoria.

Como foi visto no post “O que é Arduino” o mesmo é uma placa de fácil manipulação e programação, mas podemos usar o Arduino também como uma interface de comunicação  entre o PC.

Em muitos projetos não é necessário que o Arduino trabalhe como um processador independente, mas como um dispositivo intermediário através do qual há a conexão de sensores, leds, motores, etc a um computador. Nesta configuração, a placa e o PC ficam conectados e se comunicam através da porta USB/serial. Um aplicativo executado no PC (que no nosso caso será a classe arduino.m  instanciado) interage com outros aparelhos conectados à placa.

Para que essa interação seja feita é necessário adicionar o firmware adiosrv.pde que fará o papel de informar os status e as ações do Arduino. Abaixo segue um diagrama de como isso funciona.

 

ArduinoMatlab

Vamos agora para pratica:

  1. Faça o download do arduino-matlab em http://www.mathworks.com/academia/arduino-software/arduino-matlab.html, após o download pegue o arquivo adiosvr.pde que encontra-se dentro da pasta adiosvr e grave no Arduino via IDE de programação. Caso não saiba como fazer isso, assista o vídeo do post “O que é Arduino” .
  2. Abra o MATLAB, adicione o arquivo arduino.m no WORKSPACE, a partir desse momento o MATLAB já esta pronto para se comunicar com o Arduino.
  3. Dentro do arquivo que foi baixado arduino-matlab contém diversos exemplos mas segue abaixo um exemplo de utilização de escrita e leitura digital e analógica, como também a disposição dos pinos na placa do Arduino.

    arduino_board

     

    [sourcecode language="matlab"]

    % conectando ao arduino
    a=arduino('COM5')

    % especificando os modos que os pinos 4, 13 e 5 iram trabalhar
    a.pinMode(2,'input');
    a.pinMode(13,'output');
    a.pinMode(9,'output');

    % Efetuando uma leitura digital no pino 4
    dv=a.digitalRead(4)

    % escrevendo o que tem na variavel dv (0 or 1) no pino 13
    a.digitalWrite(13,dv)

    % lendo a entrada analógica no pino 5 (NB: não é o pino 5 digital)
    av=a.analogRead(5)

    % normalizando av de 0:1023 para 0:255
    av=(av/1023)*255

    % escrevendo a saida av no pino 9 (pwm)
    a.analogWrite(9,av)

    % fechando a seção
    delete(a)

    [/sourcecode]

    Segue abaixo imagens de outro código executado no command do MATLAB junto com o hardware.

     

     

    Para mais informações segue um PDF feito pelo Giampiero Campa mostrando mais detalhadamente com usar essa ferramenta: http://www.mathworks.cn/matlabcentral/fileexchange/27843-arduino-io-package-slides-and-examples

    Segue também um target para utilizar junto com o SIMULINK: http://www.mathworks.com/academia/arduino-software/arduino-simulink.html

    O que é Arduino?

    Para não precisar reinventar a roda, segue o link do blog projeto39 com um texto explicando o que é o Arduino.

    Se você está começando agora no mundo do Arduino não deixe de ler esse artigo.

    http://projeto39.wordpress.com/o-arduino/

    OU assista o video abaixo.





    Introdução ao Arduino

    Simulador Ladder - LDMICRO

    LadderA pedido de amigos, vai uma dica de como treinar os conhecimentos adquirido na cadeira de Informática Industrial. A linguagem LADDER nasceu na necessidade de facilitar a programação em ambientes industriais, remetendo para uma linguagem de alto nível e fácil de ser utilizada. No entanto existe um programa, LDMICRO  de Jonathan Westhues, que permite a programação LADDER de microcontroladores, que viabiliza o estudo e implementação de controles de baixíssimo custo.
    Este software é muito versátil, não requer instalação (basta executar o arquivo ldmicro.exe em ambiente windows ou emulador compatível), e é de livre distribuição.



    Abaixo segue link para o download do LDMICRO, manual e alguns exemplos.



    Software -> http://www.cq.cx/dl/ldmicro.exe



    Manual -> http://www.mecatronica.org.br/disciplinas/programacao/019/LDMICRO_TUTORIAL.pdf



    Exemplos -> http://www.mecatronica.org.br/disciplinas/cuscopic/artigos/ladder/exemplos.zip



     

    Informações do hardware (Linux)

    Quer saber informações do seu hardware sem precisar desligar o computador via seu linux, abaixo segue a dica:



    # dmidecode

    Capturando máquina contaminada de vírus na rede

    Baseado no postIMPRESSORA IMPRIMINDO CARACTERES ESTRANHO SEM PARAR” que explica sobre um Worm/Trojan que envia arquivos via comunicação de rede das impressoras, algumas pessoas relataram que o problema não era tirar o vírus e sim saber onde o mesmo se encontra. Baseado nisso segue o LINK de um blog que mostra uma forma de procurar a máquina infectada na rede.

    Caso tenham alguma dúvida adicione um comentário que a medida do possível irei a ajudar.




    Compilação estática em C++ e QT no Linux

    Após um post informando como efetuar a compilação do QT para utilização das bibliotecas estáticas no Windows, vamos agora efetuar compilação para ao Linux [Testado no Kubuntu 9.04 e LinuxMint 7].



    1 - Efetue a instalação do seguintes pacotes via APT



    [sourcecode language="cpp"]
    $ sudo apt-get install libx11-dev libfreetype6-dev libavahi-gobject-dev libSM-dev libXrender-dev libfontconfig-dev libXext-dev build-essential
    [/sourcecode]


    2 - Execute ./configure com os seguintes parâmetros



    [sourcecode language="cpp"]
    $ sudo ./configure -static -release -nomake demos -nomake examples -nomake tools
    [/sourcecode]


    3 - Execute o make e o make install



    [sourcecode language="cpp"]
    $ sudo make ; sudo make install
    [/sourcecode]

    4 - Configure o makefile do seu projeto adicionando as seguinte linha no arquivo .pro



    [sourcecode language="cpp"]
    CONFIG += static
    [/sourcecode]

     



    OBS: Caso ocorra algum erro há algumas dicas nesse link http://www.sistemasparalinux.com.br/Compilar_Qt_Debian.html



    <a href="http://twitter.com/home?status=Currently reading " title="Click aqui para enviar esse post ao Twitter!" target="_blank">Compartilhe no Twitter

    Compilação estática em C++ e QT no Windows

    Para adicionar as bibliotecas estáticas aos programas gerados em C++ e QT é necessário recompilar o QT, pois o que é instalado por padrão utiliza as bibliotecas dinâmicas, dificultando assim a distribuição do aplicativo.




    1. Set as variáveis de ambiente include e lib.

      • No menu "Iniciar", selecione a opção "Painel de controle";

      • Acesse o item "Sistema";

      • Selecione a guia "Avançado";

      • Acesse "Variáveis de ambiente", e no campo Variáveis do Sistema acesse "Nova"

      • Cria duas variáveis, uma INCLUDE e o outra LIB

        • Na variável INCLUDE adicione a seguinte linha no campo "Valor da variável"


        C:\Qt\mingw\include


        • Na variável LIB adicione a seguinte linha no campo "Valor da variável"


        C:\Qt\mingw\lib


      • OBS: Caso o caminho da instalaçõa do seu QT não seja C:\QT, troque o pelo caminho correto.

      • Pressione o botão "OK" para confirmar cada uma das configurações.



    2. Entre no console da Qt: Menu iniciar -> Qt SDK (ou outro) -> Qt Command Prompt

    3. Execute o comando: configure -static -no-phonon

    4. Execute o comando: mingw32-make sub-src (Esse comando deve demoras algumas horas, dependendo do seu hardware).



    Após efetuar essa recompilação ao gerar algum projeto no QTCreator adicione a seguinte linha no arquivo .pro:



    CONFIG += static



     



    Pronto, agora para disponibilizar seus programas apenas envie o executável gerado com a dll mingwm10.dll.

    Modificando a senha do root

    Como eu e o Juliano sempre dizemos: "Segurança local é uma coisa que colocam na sua cabeça".



    Abaixo mostro como trocar a senha de root localmente via grub.



    1. Ao ligar o seu computador, espere aparecer a tela do grub.  



    2. Quando aparecer o menu de inicialização do grub, digite ‘e’, para editar.



    3. Depois selecione a linha do kernel e digite ‘e’ novamente.



    4. Agora, deixe a linha da seguinte forma:



    kernel /boot/seu_kernel root=/dev/hdxn init=/bin/bash rw



    onde:



          seu_kernel - É o nome do arquivo do seu kernel. Geralmente vmlinuz.



           hdxn - É a sua partição raiz.



    Ex: hda1. Feito isso, aperte enter e em seguida ‘b‘.



    O sistema irá iniciar. Assim que o sistema iniciar, digite passwd e escolha uma nova senha.



     



    Fonte: http://ubuntuforum-br.org/index.php?topic=26815.0

    Console do Windows equipado

    Pra quem usa linux, quando vai para para o Windows sente muita falta de um console com mais opções. Para minimizar um pouco essa saudade existe esse console AQUI e ainda tem a opção de abas (oitava maravilha do mundo! na minha opinião é claro).

    Limitando a uso da banda de internet no APT e no WGET

    As vezes é necessário efetuar um apt ou download via wget, mas não queremos que o mesmo consuma toda banda, para isso efetuamos a seguinte configuração: Para o APT: Crie o arquivo /etc/apt/apt.conf.d/76download e adicione o seguinte conteúdo:



    Acquire { Queue-mode "access"; http { Dl-Limit 20; } }



    Onde: Dl-Limit 20 é o local onde informamos a banda utilizada pelo APT, que nesse exemplo está limitando para 20 KB/s Para o WGET: Utilize a opção "limit-rate" da seguinte forma:



    wget --limit-rate=20k caminho



    Onde: A banda nesse exemplo é limitada em 20 KB/s Há também a possibilidade de limitar a banda pelo comando trickle, que pode ser instalado pelo apt. Nesse link mais informações sobre o trickle.

    Editor Nano com syntax highlight

    A dica encontra-se AQUI

    Utilizando repositorios antigo no UBUNTU

    Para quem tem versões do Ubuntu que não tem mais suporte pela Canonical mas ainda deseja utilizar essas versões, abaixo segue os repositórios. Substitua a palavra "version" pelas respectivas versões, que podem ser: warty - versão 4.10 hoary - versão 5.04 breezy- versão 5.10 edgy - versão 6.10 feisty - versão 7.04 gutsy - versão 7.10



     



    deb http://old-releases.ubuntu.com/ubuntu/ version main restricted universe multiverse
    deb http://old-releases.ubuntu.com/ubuntu/ version-updates main restricted universe multiverse
    deb http://old-releases.ubuntu.com/ubuntu/ version-security main restricted universe multiverse
    deb http://old-releases.ubuntu.com/ubuntu/ version-backports main restricted universe multiverse
    deb-src http://old-releases.ubuntu.com/ubuntu/ version-backports main restricted universe multiverse



     

    Trocando o NetworkManager pelo WICD no Kubuntu 9.04 com KDE4

    Inteligente gerenciador de rede WICD pode ser um otimo substituto para o o gerenciador padrão das distros baseadas no ubuntu, o NetworkManager, que já me deixou algumas vezes na mão.
    Vamos a instalação.
    1 - Como o wicd conflita com o network-manager, é necessário remover o mesmo.


    $ sudo dpkg -r plasma-widget-network-manager (Caso esteja utilizando o KDE4)
    $ sudo dpkg -P network-manager


    2 - Adicionando o repositório do WICD para obter-mos a ultima versão.


    # echo deb http://apt.wicd.net jaunty extras >> /etc/apt/sources.list


    3 - Adicionando a chave GPG


    $ wget -q http://apt.wicd.net/wicd.gpg -O- | sudo apt-key add -


    4 - Atualizando o repositório e instalando o WICD.


    $ sudo apt-get update && sudo apt-get install wicd


    Abaixo a tela principal do WICD

    [caption id="" align="alignnone" width="563" caption="http://wicd.sourceforge.net/screenshot.php"]http://wicd.sourceforge.net/screenshot.php[/caption]

    Configurando microfone ATI Technologies Inc RS780 Azalia controller no [K]ubuntu

    Acrescente as linhas abaixo no arquivo /etc/modprobe.d/alsa-base.conf


    # Keep snd-pcsp from beeing loaded as first soundcard
    options snd-pcsp index=-2
    alias snd-card-0 snd-hda-intel
    alias sound-slot-0 snd-hda-intel
    options snd-hda-intel model=dell-m4-1
    options snd-hda-intel enable_msi=1

    Instalando o VirtualBox 3 no [K]ubuntu Jaunty 9.04

    1 - Adicionar mirror do VirtualBox no sources.list


    # echo deb http://download.virtualbox.org/virtualbox/debian jaunty non-free >> /etc/apt/sources.list


    2 - Adicionar a chave pública

    $ wget -c deb http://download.virtualbox.org/virtualbox/debian jaunty non-free | sudo apt-key add sun_vbox.asc


    3 - Atualizar a lista de pacotes

    $ sudo apt-get update


    4 - Instalando o VirtualBox

    $ sudo apt-get install virtualbox-3.0