SlideShare uma empresa Scribd logo
Trilha – Arduino
  Marco Antonio Maciel
           .




                         Globalcode – Open4education
O Arduino ama a Internet
      De várias maneiras
              .




                           Globalcode – Open4education
Agenda
 Arduino
 Como conectar à Internet
 Integrando os mundos
 Como começar
 DEMO




                            Globalcode – Open4education
Quem sou eu?

       @marcomaciel

       http://mmaciel.com.br

       http://ArduInRio.cc




                               Globalcode – Open4education
Arduino
  Criado por Massimo Banzi.
  Plataforma open source (hardware
  e software).

Projeto simples, popular e
acessível com eletrônica e
programação embarcada de alto
nível.



                                     Globalcode – Open4education
Arduino
 Microcontrolador com sistema embarcado
 IDE e bibliotecas de alto nível
 Comunidade grande e atuante
 Multiplataforma (Linux, Mac e Windows)
 Linguagem é essencialmente C/C++ (Wiring)
 Transferência via USB
 Comunicação serial



                                    Globalcode – Open4education
“Falando” com Arduino
  Comunicação Serial

# Java                 # VB
# Ruby                 # Delphi
# Python               # Objective-C
# .NET                 # C/C++
                       Etc. etc. etc..



                                         Globalcode – Open4education
Hello world




              Globalcode – Open4education
Hello world




              Globalcode – Open4education
What’s so funny?




               off-line sux!

                               Globalcode – Open4education
Globalcode – Open4education
Integrar com a Internet !




                Como faz ?

                             Globalcode – Open4education
Como conectar à Internet?
 Ligado a um computador
   USB
   Bluetooth
 Ethernet Shield
 Wifi Shield




                            Globalcode – Open4education
Globalcode – Open4education
</xml>




#text




         Globalcode – Open4education
</xml>




#text




         Globalcode – Open4education
</xml>




#text




         Globalcode – Open4education
</xml> #text




               Globalcode – Open4education
</xml> #text




               Globalcode – Open4education
</xml> #text




               Globalcode – Open4education
. Java
. PHP      Internet
. Python
. C#



                                                 . Java
                                                 . Ruby
                                                 . Python
                                                 . C++
                                                 . VB
                                                 . Delphi




                      . Wiring (C / C++)

                                   Globalcode – Open4education
. Java
. PHP           Internet
. Python
. C#




    . Wiring (C / C++)
                           Globalcode – Open4education
Comunicação remota
 Java
 Python
 PHP




                     Globalcode – Open4education
Java
Servlet para gravar a mensagem
         String mensagem = req.getParameter("mensagem");
         ServletContext sc = getServletContext();
         sc.setAttribute("mensagem", mensagem);
         resp.sendRedirect("index.jsp");




                                                           Globalcode – Open4education
Java
Servlet para gravar a mensagem
         String mensagem = req.getParameter("mensagem");
         ServletContext sc = getServletContext();
         sc.setAttribute("mensagem", mensagem);
         resp.sendRedirect("index.jsp");

Servlet para ler a mensagem
         ServletContext sc = getServletContext();
         PrintWriter saida = resp.getWriter();
         String mensagem = String.valueOf(sc.getAttribute("mensagem")).trim();
         if (mensagem.equals("")) {
              saida.print("");
         } else {
              saida.print(mensagem);
         }
         sc.setAttribute("mensagem", "");




                                                            Globalcode – Open4education
Python (Flask)
Método para gravar a mensagem
          @app.route('/envia_mensagem', methods=['POST', 'GET'])
          def grava_mensagem():
              mensagem = request.args.get('mensagem', '')
              write_msg(mensagem)
              return redirect(url_for('index'))

Método para ler a mensagem
          @app.route('/obtem_mensagem')
          def obtem_mensagem():
              mensagem = read_msg()
              write_msg('')
              return mensagem

