arduino, robótica e computação nas nuvens

70
Robótica e Computação nas Nuvens: Unindo os dois mundos

Upload: marco-antonio-maciel

Post on 31-May-2015

9.903 views

Category:

Technology


0 download

DESCRIPTION

Palestra do FISL 12 e no TDC 2011. Mais informações em: http://www.mmaciel.com.br/2011/07/02/robotica-e-computacao-nas-nuven/ A proposta é demonstrar o uso do Google App Engine como plataforma de integração com soluções de eletrônica e automação criadas com o Arduino. As duas plataformas são open-source (software e hardware), e podem ser utilizadas por qualquer desenvolvedor para criar protótipos ou até mesmo desenvolver soluções de baixo custo inicial que podem ser facilmente mantidas e escaladas. Apresentarei brevemente o potencial das duas plataformas e logo após demonstrarei uma solução de automação controlada pela internet que as utiliza de forma integrada. Imagine: programação, eletrônica, internet e robótica. Juntos! Para finalizar demonstrarei como dar os primeiros passos no estudo e desenvolvimento dessas tecnologias, e falar das comunidades e das oportunidades de um mercado que pode ser explorado por um profissional com esse conhecimento, como programação, automação, domótica, ensino, etc..

TRANSCRIPT

Page 1: Arduino, Robótica e Computação nas Nuvens

Robótica e Computação nas Nuvens: Unindo os dois mundos

Page 2: Arduino, Robótica e Computação nas Nuvens

Quem sou eu?

Marco Antonio Maciel

Page 3: Arduino, Robótica e Computação nas Nuvens

Quem sou eu?

Marco Antonio Maciel

Page 4: Arduino, Robótica e Computação nas Nuvens

Quem sou eu?

Marco Antonio Maciel

Page 5: Arduino, Robótica e Computação nas Nuvens

Quem sou eu?

Marco Antonio Maciel

Page 6: Arduino, Robótica e Computação nas Nuvens

Quem sou eu?

• Sou profissional de TI há 15 anos.• Trabalhei com com Clipper, VB, Delphi, ASP, Java.• Bancos de dados (SQL-Server, PostgreSQL, Oracle,

SyBase). • E alguns bandos de dados (dBase, Paradox, Access)

