Identificando periféricos USB conectados ao Macbook Pro com OS X El Captain

Como identificar os periféricos ligados nas portas usb do Macbook com OS X El Captain instalado ? Pensei logo no lsusb existente no linux mas pesquisando rapidamente existe um comando especifico para isso no Mac :

$ ioreg -p IOUSB
+-o Root  
  +-o Root Hub Simulation Simulation@14000000  
    +-o Apple Internal Keyboard / Trackpad@14400000  
    +-o BRCM20702 Hub@14300000  
    | +-o Bluetooth USB Host Controller@14330000  
    +-o CP2102 USB to UART Bridge Controller@14200000  

Assim, consegui identificar o CP2102 , conversor de usb<->serial TTL e procurar o driver correto.

Se quiser mais informações sobre os periféricos USB ( muito mais informação …)  ,use o comando :


$ ioreg -p IOUSB -w0 -l

Divirta-se !

Calango Hacker Space de Brasilia

calango_felipe_brito
O Calango Hacker Clube , o primeiro hackerspace de Brasilia está com uma campanha para a viabilização do seu espaço fisico fixo. A grana arrecadada será destinada ao pagamento do aluguel do espaço , condominio , internet , agua e luz. Neste espaço serão realizadas as nossa atividades tais como aulas de Arduino para iniciantes , Music Hacking com ferramentas livres , aulas de montagem e pilotagem de Drones , area para trabalho em projetos com ferramentas barulhentas e tudo isso aberto a comunidade de Brasilia. O apoio pode ser dado com contribuições mensais a partir de 10 reais . Conto com o seu apoio !

Entre na pagina  https://unlock.fund/pt-BR/calangohc e ajude o Calango a ter a sua sede própria.

Entre na página do Calango em http://www.calango.club/  e veja as  nossas realizações.

eLua : Lua for a embedded world

Overview

eLua é a versão da linguagem Lua desenvolvida para ser utilizada embarcada em microcontroladores de 32 bits. A linguagem Lua foi desenvolvida pela PUC/RJ com o objetivo de ser uma linguagem de simples utilização, fracamente tipada e ser de fácil aprendizado. Desde o inicio foi projetada com o objetivo de ser utilizada em ambientes sujeitos a mudanças constantes , na linha trocar turbinas em pleno voo. A linguagem pode ser utilizada embarcada em uma outra linguagem , mais comumente C , onde todas as partes principais são escritas em C e o que muda com frequência é  escrito em Lua , podendo ser carregado em tempo de execução. Muitos projetos e aplicações fizeram uso destas facilidades proporcionadas pela linguagem mas foi no mundo dos games que ela tornou-se mais visível e conhecida. Este sucesso deveu-se a muitos jogos terem incluído Lua como a linguagem para a escrita das fases , permitindo a partir de um mesmo engine de games , adicionar novos ambientes e dificuldades a medida que as novas fases fossem atingidas. Lua é utilizada em muitos contextos tais como servidores web, tratamento de imagens , automação de atividades , jogos para celulares , etc etc.

Origem

A Linguagem Lua foi desenvolvida por uma equipe da PUC/TECGraf com o objetivo inicial de ser usada em projetos da Petrobras . Desta equipe faziam parte Roberto Ierusalimschy ,Luiz Henrique de Figueiredo e Waldemar Celes. A linguagem rapidamente passou a contar com uma serie de melhoramentos e ampliações que a tornaram um linguagem de uso geral e fazendo inclusive da infraestrutura do projeto da TV Digital Brasileira.

eLua

A linguagem eLua é uma convergência de dois projetos assemelhados que visavam trazer a linguagem lua para o ambiente dos microcontroladores. Os projetos de Bogdan Marinescu e Dado Sutter ( OHMS , PUC/RJ )  , para portar a linguagem Lua para microcontroladores , existiam independemente e resolveram integrar os esforços, fontes e experiência acumulada para criar um ambiente unico de desenvolvimento. Após esta integração foram iniciados os esforços para portar a linguagem para outros microcontroladores e outras arquiteturas. Atualmente (2015) é possivel executar  eLua em diversos microcontroladores com diferentes graus de acesso aos periféricos internos

