domingo, 15 de janeiro de 2012

O Netduino

No final do ano passado comecei a usar a plataforma do Neduino. No inicio me pareceu um tanto estranho programar em .NET para dispositivos embarcados mas isso é uma questão apenas de costume mesmo.
Há muitos anos programo apenas microcontroladores PIC, não que isso seja um problema, mas de certa forma me deixou um pouco limitado em termos de tecnologias do mercado. Os PIC's e dsPIC's tem um desempenho bom além de qualidades em termos de hadware como os pinos remapeáveis, osciladores internos, DMA's etc... e sobretudo do excelente suporte da Microchip 24/7 Support (24 por dia, 7 dias por semana, nunca tive respostas aos domingos naturalmente...). O que me deixava atônito quando visitava os sites de outros fabricantes como a STM, Atmel, Freescale (exceto a Texas) é a confusão de informações e dos méritos de pagamentos pelas IDE’s e Compiladores, posso até estar errado quanto a isso mas se o objetivo da empresa e vender o chip porque cobrar pela IDE e pelo compilador.
Os dsPIC’s da MICROCHIP sempre me atendeu bem para aplicações de controle embarcado mas em meados de 2010 um novo projeto entrou em cena na ENELTEC. Seria um medidor de energia, tão logo vi diversas soluções no site da MICROCHIP usando Ethernet, USB e Wifi e assim tratei de comprar diversas placas PICtail para Explorer 16. Depois de uma incansável espera pela entrega finalmente comecei a fazer testes e logo percebi as dificuldades no TCP/IP Stack e nos outros Stack’s da MICROCHIP. Definitivamente para uma solução rápida isso se tornou um pesadelo!
Vencido os desafios inicias finalmente comecei a fazer algo útil e utilizável para o projeto, quando estava prestes a fazer o lote de testes eis o problema: o custo do hadware superava qualquer custo de mercado para medidor!
Esse foi o índico da desilusão com a MICROCHIP... No mesmo dia fiz uma visita ao Edifício Central (para quem não mora no Rio de Janeiro, esse prédio é um centro de venda de periféricos e informática) para comprar alguns itens de informática para a ENELTEC, dando uma olhada rápida vi diversas lojas vendendo aparelhos celulares por R$250,00 usando Andoid mais barato do que o custo que eu havia estimado para o medidor. A pergunta que me fiz foi: Como é possível competir com isso, uma capacidade de processamento boa a um preço baixo.
Uma breve pesquisa na internet e estava diante dos processadores ARM. Diversos fabricantes, diversas plataformas, preços diferentes e uma capacidade de processamento muito maior que a maioria dos PIC’s, já era hora de mudar de plataforma.
Conversando com alguns amigos me indicaram a plataforma do Netduino que utilizava o Visual Studio com o .NET Micro Framework (que nem sabia que existia até então). Nós já trabalhávamos com o .NET Framework em aplicativos para engenharia na ENELTEC usando o AutoCAD e já tínhamos ideia que isso facilitaria as coisas em termos de programação devido a orientação a objeto.
Foi assim que comecei a usar o Netduino comprei três placas pela internet, duas do Netduino e uma do Netduino Plus. Os USD 29,00 chegam aqui no Brasil a R$200,00, mas fora esse detalhe eu comprei as placas e com elas mais uma shield Wifi. Não vou afirmar que essas placas são as melhores, até porque a Fez Panda II é muito superior em termos de desempenho mas .NET Micro Framework também tem limitações, em fim, o importante é o desempenho.
Migrar para o .NET foi muito bom para fazer as aplicações com velocidade de execução estatística como o TCP/IP, cálculos, rotinas de comunicação, armazenamento em massa, controle de temperatura e 97% de todas as aplicações que existem no planeta. O problema é que, como sempre, me deparo com os outros 3% das aplicações àquelas que dependem fielmente do tempo de execução, os controles em malha fechada. Isso será um paradigma para as novas aplicações: como programar em alto nível sem deixar de ter o controle pleno sobre o tempo de execução.
O meu objetivo com o blog é divulgar os avanços que tive com o Netduino e com o .NET Micro Framework nas aplicações que faço.


2 comentários:

  1. Victor, estou iniciando no uso de hardwares embarcados e tenho uma dúvida, preciso saber se posso por exemplo usar uma placa como a FEZ e fazer uma producao em auto escala ou se uso a FEZ somente para um prototipo e depois mando produzir algo com as mesmas caracteristicas, o que normalmente se faz nesse sentido? O que seria mais barato?

    ResponderExcluir
  2. Olá Vicente,
    Primeiramente desculpe a demora em responder. Mas as duas alternativas que você mencionou são válidas. De fato, tudo dependente da escala, não sei quanto você está comprando a FEZ Panda mas se a aplicação for de poucas peças sem dúvida utilizá-la sai muito mais em conta. Uma solução personalizada custa caro, principalmente se você pretende fabricar no Brasil.
    Exitem empresas como A VRI que fazem não só a fabricação como estoque e logística o que é muito interessante principalmente para empreendimentos individuais de escala elevada (1000 pç/ano).
    Realmente é complicado dizer assim, sem muitas informações qual a melhor opção, mas convêm fazer uma pesquisa de preços e verificar qual a melhor opção mesmo.

    ResponderExcluir