A Internet das Coisas e a
 Programação de Micro
     Controladores


      Igor Kondrasovas
    igor@duinolabs.com
Agenda
•   A internet das coisas
•   Evolução dos micro controladores
•   Arquitetura Arduino
•   Arduino para programadores .NET
•   Projetos de Exemplo
•   Produtos e Aplicações
•   Como começar?
A Internet das Coisas
    Infográfico CISCO
A Internet das Coisas
    Infográfico Intel
A Internet das Coisas
• Video IBM
• http://asmarterplanet.com/
A Internet das Coisas
Evolução dos Micro controladores
•   http://oldcomputers.net/appleii.html
Programação de Microcontroladores




 Apple II (Placa)    Produto      Netduino
      1977             Ano          2010
      8-bit         Arquitetura    32-bit
       48K             RAM          60K
        -              ROM          128K
    1.0 MHz         Velocidade     48 MHz
  USD 1938,00         Custo       R$ 200,00
Tendências dos Dispositivos
•   Complementam aplicações web e desktop;
•   Cada vez mais conectados e inteligentes;
•   Menor time-to-market;
•   Demanda por 32 bits
•   Mercado altamente inovador;
Arduino
“Plataforma eletrônica
aberta para prototipação,
baseada em software e
hardware flexível, fácil de
usar. Criada para
estudantes curiosos,
artistas, projetistas,
hobistas e pessoas
interessadas em criar
objetos ou ambientes
interativos”
                              http://www.arduino.cc/
Video – Massimo Banzi




      http://www.ted.com/speakers/massimo_banzi.html/
Arduino
• Documentário
Dificuldades Encontradas
• Áreas de aplicação são diversas e exigem
  habilidades de programação em hardware
  específicas;
• Ferramentas diversas, falta de modelos de
  programação;
• Poucos protocolos de comunicação e suporte;
• Código de difícil portabilidade;
O .NET Micro Framework
“Módulo inicializável de tempo de execução que
  traz os benefícios da plataforma .NET para
       dispositivos com poucos recursos”
O .NET Micro Framework
O .NET Micro Framework
       Origem no SPOT (2007)
(Smart Personal Object Technology)
Utilizava o serviço MSN Direct (FM)
O .NET Micro Framework
• 2009 – open source (Apache 2.0)
O .NET Micro Framework
• .NET Gadgeteer
.NET Micro Framework
Hardware e Software Open Source
O .NET Micro Framewok
• Footprint < 300 KB
• Classes especificas para aplicações embedded
  (incluindo GUI em WPF)
• CLR “on the metal”
• Suporte a Flash, GPIOs, I2C, RS232, SPI, etc.
• Modelo de drivers de dispositivos
• Integração completa com Visual Studio (debug)
• Emulador
Demo
Detalhes
•   70 classes e 420 métodos
•   Reflection
•   Serialization
•   Threading e Sincronização
•   Timers
•   Exceções
•   Garbage Collection
•   Persistência
•   Recursos
•   Segurança e Criptografia
•   Atualização
Quem pode Utilizar?
Cenário                 Uso
Desenvolvedores         Coloque seu software na próxima
                        geração de dispositivos inteligentes
Integradores            Construa extensões e hardware
                        específico
Acadêmicos              Base de conhecimento para estudantes e
                        professores
Hobistas                Realizar sonhos
Arduino e Netduino
        Netduino               Dispositivo             Arduino
      C# ou VB.NET            Linguagem de         Derivada do C/C++
                              Programação
Visual Studio 2010 Express     Ambiente de     Arduino Environment / AVR
                             Desenvolvimento             Studio
   Atmel ARM7 32-bit           Processador         Atmel AVR 8-bit
         128 KB                   Flash                 32 KB
          60 KB                   RAM                    2 KB
         48 MHz                   Clock                 16 MHz
Arduino e Netduino
Kits de Desenvolvimento




http://www.microsoft.com/en-us/netmf/hardware/default.aspx
www.duinolabs.com
A Internet das Coisas e a
 Programação de Micro
     Controladores


      Igor Kondrasovas
    igor@duinolabs.com