Hoje, a principal referencia sobre eLua é a pagina do projeto em http://wiki.eluaproject.net/  . Existe tambem o site eLua builder ,http://builder.eluaproject.net/  , onde está disponível uma plataforma online para a gerar o binário para diversos microcontroladores e kits de desenvolvimento.

Porque falar disso ? Lua está sendo usada para criar mini-aplicações nos módulos Wi-Fi de baixo custo , baseados nos SoCs esp8266 da Expressif  , mas isso é conversa para o próximo post do BlogDoJe.

Referencias :

Lua na Wikipedia

Página do OHMS no Facebook

OHMS – Our Home Maker Space

 

 

Open Hardware Summit 2012

Está rolando em Nova Iorque esta semana o Open Hardware Summit 2012. É um encontro com apresentações de trabalhos  sobre eletrônica, mecanica, bioquimica , micro-fabricas , aplicação de tecnologia a moda e tudo mais que se relaciona a filosofia faça-voce-mesmo aplicada a tecnologia. Os principais pensadores, fabricantes e revendedores do Open Hardware e  estão lá discutindo e exibindo os seus produtos.

Acompanhe :

http://summit.oshwa.org/about-ohs/

http://dangerousprototypes.com/2012/09/28/open-hardware-summit-2012/

Vem ai uma Launchpad ARM da Texas

A Texas Instruments irá lançar , no dia 25 de setembro de 2012 , uma nova versão do kit de desenvolvimento Launchpad só que desta vez no lugar do MSP430 teremos um ARM. Será um controlador ARM da linha Stellaris , provavelmente Cortex M4 e o kit custará US$ 4.99 .

Informações iniciais trazem as seguintes caracteristicas :

CPU 80 MHz
PWM 12
ADC Channels 12
ADC Resolution 12 Bits
RAM 64 KB
FLASH 256 KB
TIMERS 12 32-Bit Timers
UART 8
I2C 4
SPI 4
QEP 2
USB Yes OTG
CAN Yes
RTC Yes

No link http://www.ti.com/ww/en/launchpad_site/stellaris.html?DCMP=stellaris-launchpad&HQS=stellaris-launchpad-b , voce pode reservar a sua Launchpad Stellaris e concorrer a uma das 25 plaquinhas grátis para que quem se inscrever na pre-order.

Boa sorte !!

FLISOL-DF 2012

O evento deste ano aconteceu durante o dia 28 de abril na faculdade Anhanguera de Taguatinga. Muita gente inscrita , diversas apresentaçoes interessantes e a grande novidade deste ano foi uma sala praticamente dedicada ao Open Hardware.

Os integrantes dos grupos de discussão open-hardware-brasilia e arduino-brasilia apresentaram o conceito de open-hardware, arduino , climaduino , novas formas de comunicação e o projeto seminal Monitora Cerrado , pai de todos os projetos de monitoramento climático que estão em execução aqui no centro-oeste.  A sala esteve cheia em todas as apresentações com muita gente interessada e que saiu de lá pronta para comprar ou montar o seu primeiro Arduino.

O evento deste ano foi de especial emoção para este blogueiro que lhes escreve: há uns cinco anos atrás quando comecei a fazer apresentações sobre o assunto , as salas normalmente tinham cinco , seis pessoas dos quais a metade era de amigos. Depois de uns 10 minutos chegavam algumas pessoas perdidas que entravam na sala e iam ficando até o final. Este ano as apresentações  já começavam em média com 100 pessoas sentadas e que tinham uma noção básica do que se tratava. Foi excelente a receptividade.

Parabens Professor Ronald e equipe Flisol-DF !

Parabens Isaias e Webert pelas apresentações , agradecimentos ao Luiz Ferreira e ao Fabio pelo suporte e em especial ao amigo Alessandro Leite , um cara que fala pouco e que escreve muito ( principalmente Java) pela participação nas apresentações de Open Hardware nas edições do FLISOL-DF.

Links:

FLISOL-DF 2012 : http://flisoldf.blog.br/2012/

Posts Relacionados:

BlogdoJe no Flisol 2008

BlogdoJe leva Arduino e Beagleboard ao FLISOL-DF 2010

CrossPack for AVR® Development

Para quem está procurando um ambiente de desenvolvimento em C/C++ para AVR no Mac , o Crosspack for AVR é uma boa opção gratuita.

