Upload
marcochella
View
528
Download
1
Embed Size (px)
Citation preview
Minicurso:Internet das Coisas utilizando linguagem JavaScript
Prof. Dr. Marco Túlio ChellaDCOMP/UFS
IV Simpósio Brasileiro de Tecnologia da Informação – SBTI outubro/2015
Minicurso:Internet das Coisas utilizando linguagem JavaScriptSobre:• Visão geral e conceitos (IOT, M2M)• Suporte Tecnológico • Pesquisas e Produtos (Corporações e Academia)• Fazendo IOT• HTML, Javascript • Javascript no Servidor• Integração com hardware
• Pespectivas
Minicurso – IOT com JavascriptVisão geral e conceitos (IOT, M2M)
IOT (Internet of Things)Termo proposto por Kevin Ashton em 1999Expectativa de oferecer conectividade avançada a dispositivos, sistemas e serviços.
Minicurso – IOT com JavascriptVisão geral e conceitos (IOT, M2M)
IOT (Internet of Things)Ampliar o conceito de M2M ( Machine to Machine)Comunicação entre máquinas
Minicurso – IOT com JavascriptVisão geral e conceitos (IOT, M2M)
IOT (Internet of Things)Ampliar o conceito de M2M ( Machine to Machine)Comunicação entre máquinas
Minicurso – IOT com JavascriptVisão geral e conceitos (IOT, M2M)
IOT (Internet of Things)Ampliar o conceito de M2M ( Machine to Machine)Comunicação entre máquinas
Minicurso – IOT com JavascriptVisão geral e conceitos (IOT, M2M)
IOT (Internet of Things)Ampliar o conceito de M2M ( Machine to Machine)Comunicação entre máquinas
Fitbit
Minicurso – IOT com JavascriptVisão geral e conceitos (IOT, M2M)IOT (Internet of Things)Ampliar o conceito de M2M ( Machine to Machine)
Minicurso – IOT com JavascriptVisão geral e conceitos (IOT, M2M)Como: Lei de Moore“Número de transistores nos circuitos dobra a cada 2 anos”
Minicurso – IOT com JavascriptVisão geral e conceitos (IOT, M2M)Como: Lei de Moore “Número de transistores nos circuitos dobra a cada 2 anos”
Minicurso – IOT com JavascriptVisão geral e conceitos (IOT, M2M)IOT Visão I
• Pilha TCP em software• Processador de propósito geral• Interface Controlador Lógico programável
Minicurso – IOT com JavascriptVisão geral e conceitos (IOT, M2M)IOT Visão II
• Pilha TCP em hardware• SOC (processador memória e periféricos)
Minicurso – IOT com JavascriptVisão geral e conceitos (IOT, M2M)IOT Visão II
SOC (System On Chip)Pilha TCP em hardware
Minicurso – IOT com JavascriptVisão geral e conceitos (IOT, M2M)Plataformas para desenvolvimento
SOC (System On Chip)
Alimentação e regulação
periféricos comunicaçãoToolchain
Minicurso – IOT com JavascriptVisão geral e conceitos (IOT, M2M)Plataformas para desenvolvimento: Arduino
• Baixo Custo• Facilidade para desenvolvimento• Suporte por comunidade • Open Hardware e Software
Minicurso – IOT com JavascriptVisão geral e conceitos (IOT, M2M)Plataformas para desenvolvimento: Arduino
ESP8266
Minicurso – IOT com JavascriptVisão geral e conceitos (IOT, M2M)Plataformas para desenvolvimento: Arduino
ESP8266• WIFI• Pilha TCP• Core ARM 32 bits• Periféricos (ADC , Digital)• Toolchain (Lua, C++, Python)
Minicurso – IOT com JavascriptPesquisas e Produtos (Corporações e Academia)
Smart Cities platform from Libelium
Minicurso – IOT com JavascriptJavascript no Cliente
Linguagem de programação baseada em objetos e em funções de primeira classe.
Popular como linguagem de script para WEB
Multi-paradigma: orientação a objetos, imperativa e funcional
Padronizada por ECMAScript
Minicurso – IOT com JavascriptJavascript no Cliente
Páginas WEB e aplicações WEB
HTML define estrutura e conteúdo
Minicurso – IOT com JavascriptJavascript no Cliente
Páginas WEB e aplicações WEB
CSS (Cascading Style Sheets) define o formato e aparência
Minicurso – IOT com JavascriptJavascript no Cliente
Páginas WEB e aplicações WEB
Javascript adiciona interatividade
Minicurso – IOT com JavascriptJavascript no Cliente
Páginas WEB e aplicações WEB
Javascript adiciona interatividadeHTML DOM (Document Object Model)
Minicurso – IOT com JavascriptJavascript no Cliente
Páginas WEB e aplicações WEBJavascript adiciona interatividade: HTML DOMPágina ao ser carregada cria Document Object Model
Javascript pode manipular cada elemento ( Mudar, remover, criar , reagir )
Minicurso – IOT com JavascriptJavascript no ClientePáginas WEB e aplicações WEBJavascript adiciona interatividade: HTML DOM
Minicurso – IOT com JavascriptJavascript no ClientePáginas WEB e aplicações WEBDesenvolver HTML , Javascript, CSS
codepen.io
Alternativas:
Minicurso – IOT com JavascriptJavascript no ClienteHTML5:Novos elementos, atributos e comportamentosExtenso conjunto de tecnologias que habilitam a implementação de aplicações e websites com mais e poderosos recursos
• Semântica• Conectividade• Armazenamento• Multimidia• Gráfico 2D e 3D• Acesso ao hardware do dispositivo• Estilo
Minicurso – IOT com JavascriptJavascript no servidor
Javascript runtime baseado no V8 engine javascript desenvolvido pelo Google e utilizado no navegador Chrome
Minicurso – IOT com JavascriptJavascript no servidor
Modelo baseado em event-driven e non-blocking I/OEcosistema de bibliotecas npm
Minicurso – IOT com JavascriptJavascript no servidor
lightweight and efficient
Fonte: Google I/O 2012 (http://v8-io12.appspot.com/#1)
Minicurso – IOT com JavascriptJavascript no servidor
lightweight and efficient Servidor WEB em 4 linhas de código
Minicurso – IOT com JavascriptJavascript no servidor
Primeiros passos:Disponível para as principais plataformas
Minicurso – IOT com JavascriptJavascript no servidor
Primeiros passos:Executar em servidor na nuvemPAAS (Platform as a Service)
Minicurso – IOT com Javascript Servidor RESTful
RESTful Web ServicesREST - Representational State TransferRESTful – serviço baseado em REST
Elementos:• Representations• Messages• URIs (Uniform Resource Identifier)• Uniform interface• Stateless• Links between resources• Caching
Minicurso – IOT com Javascript Servidor RESTful
RESTful Web ServicesREST - Representational State TransferRESTful – serviço baseado em REST
recurso parâmetro
Minicurso – IOT com Javascript Servidor RESTful: Modelos
Navegador (cliente)Cliente (hardware)
Servidor (nuvem)
Minicurso – IOT com Javascript Servidor RESTful: Modelos
Navegador (cliente)Cliente (hardware)
Servidor (nuvem)
ler_valor_adcenviar_valor_adc/324
Minicurso – IOT com Javascript Servidor RESTful: Modelos
Navegador (cliente)Cliente (hardware)
Servidor (nuvem)
enviar_comando_led/ligarler_comando_led
Minicurso – IOT com JavascriptJavascript e HTML : AJAXAsynchronous Javascript and XML (XML não obrigatório)