O Aduino ama a Internet - TDC 2012

1,729 views

Published on

Palestra apresentada no TDC 2012 na trilha de Arduino.

O Arduino é uma plataforma bem legal, eu sei. Mas só fazer led piscar não é muito empolgante, concordam?
Então que tal aprender como integrar o seu Arduino com a Internet?

Hoje em dia projeto off-line sux. Vou demonstrar algumas maneiras (simples e complexas) de integrar sua plaquinnha com a Internet usando as principais liguagens de programação livres do mercado, como Java, Python e Ruby.

Sim! Com demonstração ;)

App de teste: http://turn-me-on.appspot.com/

Projeto no github:

Published in: Technology
3 Comments
0 Likes
Statistics
Notes
  • Be the first to like this

No Downloads
Views
Total views
1,729
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
48
Comments
3
Likes
0
Embeds 0
No embeds

No notes for slide
  • Atualmente dedica seu tempo para estudos de robótica e aplicativos móveis usando plataformas livres.
  • 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
  • Robóticaé a computaçãofísicamaisconhecida.Novo nome da mecatrônica.
  • Vmoscolocarumagraçanisso!
  • Váriasmaneiras de conectarosseusaparelhosaoarduino.
  • Váriasmaneiras de conectarosseusaparelhosaoarduino.
  • Váriasmaneiras de conectarosseusaparelhosaoarduino.
  • Váriasmaneiras de conectarosseusaparelhosaoarduino.
  • Váriasmaneiras de conectarosseusaparelhosaoarduino.
  • O Aduino ama a Internet - TDC 2012

    1. 1. Trilha – Arduino Marco Antonio Maciel . Globalcode – Open4education
    2. 2. O Arduino ama a Internet De várias maneiras . Globalcode – Open4education
    3. 3. Agenda Arduino Como conectar à Internet Integrando os mundos Como começar DEMO Globalcode – Open4education
    4. 4. Quem sou eu? @marcomaciel http://mmaciel.com.br http://ArduInRio.cc Globalcode – Open4education
    5. 5. Arduino Criado por Massimo Banzi. Plataforma open source (hardware e software).Projeto simples, popular eacessível com eletrônica eprogramação embarcada de altonível. Globalcode – Open4education
    6. 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. 7. “Falando” com Arduino Comunicação Serial# Java # VB# Ruby # Delphi# Python # Objective-C# .NET # C/C++ Etc. etc. etc.. Globalcode – Open4education
    8. 8. Hello world Globalcode – Open4education
    9. 9. Hello world Globalcode – Open4education
    10. 10. What’s so funny? off-line sux! Globalcode – Open4education
    11. 11. Globalcode – Open4education
    12. 12. Integrar com a Internet ! Como faz ? Globalcode – Open4education
    13. 13. Como conectar à Internet? Ligado a um computador USB Bluetooth Ethernet Shield Wifi Shield Globalcode – Open4education
    14. 14. Globalcode – Open4education
    15. 15. </xml>#text Globalcode – Open4education
    16. 16. </xml>#text Globalcode – Open4education
    17. 17. </xml>#text Globalcode – Open4education
    18. 18. </xml> #text Globalcode – Open4education
    19. 19. </xml> #text Globalcode – Open4education
    20. 20. </xml> #text Globalcode – Open4education
    21. 21. . Java. PHP Internet. Python. C# . Java . Ruby . Python . C++ . VB . Delphi . Wiring (C / C++) Globalcode – Open4education
    22. 22. . Java. PHP Internet. Python. C# . Wiring (C / C++) Globalcode – Open4education
    23. 23. Comunicação remota Java Python PHP Globalcode – Open4education
    24. 24. JavaServlet para gravar a mensagem String mensagem = req.getParameter("mensagem"); ServletContext sc = getServletContext(); sc.setAttribute("mensagem", mensagem); resp.sendRedirect("index.jsp"); Globalcode – Open4education
    25. 25. JavaServlet 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. 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 mensagemMé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. 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 mensagemMé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. 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 mensagemMé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. 29. PHPPrograma para gravar a mensagem <?php require_once("application.class.php"); $mensagem = $_POST[mensagem]; Application::setVar("mensagem",$mensagem); $redirect = "./"; header("location:$redirect”) ?> Globalcode – Open4education
    30. 30. PHPPrograma 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. 31. PHPPrograma 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. 32. Comunicação local Java Python Ruby Globalcode – Open4education
    33. 33. Java Jar RXTX (http://rxtx.qbang.org) Globalcode – Open4education
    34. 34. Java Jar RXTX (http://rxtx.qbang.org) Globalcode – Open4education
    35. 35. Ruby gem serialport (http://ruby-serialport.rubyforge.org/) Globalcode – Open4education
    36. 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. 37. Python modulo pySerial (http://pyserial.sourceforge.net) Globalcode – Open4education
    38. 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. 39. Programa Arduino Lê porta serial e aciona comando Globalcode – Open4education
    40. 40. DEMOs Globalcode – Open4education
    41. 41. OBRIGADO @marcomaciel http://mmaciel.com.br http://ArduInRio.cc Globalcode – Open4education

    ×