O Crosspack for AVR vem com todos os programas necessários para compilar e gravar a memoria flash do microcontrolador, na linha do finado WinAVr. Voce pode fazer tudo via linha de comando ou pode usa-lo integrado ao XCode, o ambiente de desenvolvimento oficial do Mac OSX. O pacote tem tido atualizações anuais e a ultima é de fevereiro de 2012. O pacote possibilita a geração de código executável para todos os tipos de AVR 8 bits incluindo os XMega.

Uma funcionalidade interessante é o comando “avr-project”  , usado para gerar um template de projeto , contendo um arquivo main.c , um Makefile inicial e as definições de um projeto Xcode. O Makefile gerado é bem completo ,  contendo o necessário para a geraçao do código hex e bem comentado, com as opções de modificação.

Para quem está no Mac e não está querendo instalar uma maquina virtual windows só para rodar o AVR Studio 5 ou 6 ( MS Visual Studio for AVR) , o Crosspack for AVR é uma opção muito interessante.

Link:

CrossPack for AVR : http://www.obdev.at/products/crosspack/index.html

Software Defined Radio de baixo custo

Desde fevereiro ,está acontecendo uma movimentação interessante no hardware para os  SDRs (Software Defined Radios): descobriram que os dados enviados pelos receptores de TV com interface USB de baixo custo , com chipset Realtek RTL2832U , podem ser usados como receptores genéricos de ondas de rádio na faixa de 64 MHZ até 1.7GHZ. Os dados crus recebidos pelo receptor são enviados para o computador e podem ser tratados digitalmente pelo software GNU-Radio.

Desta forma é possivel criar analisadores de espectro , receptores que podem receber e tratar dados de celulares GSM , estacoes AM , FM , relogios , alarmes e sensores . So não é muito molezinha de fazer, é preciso conhecer DSP e calculo mas existem diversos tutoriais e exemplos na internet para ajudar. A grande novidade é que os hardwares que existiam para isso custavam na faixa de 1000 dolares e uma TV USB custa 20 dolares nos distribuidores chineses.

Links:

Definição de SDR na Wikipedia: http://en.wikipedia.org/wiki/Software_radio

GNU Radio : http://gnuradio.org/redmine/projects/gnuradio/wiki

Osmocom SDR , criadora do driver rtl-sdr: http://sdr.osmocom.org/trac/wiki/rtl-sdr

PDF explicando o que é SDR : http://www.flex-radio.com/Data/Doc/qex1.pdf

Arduino minimo sem cristal

Durante o 1o. Encontro Open Hardware de Brasilia, O Isaias Coelho fez uma apresentação sobre as suas experiencias com o Arduino Minimo Standalone, basicamente um microcontrolador atmega8/168 ou 328 montado em um breadboard, possibilitando começar a brincar com o arduino por um custo minimo. Gostei muito da apresentação mas fiquei pensando se não poderia usar menos componentes. Sabia que os ATMEGAs possuem um gerador de clock interno ao microcontrolador , que podem gerar clocks de 1,4 e 8 Mhz e que o kit Lilypad ja tinha ido por essa linha de desenvolvimento há algum tempo atrás.

Configurar o atmega é tranquilo , é só alterar os fuses , o maior trabalho é gerar o bootloader e configurar a ide do arduino para trabalhar corretamente com o novo Arduino. Comecei a pesquisar sobre o assunto, achei diversas referencias na internet sobre o assunto e usei principalmente os experimentos do blog ( muito interessante !!) do todbot que já realizou esta implementação em 2009. Coloco aqui o resumo da implementação do meu Arduino minimo sem cristal.

O circuito.

O circuito é praticamente apenas o microcontrolador ATMEGA 8. Adicionei um resistor de 10k do pino de reset para o VCC , um resistor de 330 ohms e um led para ligar ao pino pb.5 que equivale ao pino digital 13 do Arduino para testar o funcionamento do arduino com o programa Blink. Para alimentar o circuito usei uma bateria CR2032 de 3 Volts, destas usadas em relógios, já que o ATMEGA 8 comum precisa de uma alimentação minima de 2.7 volts.

Os fuses.

Os fuses do ATMEGA 8 devem ser setados como: HighFuses = OXC4 , LowFuses=0XE4. Esta configuração garante principalmente a velocidade de 8MHz e que um bootloader estará presente neste ATMEGA 8