rsrsrs • Sou membro do grupo @ArduInRio. • Não sou especialista, sou mais um generalista• Pai de duas filhas lindas, e casado.• Cinema, caminhada e moto :(

Page 7: Arduino, Robótica e Computação nas Nuvens

Quem sou eu?

@marcomaciel

http://mmaciel.com.brhttp://mmaciel.com.br/sobre

http://ArduInRio.cc

Page 8: Arduino, Robótica e Computação nas Nuvens

Agenda

• Computação Física / Arduino• Computação na Nuvens• Integrando os mundos• Cases• Oportunidades• Como começar• DEMO

Page 9: Arduino, Robótica e Computação nas Nuvens

Computação Física

• Interface entre mundo real e o mundo digital.• Constroi soluções digitais de computação que

interagem com a realidade física.– Luminosidade;– Umidade;– Presença;– Temperatura– etc..

Page 10: Arduino, Robótica e Computação nas Nuvens
Page 11: Arduino, Robótica e Computação nas Nuvens
Page 12: Arduino, Robótica e Computação nas Nuvens

Arduino

• Criado pelo 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 13: Arduino, Robótica e Computação nas Nuvens

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 14: Arduino, Robótica e Computação nas Nuvens

Arduino Code

Page 15: Arduino, Robótica e Computação nas Nuvens

Arduino Code

Page 16: Arduino, Robótica e Computação nas Nuvens

Arduino Code

Page 17: Arduino, Robótica e Computação nas Nuvens

Arduino

Page 18: Arduino, Robótica e Computação nas Nuvens
Page 19: Arduino, Robótica e Computação nas Nuvens

Shields

Page 20: Arduino, Robótica e Computação nas Nuvens

http://shieldlist.org

Page 21: Arduino, Robótica e Computação nas Nuvens

“Falando” com Arduino

• Comunicação Serial.

# Java# Ruby# Python# .NET# C/C++

# VB# Delphi# Objective-C# ProcessingEtc. etc. etc..

Page 22: Arduino, Robótica e Computação nas Nuvens
Page 23: Arduino, Robótica e Computação nas Nuvens
Page 24: Arduino, Robótica e Computação nas Nuvens

Que tal integrar com a Internet?

Page 25: Arduino, Robótica e Computação nas Nuvens

Todo

mun

do e

stá

cone

ctad

o!

Page 26: Arduino, Robótica e Computação nas Nuvens

Computação na Nuvem

Page 27: Arduino, Robótica e Computação nas Nuvens

Computação na Nuvem

• Software as a Service (SaaS)– Google– Salesforce.com– MS Office Live– Lotus Live

Page 28: Arduino, Robótica e Computação nas Nuvens

Computação na Nuvem

• Software as a Service (SaaS)– Google– Salesforce.com– MS Office Live– Lotus Live

• Infrastructure as a Service (IaaS)– Amazon (S3)– Google– IBM (Blue Cloud)

Page 29: Arduino, Robótica e Computação nas Nuvens

Computação na Nuvem

• Software as a Service (SaaS)– Google– Salesforce.com– MS Office Live– Lotus Live

• Infrastructure as a Service (IaaS)– Amazon (S3)– Google– IBM (Blue Cloud)

• Platform as a Service (PaaS)

Page 30: Arduino, Robótica e Computação nas Nuvens

Plataform as a Service

• Ambiente completo:– Desenvolvimento,– Teste,– Deploy,– Integração com o time de desenvolvimento.

• Facilidade de deploy;• Baixo custo;• Recursos prontos (BD, segurança, integração)• Escalável;• Versionamento de aplicações;

Page 31: Arduino, Robótica e Computação nas Nuvens

Plataform as a Service

Beanstalck

Page 32: Arduino, Robótica e Computação nas Nuvens

Plataform as a Service

Beanstalck

Page 33: Arduino, Robótica e Computação nas Nuvens

Google App Engine

Easy to build, manage e scale.

Page 34: Arduino, Robótica e Computação nas Nuvens

Google App Engine (GAE)

• Permite que você rode suas web apps na infraestrutura do Google;

• Java, Python, Go*, Ruby, Scala...

Page 35: Arduino, Robótica e Computação nas Nuvens

Por que GAE?

• Grande variedade de APIs;• SDK Completo para desenvolvimento local;• Fácil de fazer cloud deploy;• Escalabilidade;• Ferramenta de administração e diagnóstico;• Grátis*

Page 36: Arduino, Robótica e Computação nas Nuvens

Por que GAE?

• Fazer tudo é caro;• Manter tudo é caro;• Pronto para crescer;

Page 37: Arduino, Robótica e Computação nas Nuvens

Misturando tudo

Page 38: Arduino, Robótica e Computação nas Nuvens
Page 39: Arduino, Robótica e Computação nas Nuvens
Page 40: Arduino, Robótica e Computação nas Nuvens
Page 41: Arduino, Robótica e Computação nas Nuvens
Page 42: Arduino, Robótica e Computação nas Nuvens
Page 43: Arduino, Robótica e Computação nas Nuvens
Page 44: Arduino, Robótica e Computação nas Nuvens
Page 45: Arduino, Robótica e Computação nas Nuvens
Page 46: Arduino, Robótica e Computação nas Nuvens

Some <Code/>

Page 47: Arduino, Robótica e Computação nas Nuvens

JSP/HTML

GravaDadosContext

Page 48: Arduino, Robótica e Computação nas Nuvens

JSP/HTML

GravaDadosContext

ExibeDadosJson

{ "dados": {

"tomada": 0, "cafe": 1

}}

Page 49: Arduino, Robótica e Computação nas Nuvens

ObtemJSON

EnviaMensagemParaArduino

Page 50: Arduino, Robótica e Computação nas Nuvens

LeSerialAcionaComando

FuncoesLigaEDesliga

Page 51: Arduino, Robótica e Computação nas Nuvens

Já está rolando por aí!

Page 52: Arduino, Robótica e Computação nas Nuvens
Page 53: Arduino, Robótica e Computação nas Nuvens

> http://api.thingspeak.com/channels/(channel_id)/feed/last.json

> {"created_at":"","entry_id":(entry_id)"field1":"”,"field2":"”,"field3":"" }

<iframe width="450" height="250" style="border: 1px solid #cccccc;" src="https://api.thingspeak.com/channels/3/charts/1?round=2&average=60"></iframe>

Page 54: Arduino, Robótica e Computação nas Nuvens
Page 55: Arduino, Robótica e Computação nas Nuvens

> =ImportData("http://app.nimbits.com/service/currentvalue? point=TempF&format=double&[email protected]")

Page 56: Arduino, Robótica e Computação nas Nuvens

Aplicações

• Automação residencial;• Robótica;• Saúde e medicina;• Educação;• Trabalhos artísticos;• Agronegócio;• Móveis interativos;• Entretenimento;• ...

Page 57: Arduino, Robótica e Computação nas Nuvens

Automação Residencial

Page 58: Arduino, Robótica e Computação nas Nuvens

Arte

Page 59: Arduino, Robótica e Computação nas Nuvens

Mobilia

Page 60: Arduino, Robótica e Computação nas Nuvens
Page 61: Arduino, Robótica e Computação nas Nuvens

Games

Page 62: Arduino, Robótica e Computação nas Nuvens

Android@Home

Page 63: Arduino, Robótica e Computação nas Nuvens

Por onde começar?

• Site Oficial– http://code.google.com/appengine/

• Comunidade– http://www.sp-gtug.org/

• Livro– www.rominirani.com/gaej-experiments-ebook/

Page 64: Arduino, Robótica e Computação nas Nuvens

Por onde começar?

• Comunidades– ArduInRio (http://ArduInRio.cc)– www.labdegaragem.com

• Sites– blog.eletronlivre.com.br– www.lusorobotica.com– www.arduino.cc

• Forum– Arduino Oficial (www.arduino.cc/forum/)

Page 65: Arduino, Robótica e Computação nas Nuvens

Por onde começar?

• Cursos– www.cursodearduino.com.br– www.globalcode.com.br

Page 66: Arduino, Robótica e Computação nas Nuvens

Compras Internacionais

Page 67: Arduino, Robótica e Computação nas Nuvens

Compras Nacionais

Page 68: Arduino, Robótica e Computação nas Nuvens

Compras

Rua República do Líbano - Rio de Janeiro

Rua Santa Efigênia - São Paulo

Page 69: Arduino, Robótica e Computação nas Nuvens

DEMO

Page 70: Arduino, Robótica e Computação nas Nuvens

OBRIGADO

@marcomaciel

http://mmaciel.com.brhttp://mmaciel.com.br/sobre

http://ArduInRio.cc