A Internet das coisas e a programação de micro controladores

  • 1.
    A Internet dasCoisas e a Programação de Micro Controladores Igor Kondrasovas igor@duinolabs.com
  • 2.
    Agenda • A internet das coisas • Evolução dos micro controladores • Arquitetura Arduino • Arduino para programadores .NET • Projetos de Exemplo • Produtos e Aplicações • Como começar?
  • 3.
    A Internet dasCoisas Infográfico CISCO
  • 4.
    A Internet dasCoisas Infográfico Intel
  • 5.
    A Internet dasCoisas • Video IBM • http://asmarterplanet.com/
  • 6.
  • 7.
    Evolução dos Microcontroladores • http://oldcomputers.net/appleii.html
  • 8.
    Programação de Microcontroladores Apple II (Placa) Produto Netduino 1977 Ano 2010 8-bit Arquitetura 32-bit 48K RAM 60K - ROM 128K 1.0 MHz Velocidade 48 MHz USD 1938,00 Custo R$ 200,00
  • 9.
    Tendências dos Dispositivos • Complementam aplicações web e desktop; • Cada vez mais conectados e inteligentes; • Menor time-to-market; • Demanda por 32 bits • Mercado altamente inovador;
  • 10.
    Arduino “Plataforma eletrônica aberta paraprototipação, baseada em software e hardware flexível, fácil de usar. Criada para estudantes curiosos, artistas, projetistas, hobistas e pessoas interessadas em criar objetos ou ambientes interativos” http://www.arduino.cc/
  • 11.
    Video – MassimoBanzi http://www.ted.com/speakers/massimo_banzi.html/
  • 12.
  • 13.
    Dificuldades Encontradas • Áreasde aplicação são diversas e exigem habilidades de programação em hardware específicas; • Ferramentas diversas, falta de modelos de programação; • Poucos protocolos de comunicação e suporte; • Código de difícil portabilidade;
  • 14.
    O .NET MicroFramework “Módulo inicializável de tempo de execução que traz os benefícios da plataforma .NET para dispositivos com poucos recursos”
  • 15.
    O .NET MicroFramework
  • 16.
    O .NET MicroFramework Origem no SPOT (2007) (Smart Personal Object Technology) Utilizava o serviço MSN Direct (FM)
  • 17.
    O .NET MicroFramework • 2009 – open source (Apache 2.0)
  • 18.
    O .NET MicroFramework • .NET Gadgeteer
  • 19.
  • 20.
  • 21.
    O .NET MicroFramewok • Footprint < 300 KB • Classes especificas para aplicações embedded (incluindo GUI em WPF) • CLR “on the metal” • Suporte a Flash, GPIOs, I2C, RS232, SPI, etc. • Modelo de drivers de dispositivos • Integração completa com Visual Studio (debug) • Emulador
  • 23.
  • 25.
    Detalhes • 70 classes e 420 métodos • Reflection • Serialization • Threading e Sincronização • Timers • Exceções • Garbage Collection • Persistência • Recursos • Segurança e Criptografia • Atualização
  • 26.
    Quem pode Utilizar? Cenário Uso Desenvolvedores Coloque seu software na próxima geração de dispositivos inteligentes Integradores Construa extensões e hardware específico Acadêmicos Base de conhecimento para estudantes e professores Hobistas Realizar sonhos
  • 27.
    Arduino e Netduino Netduino Dispositivo Arduino C# ou VB.NET Linguagem de Derivada do C/C++ Programação Visual Studio 2010 Express Ambiente de Arduino Environment / AVR Desenvolvimento Studio Atmel ARM7 32-bit Processador Atmel AVR 8-bit 128 KB Flash 32 KB 60 KB RAM 2 KB 48 MHz Clock 16 MHz
  • 28.
  • 29.
  • 30.
  • 32.
    A Internet dasCoisas e a Programação de Micro Controladores Igor Kondrasovas igor@duinolabs.com