O bootloader.

Usei o bootloader antigo do Arduino usado nas versões com ATMEGA 8. Neste bootloader foram alterados a velocidade de funcionamento para 8 Mhz. Os arquivos para download estão no meu github nos links no final do post.  Para gravar o bootloader usei o programa Avr Studio 4 da Atmel e um kit STK500 mas existem diversas outras formas de grava-lo das mais simples com um cabo ligado a porta paralela até programadores mais sofisticados. Apos gravar o bootloader é so montar  na breadboard. O blog do Daniel Quadros fez uma serie de posts sobre os programadores mais usados, links no final deste post.

A IDE Arduino.

A IDE foi modificada com a colocação da configuração do novo tipo de Arduino no arquivo boards.txt. Os parâmetros configurados indicam qual é o chip usado , sua freqüência de funcionamento, qual a velocidade de comunicação para a gravação dos sketches , etc. O código a ser adicionado está também no github. Nas versões da IDE Arduino para Windows e Linux é só acessar o arquivo boards.txt no diretório arduino00xx/hardware/boards.txt. No MAC OS X, o arquivo boards.txt fica dentro do Arduino.app . É necessario acionar o Finder , posicionar-se no diretório de Aplicativos e  abrir o Arduino.app com a opção “Mostrar o conteudo do pacote” ,  abrir o arquivo boards.txt no diretório Arduino.app/Contents/Resources/Java/ hardware/arduino e edita-lo.

Como transmitir o sketch  o Arduino.

Este Arduino minimo não tem USB, como conversar com ele ? A opção mais simples é usar uma placa arduino ng, duemilanove ou outra com interface USB que voce ja tenha: tire o chip Atmega da placa e ligue da seguinte forma:

  • pino 2 do ATMEGA8 (RXD)  na saída D0 do Arduino
  • pino 3 do ATMEGA8 (TXD) na saída D1 do Arduino
  • pino 7 do ATMEGA8 (VCC) na saída 5V do Arduino
  • pino 8 do ATMEGA8 (GND) na saída 0V do Arduino

Os testes.

Para testar usei o famoso sketch Blink. Para gravar o programa é preciso um certo macete ja que esta versão do bootloader não tem suporte para o reset, via ide dos Arduinos mais novos . Assim que voce mandar fazer o upload do código compilado, dê um reset no arduino , desligando e religando ou dando um curto rapido do pino 1 com o terra causando um reset no atmega. Depois de um curto tempo a comunicacao do ATMEGA8 com o pc se inicia, e a carga do programa é concluida com sucesso.

Conclusões.

Esta, eu acredito que é a forma mais barata de ter um Arduino para testar em protótipos. Esta opção é interessante para montagem em workshops para iniciantes, já que diminui o numero de erros possíveis de acontecer. Outro uso é principalmente para quem fez um upgrade em seu Arduino para Atmega168 ou 328 e ficou com o ATMEGA8 de bobeira em casa . Esta versão também pode servir como base para projetos definitivos de dispositivos onde o timing da aplicação não seja critico e a facilidade de programação proporcionada pela IDE Arduino seja um diferencial para o projeto. Eu estou experimentando esta versão em um controlador de automação residencial e os resultados são muito interessantes. Esta mesma situação pode ser adaptada para uso com ATMEGAs 168 e 328 , ajustando os devidos fuses para os chips, tendo como conseqüência uma area de memoria maior para os sketches.

Divirtam-se !!
Links :
Posts relacionados:
Downloads:

Novo Arduino com Ethernet Incorporada

Arduino com Ethernet
Arduino com Ethernet

Adafruit lançou um novo Arduino, resultado da junção do UNO com um shield ethernet. A nova placa incorpora uma interface ethernet baseada no Wiznet W5100, mesmo chip do shield ethernet “oficial” e de brinde acrescentou um socket para memorias SD.  Este novo Arduino não possui USB e precisa de um cabo USB-TTL para ser programado.

Por 65 obamas, está mais caro que um mBed ( kit ARM da NXP com lpc1768, ethernet, 2 usb, 3 seriais , …)   mas não deixa de ser interessante pelo tamanho compacto.

Links:
Arduino Uno Ethernet

Post Relacionado:
Embedded, I’m Bad , mBed