41
Globalcode – Open4education Trilha – Arduino Marco Antonio Maciel .

O Aduino ama a Internet - TDC 2012

Embed Size (px)

DESCRIPTION

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:

Citation preview

Page 1: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Trilha – ArduinoMarco Antonio Maciel

.

Page 2: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

O Arduino ama a InternetDe várias maneiras

.

Page 3: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Agenda

Arduino

Como conectar à Internet

Integrando os mundos

Como começar

DEMO

Page 4: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Quem sou eu?

@marcomaciel

http://mmaciel.com.br

http://ArduInRio.cc

Page 5: O Aduino ama a Internet - TDC 2012

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.

Page 6: O Aduino ama a Internet - TDC 2012

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

Page 7: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

“Falando” com Arduino

Comunicação Serial

# Java

# Ruby

# Python

# .NET

# VB

# Delphi

# Objective-C

# C/C++

Etc. etc. etc..

Page 8: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Hello world

Page 9: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Hello world

Page 10: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

What’s so funny?

off-line sux!

Page 11: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Page 12: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Integrar com a Internet !

Como faz ?

Page 13: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Como conectar à Internet?

Ligado a um computadorUSB

Bluetooth

Ethernet Shield

Wifi Shield

Page 14: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Page 15: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

</xml>

#text

Page 16: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

</xml>

#text

Page 17: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

</xml>

#text

Page 18: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

</xml> #text

Page 19: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

</xml> #text

Page 20: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

</xml> #text

Page 21: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Internet

. Java

. PHP

. Python

. C#

. Java

. Ruby

. Python

. C++

. VB

. Delphi

. Wiring (C / C++)

Page 22: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Internet

. Java

. PHP

. Python

. C#

. Wiring (C / C++)

Page 23: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Comunicação remota

JavaPythonPHP

Page 24: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Java

Servlet para gravar a mensagemString mensagem = req.getParameter("mensagem");ServletContext sc = getServletContext();sc.setAttribute("mensagem", mensagem);resp.sendRedirect("index.jsp");

Page 25: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Java

Servlet para gravar a mensagemString mensagem = req.getParameter("mensagem");ServletContext sc = getServletContext();sc.setAttribute("mensagem", mensagem);resp.sendRedirect("index.jsp");

Servlet para ler a mensagemServletContext 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", "");

Page 26: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Python (Flask)

Método para gravar a [email protected]('/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 [email protected]('/obtem_mensagem')def obtem_mensagem():

mensagem = read_msg() write_msg('')

return mensagem

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

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

Page 27: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Python (Flask)

Método para gravar a [email protected]('/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 [email protected]('/obtem_mensagem')def obtem_mensagem():

mensagem = read_msg() write_msg('')

return mensagem

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

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

Page 28: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Python (Flask)

Método para gravar a [email protected]('/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 [email protected]('/obtem_mensagem')def obtem_mensagem():

mensagem = read_msg() write_msg('')

return mensagem

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

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

Page 29: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

PHP

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

Page 30: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

PHP

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

#application.class.php

http://tinyurl.com/GlobalVarsInPhp

Page 31: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

PHP

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

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

#application.class.php

http://tinyurl.com/GlobalVarsInPhp

Page 32: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Comunicação local

JavaPythonRuby

Page 33: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Java

Jar RXTX (http://rxtx.qbang.org)

Page 34: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Java

Jar RXTX (http://rxtx.qbang.org)

Page 35: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Ruby

gem serialport (http://ruby-serialport.rubyforge.org/)

Page 36: O Aduino ama a Internet - TDC 2012

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

Page 37: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Python

modulo pySerial (http://pyserial.sourceforge.net)

Page 38: O Aduino ama a Internet - TDC 2012

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()

Page 39: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

Programa Arduino

Lê porta serial e aciona comando

Page 40: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

DEMOs

Page 41: O Aduino ama a Internet - TDC 2012

Globalcode – Open4education

OBRIGADO

@marcomaciel

http://mmaciel.com.br

http://ArduInRio.cc