Método para escrever e ler a mensagem no arquivo
          def write_msg(mensagem):
              f = open('mensagem.txt', 'w’)
              f.write('%s' % (mensagem))

          def read_msg():
              f = open('mensagem.txt', 'r')
              line = f.read()

                                                                   Globalcode – Open4education
Python (Flask)
Método para gravar a mensagem
          @app.route('/envia_mensagem', methods=['POST', 'GET'])
          def grava_mensagem():
              mensagem = request.args.get('mensagem', '')
              write_msg(mensagem)
              return redirect(url_for('index'))

Método para ler a mensagem
          @app.route('/obtem_mensagem')
          def obtem_mensagem():
              mensagem = read_msg()
              write_msg('')
              return mensagem

Método para escrever e ler a mensagem no arquivo
          def write_msg(mensagem):
              f = open('mensagem.txt', 'w’)
              f.write('%s' % (mensagem))

          def read_msg():
              f = open('mensagem.txt', 'r')
              line = f.read()

                                                                   Globalcode – Open4education
Python (Flask)
Método para gravar a mensagem
          @app.route('/envia_mensagem', methods=['POST', 'GET'])
          def grava_mensagem():
              mensagem = request.args.get('mensagem', '')
              write_msg(mensagem)
              return redirect(url_for('index'))

Método para ler a mensagem
          @app.route('/obtem_mensagem')
          def obtem_mensagem():
              mensagem = read_msg()
              write_msg('')
              return mensagem

Método para escrever e ler a mensagem no arquivo
          def write_msg(mensagem):
              f = open('mensagem.txt', 'w’)
              f.write('%s' % (mensagem))

          def read_msg():
              f = open('mensagem.txt', 'r')
              line = f.read()

                                                                   Globalcode – Open4education
PHP
Programa para gravar a mensagem
         <?php
         require_once("application.class.php");
         $mensagem = $_POST['mensagem'];
         Application::setVar("mensagem",$mensagem);
         $redirect = "./";
         header("location:$redirect”)
         ?>




                                                      Globalcode – Open4education
PHP
Programa para gravar a mensagem
         <?php                                        #application.class.php
         require_once("application.class.php");
                                                      http://tinyurl.com/GlobalVarsInPhp
         $mensagem = $_POST['mensagem'];
         Application::setVar("mensagem",$mensagem);
         $redirect = "./";
         header("location:$redirect”)
         ?>




                                                         Globalcode – Open4education
PHP
Programa para gravar a mensagem
         <?php                                          #application.class.php
         require_once("application.class.php");
                                                        http://tinyurl.com/GlobalVarsInPhp
         $mensagem = $_POST['mensagem'];
         Application::setVar("mensagem",$mensagem);
         $redirect = "./";
         header("location:$redirect”)
         ?>

Programa para ler a mensagem
         <?php
         require_once("application.class.php");
         $mensagem = Application::getVar("mensagem");
         echo $mensagem;
         Application::setVar("mensagem","");
         ?>




                                                           Globalcode – Open4education
Comunicação local
 Java
 Python
 Ruby




                    Globalcode – Open4education
Java
 Jar RXTX (http://rxtx.qbang.org)




                                    Globalcode – Open4education
Java
 Jar RXTX (http://rxtx.qbang.org)




                                    Globalcode – Open4education
Ruby
 gem serialport   (http://ruby-serialport.rubyforge.org/)




                                              Globalcode – Open4education
Ruby
    gem serialport      (http://ruby-serialport.rubyforge.org/)


  Instalação
> gem install serialport

    Testando
>   irb
>   require “serialport”
>   ser = SerialPort.new “/dev/ttyUSB0”
>   ser.write “1”
>   ser.close




                                                    Globalcode – Open4education
Python
 modulo pySerial (http://pyserial.sourceforge.net)




                                         Globalcode – Open4education
Python
    modulo pySerial (http://pyserial.sourceforge.net)

  Instalação
> pip install pyserial ou easy_install pyserial

    Testando
>   python
>   import serial
>   ser = serial.Serial(“/dev/ttyUSB0”)
>   ser.write(“1”)
>   ser.close()




                                                  Globalcode – Open4education
Programa Arduino
 Lê porta serial e aciona comando




                                    Globalcode – Open4education
DEMOs




        Globalcode – Open4education
OBRIGADO

     @marcomaciel

     http://mmaciel.com.br

     http://ArduInRio.cc




                             Globalcode – Open4education

Mais conteúdo relacionado

Mais procurados

Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP Básico
Norton Guimarães
 
Xdebug seus problemas acabaram - tdc floripa 2017
Xdebug   seus problemas acabaram - tdc floripa 2017Xdebug   seus problemas acabaram - tdc floripa 2017
Xdebug seus problemas acabaram - tdc floripa 2017
Vitor Mattos
 
PHP-CLI em 7 passos
PHP-CLI em 7 passosPHP-CLI em 7 passos
PHP-CLI em 7 passos
Henrique Moody
 
PHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECLPHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECLErick Belluci Tedeschi
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao Avançado
Luiz Junior
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em django
Mario Chaves
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
Curso de php do básico ao avançado
Curso de php do básico ao avançadoCurso de php do básico ao avançado
Curso de php do básico ao avançadoThiago Carlos
 
Dependency injection
Dependency injectionDependency injection
Dependency injection
Guilherme Blanco
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente Web
Israel Messias
 
Desenvolvimento de Extensões PECL
Desenvolvimento de Extensões PECLDesenvolvimento de Extensões PECL
Desenvolvimento de Extensões PECL
Erick Belluci Tedeschi
 

Mais procurados (13)

Curso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP BásicoCurso Linguagem de Programação I - PHP Básico
Curso Linguagem de Programação I - PHP Básico
 
Xdebug seus problemas acabaram - tdc floripa 2017
Xdebug   seus problemas acabaram - tdc floripa 2017Xdebug   seus problemas acabaram - tdc floripa 2017
Xdebug seus problemas acabaram - tdc floripa 2017
 
PHP-CLI em 7 passos
PHP-CLI em 7 passosPHP-CLI em 7 passos
PHP-CLI em 7 passos
 
PHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECLPHPSC Conference 2010 - Desenvolvimento de Extensões PECL
PHPSC Conference 2010 - Desenvolvimento de Extensões PECL
 
Curso de PHP Básico ao Avançado
Curso de PHP Básico ao AvançadoCurso de PHP Básico ao Avançado
Curso de PHP Básico ao Avançado
 
Técnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em djangoTécnicas para preparação e desenvolvimento de sites em django
Técnicas para preparação e desenvolvimento de sites em django
 
Mini Curso de PHP
Mini Curso de PHPMini Curso de PHP
Mini Curso de PHP
 
Doctrine2 Seminário PHP
Doctrine2 Seminário PHPDoctrine2 Seminário PHP
Doctrine2 Seminário PHP
 
Curso de php do básico ao avançado
Curso de php do básico ao avançadoCurso de php do básico ao avançado
Curso de php do básico ao avançado
 
Dependency injection
Dependency injectionDependency injection
Dependency injection
 
Programação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente WebProgramação Multiplataforma em Ambiente Web
Programação Multiplataforma em Ambiente Web
 
Linguagem PHP
Linguagem PHPLinguagem PHP
Linguagem PHP
 
Desenvolvimento de Extensões PECL
Desenvolvimento de Extensões PECLDesenvolvimento de Extensões PECL
Desenvolvimento de Extensões PECL
 

Destaque

Les balenes 2012
Les balenes 2012Les balenes 2012
Les balenes 2012
kitbasic44
 
Les balenes 2012
Les balenes 2012Les balenes 2012
Les balenes 2012kitbasic44
 
Como crear slideshare
Como crear slideshareComo crear slideshare
Como crear slidesharejuanfenugu
 
Roteador Wireless Belkin - Balão da Informática!
Roteador Wireless Belkin - Balão da Informática!Roteador Wireless Belkin - Balão da Informática!
Roteador Wireless Belkin - Balão da Informática!
Balão da Informática
 
Caso clinico lassalles
Caso clinico lassallesCaso clinico lassalles
Caso clinico lassallesemanuelfloresa
 
Brochure istituzionale UMAN Foundation
Brochure istituzionale UMAN FoundationBrochure istituzionale UMAN Foundation
Brochure istituzionale UMAN FoundationUMANFoundation
 

Destaque (7)

Les balenes 2012
Les balenes 2012Les balenes 2012
Les balenes 2012
 
Jurin 07
Jurin 07Jurin 07
Jurin 07
 
Les balenes 2012
Les balenes 2012Les balenes 2012
Les balenes 2012
 
Como crear slideshare
Como crear slideshareComo crear slideshare
Como crear slideshare
 
Roteador Wireless Belkin - Balão da Informática!
Roteador Wireless Belkin - Balão da Informática!Roteador Wireless Belkin - Balão da Informática!
Roteador Wireless Belkin - Balão da Informática!
 
Caso clinico lassalles
Caso clinico lassallesCaso clinico lassalles
Caso clinico lassalles
 
Brochure istituzionale UMAN Foundation
Brochure istituzionale UMAN FoundationBrochure istituzionale UMAN Foundation
Brochure istituzionale UMAN Foundation
 

Semelhante a O Aduino ama a Internet - TDC 2012

Introducao ao Spring Web MVC
Introducao ao Spring Web MVCIntroducao ao Spring Web MVC
Introducao ao Spring Web MVC
Eder Magalhães
 
Introducao Spring ROO
Introducao Spring ROOIntroducao Spring ROO
Introducao Spring ROO
Eder Magalhães
 
TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?
Rafael Benevides
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
tdc-globalcode
 
Modern PHP
Modern PHPModern PHP
JSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com JavaJSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com Java
Dr. Spock
 
A Revolução dos Middlewares
A Revolução dos MiddlewaresA Revolução dos Middlewares
A Revolução dos Middlewares
Paulo Eduardo Rezende
 
TDC 2016 - PHP7
TDC 2016 - PHP7TDC 2016 - PHP7
TDC 2016 - PHP7
Marcelo Aymone
 
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
tdc-globalcode
 
JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computing
Eder Magalhães
 
O que esperar do Zend Framework 3
O que esperar do Zend Framework 3O que esperar do Zend Framework 3
O que esperar do Zend Framework 3
Flávio Lisboa
 
Java7 tdc2011
Java7 tdc2011Java7 tdc2011
Java7 tdc2011
Eder Magalhães
 
Aula05-ProgramacaoparaWeb123456878915151
Aula05-ProgramacaoparaWeb123456878915151Aula05-ProgramacaoparaWeb123456878915151
Aula05-ProgramacaoparaWeb123456878915151
alderleysousa444
 
Alta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxAlta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com Nginx
Thiago Paes
 
PHP like a super hero
PHP like a super heroPHP like a super hero
PHP like a super hero
Elton Minetto
 
PHP e Robótica com Arduino - TDC 2012
PHP e Robótica com Arduino - TDC 2012PHP e Robótica com Arduino - TDC 2012
PHP e Robótica com Arduino - TDC 2012
Marco Antonio Maciel
 
Tdc2014 - Guia do Tester Técnico das Galáxias
Tdc2014 - Guia do Tester Técnico das GaláxiasTdc2014 - Guia do Tester Técnico das Galáxias
Tdc2014 - Guia do Tester Técnico das Galáxias
Leonardo Galani
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2PrinceGuru MS
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com Docker
Wellington Silva
 

Semelhante a O Aduino ama a Internet - TDC 2012 (20)

Introducao ao Spring Web MVC
Introducao ao Spring Web MVCIntroducao ao Spring Web MVC
Introducao ao Spring Web MVC
 
Introducao Spring ROO
Introducao Spring ROOIntroducao Spring ROO
Introducao Spring ROO
 
TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?TDC 2014 SP - E o DeltaSpike ?
TDC 2014 SP - E o DeltaSpike ?
 
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
TDC2017 | Florianopolis - Trilha DevOps How we figured out we had a SRE team ...
 
Modern PHP
Modern PHPModern PHP
Modern PHP
 
JSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com JavaJSF 2.0: Uma Evolução nas Interfaces Web com Java
JSF 2.0: Uma Evolução nas Interfaces Web com Java
 
A Revolução dos Middlewares
A Revolução dos MiddlewaresA Revolução dos Middlewares
A Revolução dos Middlewares
 
TDC 2016 - PHP7
TDC 2016 - PHP7TDC 2016 - PHP7
TDC 2016 - PHP7
 
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
TDC2018SP | Trilha Arq PHP - Seguranca de aplicacoes web com o uso de Boas pr...
 
Pdo do PHP Palestra
Pdo do PHP PalestraPdo do PHP Palestra
Pdo do PHP Palestra
 
JavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computingJavaEE 7, na era do cloud computing
JavaEE 7, na era do cloud computing
 
O que esperar do Zend Framework 3
O que esperar do Zend Framework 3O que esperar do Zend Framework 3
O que esperar do Zend Framework 3
 
Java7 tdc2011
Java7 tdc2011Java7 tdc2011
Java7 tdc2011
 
Aula05-ProgramacaoparaWeb123456878915151
Aula05-ProgramacaoparaWeb123456878915151Aula05-ProgramacaoparaWeb123456878915151
Aula05-ProgramacaoparaWeb123456878915151
 
Alta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com NginxAlta Performance de Aplicações PHP com Nginx
Alta Performance de Aplicações PHP com Nginx
 
PHP like a super hero
PHP like a super heroPHP like a super hero
PHP like a super hero
 
PHP e Robótica com Arduino - TDC 2012
PHP e Robótica com Arduino - TDC 2012PHP e Robótica com Arduino - TDC 2012
PHP e Robótica com Arduino - TDC 2012
 
Tdc2014 - Guia do Tester Técnico das Galáxias
Tdc2014 - Guia do Tester Técnico das GaláxiasTdc2014 - Guia do Tester Técnico das Galáxias
Tdc2014 - Guia do Tester Técnico das Galáxias
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
 
Aplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com DockerAplicações 12 fatores, melhor com Docker
Aplicações 12 fatores, melhor com Docker
 

Mais de Marco Antonio Maciel

TDC 2015 - Java 8 rodando em 256KB de RAM
TDC 2015 - Java 8 rodando em 256KB de RAMTDC 2015 - Java 8 rodando em 256KB de RAM
TDC 2015 - Java 8 rodando em 256KB de RAM
Marco Antonio Maciel
 
Desenvolvendo Produtos para Internet das Coisas
Desenvolvendo Produtos para Internet das CoisasDesenvolvendo Produtos para Internet das Coisas
Desenvolvendo Produtos para Internet das Coisas
Marco Antonio Maciel
 
TDC 2015 - Java 8 em 256 KB de memória RAM
TDC 2015 - Java 8 em 256 KB de memória RAMTDC 2015 - Java 8 em 256 KB de memória RAM
TDC 2015 - Java 8 em 256 KB de memória RAM
Marco Antonio Maciel
 
Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
Marco Antonio Maciel
 
Plataforma Java Embedded & Internet of Things (IoT)
Plataforma Java Embedded & Internet of Things (IoT)Plataforma Java Embedded & Internet of Things (IoT)
Plataforma Java Embedded & Internet of Things (IoT)
Marco Antonio Maciel
 
TV Digital Interativa & IoT - TDC 2014
TV Digital Interativa & IoT - TDC 2014TV Digital Interativa & IoT - TDC 2014
TV Digital Interativa & IoT - TDC 2014
Marco Antonio Maciel
 
Introdução à plataforma Java Embedded & IoT
Introdução à plataforma Java Embedded & IoTIntrodução à plataforma Java Embedded & IoT
Introdução à plataforma Java Embedded & IoT
Marco Antonio Maciel
 
Java Tweet for Beer! Chopeira controlada com Java, JavaFX, e IoT!
Java Tweet for Beer! Chopeira controlada com Java, JavaFX, e IoT!Java Tweet for Beer! Chopeira controlada com Java, JavaFX, e IoT!
Java Tweet for Beer! Chopeira controlada com Java, JavaFX, e IoT!
Marco Antonio Maciel
 
OEP - Oracle Event Processing para Java Embedded
OEP - Oracle Event Processing para Java EmbeddedOEP - Oracle Event Processing para Java Embedded
OEP - Oracle Event Processing para Java Embedded
Marco Antonio Maciel
 
Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011
Marco Antonio Maciel
 
Arduino, Robótica e Computação nas Nuvens
Arduino, Robótica e Computação nas NuvensArduino, Robótica e Computação nas Nuvens
Arduino, Robótica e Computação nas Nuvens
Marco Antonio Maciel
 
Segurança e Certificação Digital
Segurança e Certificação DigitalSegurança e Certificação Digital
Segurança e Certificação DigitalMarco Antonio Maciel
 
Carrier Ethernet
Carrier EthernetCarrier Ethernet
Carrier Ethernet
Marco Antonio Maciel
 
Online Atlas Of Cancer Mortality
Online Atlas Of Cancer MortalityOnline Atlas Of Cancer Mortality
Online Atlas Of Cancer Mortality
Marco Antonio Maciel
 
Balanced Scorecard
Balanced ScorecardBalanced Scorecard
Balanced Scorecard
Marco Antonio Maciel
 
Uso de Critérios de Seleção para Frameworks Livres em Plataforma Java EE
Uso de Critérios de Seleção para Frameworks Livres em Plataforma Java EEUso de Critérios de Seleção para Frameworks Livres em Plataforma Java EE
Uso de Critérios de Seleção para Frameworks Livres em Plataforma Java EE
Marco Antonio Maciel
 
Mobile Commerce
Mobile CommerceMobile Commerce
Mobile Commerce
Marco Antonio Maciel
 

Mais de Marco Antonio Maciel (17)

TDC 2015 - Java 8 rodando em 256KB de RAM
TDC 2015 - Java 8 rodando em 256KB de RAMTDC 2015 - Java 8 rodando em 256KB de RAM
TDC 2015 - Java 8 rodando em 256KB de RAM
 
Desenvolvendo Produtos para Internet das Coisas
Desenvolvendo Produtos para Internet das CoisasDesenvolvendo Produtos para Internet das Coisas
Desenvolvendo Produtos para Internet das Coisas
 
TDC 2015 - Java 8 em 256 KB de memória RAM
TDC 2015 - Java 8 em 256 KB de memória RAMTDC 2015 - Java 8 em 256 KB de memória RAM
TDC 2015 - Java 8 em 256 KB de memória RAM
 
Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
Tweet4Beer (atualizada): Torneira de Chopp Controlada por Java, JavaFX, IoT ...
 
Plataforma Java Embedded & Internet of Things (IoT)
Plataforma Java Embedded & Internet of Things (IoT)Plataforma Java Embedded & Internet of Things (IoT)
Plataforma Java Embedded & Internet of Things (IoT)
 
TV Digital Interativa & IoT - TDC 2014
TV Digital Interativa & IoT - TDC 2014TV Digital Interativa & IoT - TDC 2014
TV Digital Interativa & IoT - TDC 2014
 
Introdução à plataforma Java Embedded & IoT
Introdução à plataforma Java Embedded & IoTIntrodução à plataforma Java Embedded & IoT
Introdução à plataforma Java Embedded & IoT
 
Java Tweet for Beer! Chopeira controlada com Java, JavaFX, e IoT!
Java Tweet for Beer! Chopeira controlada com Java, JavaFX, e IoT!Java Tweet for Beer! Chopeira controlada com Java, JavaFX, e IoT!
Java Tweet for Beer! Chopeira controlada com Java, JavaFX, e IoT!
 
OEP - Oracle Event Processing para Java Embedded
OEP - Oracle Event Processing para Java EmbeddedOEP - Oracle Event Processing para Java Embedded
OEP - Oracle Event Processing para Java Embedded
 
Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011
 
Arduino, Robótica e Computação nas Nuvens
Arduino, Robótica e Computação nas NuvensArduino, Robótica e Computação nas Nuvens
Arduino, Robótica e Computação nas Nuvens
 
Segurança e Certificação Digital
Segurança e Certificação DigitalSegurança e Certificação Digital
Segurança e Certificação Digital
 
Carrier Ethernet
Carrier EthernetCarrier Ethernet
Carrier Ethernet
 
Online Atlas Of Cancer Mortality
Online Atlas Of Cancer MortalityOnline Atlas Of Cancer Mortality
Online Atlas Of Cancer Mortality
 
Balanced Scorecard
Balanced ScorecardBalanced Scorecard
Balanced Scorecard
 
Uso de Critérios de Seleção para Frameworks Livres em Plataforma Java EE
Uso de Critérios de Seleção para Frameworks Livres em Plataforma Java EEUso de Critérios de Seleção para Frameworks Livres em Plataforma Java EE
Uso de Critérios de Seleção para Frameworks Livres em Plataforma Java EE
 
Mobile Commerce
Mobile CommerceMobile Commerce
Mobile Commerce
 

O Aduino ama a Internet - TDC 2012

  • 1. Trilha – Arduino Marco Antonio Maciel . Globalcode – Open4education
  • 2. O Arduino ama a Internet De várias maneiras . Globalcode – Open4education
  • 3. Agenda Arduino Como conectar à Internet Integrando os mundos Como começar DEMO Globalcode – Open4education
  • 4. Quem sou eu? @marcomaciel http://mmaciel.com.br http://ArduInRio.cc Globalcode – Open4education
  • 5. Arduino Criado por Massimo Banzi. Plataforma open source (hardware e software). Projeto simples, popular e acessível com eletrônica e programação embarcada de alto nível. Globalcode – Open4education
  • 6. Arduino Microcontrolador com sistema embarcado IDE e bibliotecas de alto nível Comunidade grande e atuante Multiplataforma (Linux, Mac e Windows) Linguagem é essencialmente C/C++ (Wiring) Transferência via USB Comunicação serial Globalcode – Open4education
  • 7. “Falando” com Arduino Comunicação Serial # Java # VB # Ruby # Delphi # Python # Objective-C # .NET # C/C++ Etc. etc. etc.. Globalcode – Open4education
  • 8. Hello world Globalcode – Open4education
  • 9. Hello world Globalcode – Open4education
  • 10. What’s so funny? off-line sux! Globalcode – Open4education
  • 12. Integrar com a Internet ! Como faz ? Globalcode – Open4education
  • 13. Como conectar à Internet? Ligado a um computador USB Bluetooth Ethernet Shield Wifi Shield Globalcode – Open4education
  • 15. </xml> #text Globalcode – Open4education
  • 16. </xml> #text Globalcode – Open4education
  • 17. </xml> #text Globalcode – Open4education
  • 18. </xml> #text Globalcode – Open4education
  • 19. </xml> #text Globalcode – Open4education
  • 20. </xml> #text Globalcode – Open4education
  • 21. . Java . PHP Internet . Python . C# . Java . Ruby . Python . C++ . VB . Delphi . Wiring (C / C++) Globalcode – Open4education
  • 22. . Java . PHP Internet . Python . C# . Wiring (C / C++) Globalcode – Open4education
  • 23. Comunicação remota Java Python PHP Globalcode – Open4education
  • 24. Java Servlet para gravar a mensagem String mensagem = req.getParameter("mensagem"); ServletContext sc = getServletContext(); sc.setAttribute("mensagem", mensagem); resp.sendRedirect("index.jsp"); Globalcode – Open4education
  • 25. Java Servlet para gravar a mensagem String mensagem = req.getParameter("mensagem"); ServletContext sc = getServletContext(); sc.setAttribute("mensagem", mensagem); resp.sendRedirect("index.jsp"); Servlet para ler a mensagem ServletContext sc = getServletContext(); PrintWriter saida = resp.getWriter(); String mensagem = String.valueOf(sc.getAttribute("mensagem")).trim(); if (mensagem.equals("")) { saida.print(""); } else { saida.print(mensagem); } sc.setAttribute("mensagem", ""); Globalcode – Open4education
  • 26. Python (Flask) Método para gravar a mensagem @app.route('/envia_mensagem', methods=['POST', 'GET']) def grava_mensagem(): mensagem = request.args.get('mensagem', '') write_msg(mensagem) return redirect(url_for('index')) Método para ler a mensagem @app.route('/obtem_mensagem') def obtem_mensagem(): mensagem = read_msg() write_msg('') return mensagem Método para escrever e ler a mensagem no arquivo def write_msg(mensagem): f = open('mensagem.txt', 'w’) f.write('%s' % (mensagem)) def read_msg(): f = open('mensagem.txt', 'r') line = f.read() Globalcode – Open4education
  • 27. Python (Flask) Método para gravar a mensagem @app.route('/envia_mensagem', methods=['POST', 'GET']) def grava_mensagem(): mensagem = request.args.get('mensagem', '') write_msg(mensagem) return redirect(url_for('index')) Método para ler a mensagem @app.route('/obtem_mensagem') def obtem_mensagem(): mensagem = read_msg() write_msg('') return mensagem Método para escrever e ler a mensagem no arquivo def write_msg(mensagem): f = open('mensagem.txt', 'w’) f.write('%s' % (mensagem)) def read_msg(): f = open('mensagem.txt', 'r') line = f.read() Globalcode – Open4education
  • 28. Python (Flask) Método para gravar a mensagem @app.route('/envia_mensagem', methods=['POST', 'GET']) def grava_mensagem(): mensagem = request.args.get('mensagem', '') write_msg(mensagem) return redirect(url_for('index')) Método para ler a mensagem @app.route('/obtem_mensagem') def obtem_mensagem(): mensagem = read_msg() write_msg('') return mensagem Método para escrever e ler a mensagem no arquivo def write_msg(mensagem): f = open('mensagem.txt', 'w’) f.write('%s' % (mensagem)) def read_msg(): f = open('mensagem.txt', 'r') line = f.read() Globalcode – Open4education
  • 29. PHP Programa para gravar a mensagem <?php require_once("application.class.php"); $mensagem = $_POST['mensagem']; Application::setVar("mensagem",$mensagem); $redirect = "./"; header("location:$redirect”) ?> Globalcode – Open4education
  • 30. PHP Programa para gravar a mensagem <?php #application.class.php require_once("application.class.php"); http://tinyurl.com/GlobalVarsInPhp $mensagem = $_POST['mensagem']; Application::setVar("mensagem",$mensagem); $redirect = "./"; header("location:$redirect”) ?> Globalcode – Open4education
  • 31. PHP Programa para gravar a mensagem <?php #application.class.php require_once("application.class.php"); http://tinyurl.com/GlobalVarsInPhp $mensagem = $_POST['mensagem']; Application::setVar("mensagem",$mensagem); $redirect = "./"; header("location:$redirect”) ?> Programa para ler a mensagem <?php require_once("application.class.php"); $mensagem = Application::getVar("mensagem"); echo $mensagem; Application::setVar("mensagem",""); ?> Globalcode – Open4education
  • 32. Comunicação local Java Python Ruby Globalcode – Open4education
  • 33. Java Jar RXTX (http://rxtx.qbang.org) Globalcode – Open4education
  • 34. Java Jar RXTX (http://rxtx.qbang.org) Globalcode – Open4education
  • 35. Ruby gem serialport (http://ruby-serialport.rubyforge.org/) Globalcode – Open4education
  • 36. Ruby gem serialport (http://ruby-serialport.rubyforge.org/) Instalação > gem install serialport Testando > irb > require “serialport” > ser = SerialPort.new “/dev/ttyUSB0” > ser.write “1” > ser.close Globalcode – Open4education
  • 37. Python modulo pySerial (http://pyserial.sourceforge.net) Globalcode – Open4education
  • 38. Python modulo pySerial (http://pyserial.sourceforge.net) Instalação > pip install pyserial ou easy_install pyserial Testando > python > import serial > ser = serial.Serial(“/dev/ttyUSB0”) > ser.write(“1”) > ser.close() Globalcode – Open4education
  • 39. Programa Arduino Lê porta serial e aciona comando Globalcode – Open4education
  • 40. DEMOs Globalcode – Open4education
  • 41. OBRIGADO @marcomaciel http://mmaciel.com.br http://ArduInRio.cc Globalcode – Open4education

Notas do Editor

  1. Atualmente dedica seu tempo para estudos de robótica e aplicativos móveis usando plataformas livres.
  2. Profissional de TI há 16 anosClipper, Pascal, VB, Delphi, ASP, PHP, JavaAdministrador do grupo ArduInRio (arduinrio.cc)Organizador do Hack’n Rio (hacknrio.org)Não sou especialista, sou mais um generalistaPai de duas filhas lindas
  3. Robóticaé a computaçãofísicamaisconhecida.Novo nome da mecatrônica.
  4. Vmoscolocarumagraçanisso!
  5. Váriasmaneiras de conectarosseusaparelhosaoarduino.
  6. Váriasmaneiras de conectarosseusaparelhosaoarduino.
  7. Váriasmaneiras de conectarosseusaparelhosaoarduino.
  8. Váriasmaneiras de conectarosseusaparelhosaoarduino.
  9. Váriasmaneiras de conectarosseusaparelhosaoarduino.