Este minicurso apresenta como desenvolver aplicações para Internet das Coisas (IoT) utilizando a linguagem JavaScript. O minicurso aborda conceitos de IoT, plataformas como Arduino e ESP8266, desenvolvimento de aplicações web com JavaScript no cliente e no servidor, integração com hardware e comunicação RESTful.
Nessa apresentação, Caio tentará passar um pouco do seu conhecimento adquirido em sua carreira. Interagir com diferentes profissionais, participar de diferentes projetos e também mesclando a vida pessoal e profissional, aprendeu uma perspectiva diferente do que é ser desenvolvedor Front-End e o conhecimento necessário para tal.
O que é Desenvolvimento Mobile Web
• O PHP no mundo Mobile
• Integração Gateway (Envio de SMS)
• Qr Code
• Identificando o dispositivo móvel e seus recursos
• Construindo um site em versão Mobile
• Do Zero
• A partir de um CMS (Wordpress, Joomla e Drupal)
"Desenvolvimento Mobile Web é desenvolver uma aplicação que seja viável o seu acesso via internet de um dispositivo móvel."
"Desenvolvimento Mobile Web é um novo conceito, pois envolve uma nova demanda de mercado, novas regras e ferramentas para o tradicional desenvolvimento web."
Palestra ministrada no CONAPHP/CONISLI de 2008 explicando como funciona o padrão de arquitetura Model-View-Controller, em PHP, sem uso de frameworks. É tambem analisada a integração deste com AJAX, de forma simples.
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
Interface de Usuário também é coisa de Programador, o objetivo deste treinamento é vivenciar um ambiente de desenvolvimento empregando estas tecnologias, abordando conceitos de testes unitários, integrados, padrões e boas práticas de desenvolvimento
Nessa apresentação, Caio tentará passar um pouco do seu conhecimento adquirido em sua carreira. Interagir com diferentes profissionais, participar de diferentes projetos e também mesclando a vida pessoal e profissional, aprendeu uma perspectiva diferente do que é ser desenvolvedor Front-End e o conhecimento necessário para tal.
O que é Desenvolvimento Mobile Web
• O PHP no mundo Mobile
• Integração Gateway (Envio de SMS)
• Qr Code
• Identificando o dispositivo móvel e seus recursos
• Construindo um site em versão Mobile
• Do Zero
• A partir de um CMS (Wordpress, Joomla e Drupal)
"Desenvolvimento Mobile Web é desenvolver uma aplicação que seja viável o seu acesso via internet de um dispositivo móvel."
"Desenvolvimento Mobile Web é um novo conceito, pois envolve uma nova demanda de mercado, novas regras e ferramentas para o tradicional desenvolvimento web."
Palestra ministrada no CONAPHP/CONISLI de 2008 explicando como funciona o padrão de arquitetura Model-View-Controller, em PHP, sem uso de frameworks. É tambem analisada a integração deste com AJAX, de forma simples.
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
Interface de Usuário também é coisa de Programador, o objetivo deste treinamento é vivenciar um ambiente de desenvolvimento empregando estas tecnologias, abordando conceitos de testes unitários, integrados, padrões e boas práticas de desenvolvimento
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuaisWilliam Oliveira
Palestra apresentada no FEMUG-ABC com o intuito de convencer os desenvolvedores da necessidade de se aprender/estudar JavaScript e como se adequar ao mercado de trabalho atual.
Versão original com anotações, links importantes e os gifs legais: https://docs.google.com/presentation/d/15St9PXpif87PIqWnIuP3Xfr-kOPJvnssWIt_cLpnoRI/edit?usp=sharing
Desenvolvimento em Três Camadas com PHP, MVC e AJAXManuel Lemos
Palestra dada por Almir Neto e Otávio Calaça no CONAPHP 2008 - Congresso Nacional de PHP que ocorreu em São Paulo nos dias 18 e 19 de Outubro dentro do CONISLI 2008
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGapThiago Colares
Visão geral sobre HTML5, AngularJS e PhoneGap. E como combinar essas e outras ferramentas para criar aplicativos híbridos e multiplataformas. Aplicativos móveis híbridos são aplicativos nativos que empacotam aplicações web e oferecem a elas APIs dos dispositivos. Palestra apresentada no I WSORT, workshop do GSORT, no IFBA (Instituto Federal da Bahia).
Introdução a linguagem JavaScript desvendando a história e as principais características da linguagem.
Assista a série Desvendando a linguagem JavaScript no meu canal no YouTube: https://www.youtube.com/user/rodrigobranas/videos
JavaScript e o perfil do desenvolvedor front end das atualidades mais atuaisWilliam Oliveira
Palestra apresentada no FEMUG-ABC com o intuito de convencer os desenvolvedores da necessidade de se aprender/estudar JavaScript e como se adequar ao mercado de trabalho atual.
Versão original com anotações, links importantes e os gifs legais: https://docs.google.com/presentation/d/15St9PXpif87PIqWnIuP3Xfr-kOPJvnssWIt_cLpnoRI/edit?usp=sharing
Desenvolvimento em Três Camadas com PHP, MVC e AJAXManuel Lemos
Palestra dada por Almir Neto e Otávio Calaça no CONAPHP 2008 - Congresso Nacional de PHP que ocorreu em São Paulo nos dias 18 e 19 de Outubro dentro do CONISLI 2008
Aplicações Híbridas para Dispositivos Móveis com AngularJS e PhoneGapThiago Colares
Visão geral sobre HTML5, AngularJS e PhoneGap. E como combinar essas e outras ferramentas para criar aplicativos híbridos e multiplataformas. Aplicativos móveis híbridos são aplicativos nativos que empacotam aplicações web e oferecem a elas APIs dos dispositivos. Palestra apresentada no I WSORT, workshop do GSORT, no IFBA (Instituto Federal da Bahia).
Introdução a linguagem JavaScript desvendando a história e as principais características da linguagem.
Assista a série Desvendando a linguagem JavaScript no meu canal no YouTube: https://www.youtube.com/user/rodrigobranas/videos
TDC2015 - Internet das Coisas - OpenDeviceRicardo Rufino
Slides da apresentação no TDC2015 Florianópolis
Open IoT (Internet Of Things) Platform and Framework.
Conectando coisas com Arduino/Raspberry/Andoird/Java usando OpenDevice
Trabalho sobre Tecnologias Java para Sockets apresentado a disciplina de Sistemas Distribuídos do curso de Bacharelado em Sistemas de Informação do Ifes (Campus Serra);
Slide: http://pt.slideshare.net/lucascsoliveira/tecnologia-java-para-sockets
Código: https://github.com/lucascsoliveira/tutorial-websocket
e-Book Web Analytics Uma Visão Brasileira - 2a. ediçãoLeonardo Naressi
Ebook Colaborativo do Grupo de Discussão brasileiro WebAnalytics_Brasil.
Prefácio por Eric Peterson
Autores: Ruy Carneiro, Fabio Figueiredo, Gerson Ribeiro, Douglas Tokuno, André Fatala, Clecia Simões, Juliana Varnum, Marcos Giuntini,
Celso Hora, Gustavo Loureiro, André Folli, Leonardo Naressi, Vinicius Tsugi, Miguel Dorneles, Priscila Gonçalves e Rodrigo de Freitas Vale.
QCon Rio 2015 - IoT é muito mais que hardware conectado: explorando arquitetu...Jorge Maia
Apresentação feita no QCon Rio 2015. (www.qconrio.com)
Um dispositivo, mesmo conectado à nuvem, pode não tirar proveito total do potencial da Internet das Coisas. Ao projetar um dispositivo IoT, deve-se considerar vários aspectos: entre eles o hardware em si, o software embarcado, o protocolo e o meio de comunicação – além do serviço que recebe dados e faz análises, possibilitando aprendizado e predição. É também necessário exercitar um trade-off, pois muita inteligência no hardware pode gerar maior custo de desenvolvimento e produção; já uma carga maior na nuvem torna o produto mais “burro” mas simplifica seu ciclo de vida de produção.
Nesta apresentação, será mostrada uma proposta de arquitetura para um dispositivo IoT, desde sua conectividade até a análise de dados – passando pelo equilíbrio entre inteligência de hardware e carga de dados na nuvem. Apresentaremos o MQTT, um protocolo leve e extremamente aderente a esse contexto, onde um concentrador atua como intermediário entre os dispositivos locais e a nuvem. Temas como plataformas de desenvolvimento de hardware, linguagens, padronização, protocolos e mercado também serão discutidos, dentro do contexto IoT.
Expondo APIs de back-ends legados e travadosFábio Rosato
Sistemas legados podem ser muito complexos e travados em capacidade de evolução rápida e conectividade. Com a necessidade de inovação e digitalização dos negócios, grandes empresas estão enxergando uma camada de APIs como forma de destravar back-ends legados – com objetivo de trazer flexibilidade de arquitetura. As APIs funcionam como catalisador dessa estratégia.
Nesta apresentação, vamos mergulhar em padrões de design e técnicas para exposição de APIs a partir de sistemas complexos. Entre os temas cobertos:
- Estratégias de design para a definição das APIs com vantagens e desvantagens de cada uma das abordagens;
Como atacar questões de diversidade de protocolos de acesso aos back-ends;
- Formas de lidar com as limitações e inflexibilidades do back-end legado;
- Como implementar o pattern API Facade na prática;
- Como uma camada de API Gateway pode ser utilizada na composição da arquitetura, aumentando a flexibilidade;
- Exposição de APIs a partir de sistemas mainframe;
- Como solucionar problemas arquiteturais como logging, exceções e monitoramento;
- Como conduzir a operação e evolução de APIs nesta abordagem.
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Tiago Marchetti Dolphine
Microservices é um estilo arquitetural que têm revolucionado o desenvolvimento de aplicações através de pequenos serviços, desacoplados e com foco em executar uma tarefa específica comunicando-se através de Web APis ou mensagens assíncronas. Nesta palestra será apresentado como microservices é capaz de solucionar seus problemas no desenvolvimento de sistemas robustos e escaláveis. Serão abordadas as principais características deste paradigma, quais as vantagens e desvantagens em comparação a arquiteturas monolíticas, exemplos e situações de uso.
Apenas monitorar a infraestrutura não é o bastante, com as modernas arquiteturas de software e a necessidade de rápida entregas de software, começaram a exigir uma monitoria inteligente. Partindo do paper do Google apresentando o Borg iremos abordar os benefícios e técnicas para identificação de erros de forma granular traduzindo 0 e 1 para negócios.
Com histórico de métricas ?Time-series based?, alertas poderoso, bibliotecas de instrumentação em Java, Python, C#, Go, PHP, NodeJS, Erlang entre outros, apresentamos o Prometheus.io criado pela equipe do SoundCloud. O case é a implementação de nova equipe Site Reliability Engineering na estrutura de Operações de TI da B2W.
Onde nós estamos, como desenvolvedores Front-End? Esta apresentação navega por uma curta linha do tempo da ciência da computação, focando no desenvolvimento client-side para responder o porque e o que tem mudado, além de explorar padrões e tendências para o futuro próximo.
English version at: http://www.slideshare.net/Hugeinc/javascript-state-of-the-union-2015-english
Série de artigos: https://medium.com/@caiovaccaro/javascript-state-of-the-union-2015-parte-1-caa3f4257f3
* Palestra realizada no TDC 2020
Com as arquiteturas cada vez mais complexas e novas tecnologias surgindo, hoje se torna imprescindível utilização de filas, com processos sincronos e assincronos, e com isso torna-se cada vez mais difícil a realização dos testes. Vou falar e demonstrar como realizamos os testes em um projeto real que utilizamos a tecnologia do Apache Kafka na arquitetura da aplicação a ser testada.
Semelhante a Minicurso IOT com javascript - SBTI (20)
Controle de motor DC e sensor digital com Arduino em Cmarcochella
Demonstração da utilização de entradas digitais como sensores para controlar o sentido de rotação de motores DC no Arduino com firmware em C puro. Manipulação direta de portas e registradores.
Firmware:
https://gist.github.com/marcotchella/0e9d699e4a2642467403dbb5470eae9f
Sensor de distância Ultrasom com Arduinomarcochella
Demonstração da utilização do sensor para medir distância HC SR04 com firmware em C puro na plataforma Arduino.
Firmware:
https://gist.github.com/marcotchella/6f22409e0eb09ee48406b6aa546eb99e
Dados em tempo real com planilha do Google Docsmarcochella
Guia sobre como enviar dados em tempo real para uma planilha no Google Docs. É utilizado um Google app Script (javascript) para desenvolver um app que permite uma chamada no estilo REST para envio dos dados que pode ser pelo navegador ou em qualquer linguagem. É apresentado um exemplo em Python. Obtenha o código fonte e mais detalhes no blog: https://fazerlab.wordpress.com/
Exploração inicial da plataforma brasileira para Internet das Coisas Dojot. Um breve tutorial com a instalação, configuração e ensaios com criação de dispositivos e envio de dados. Para outras informações: fazerlab.wordpress.com
O módulo bluetooth HC-05 e compatíveis operam com alimentação e níveis lógicos de 3.3 Volts, portanto não pode ser ligado diretamente ao Arduino ou outros que operam com 5 Volts. Essa apresentação descreve as conexões para adaptar os sinais.
Detalhes:
http://wp.me/p67Df7-5l
Guia utilização e desenvolvimento de aplicação no PaaS c9.iomarcochella
Nesse guia é apresentado o ambiente de desenvolvimento do PaaS C9.io e a criação de script em nodejs. Veja o guia anterior que mostra a criação de uma conta gratuita no C9.io, a criação de um Workspace e como fazer os testes iniciais.
Obtenha mais informações em: https://goo.gl/m5lXmh
02 - Intel Galileo: Comunicação Telnet
Essa apresentação descreve como efetuar a comunicação Telnet utilizando conexão via ethernet
para acessar o console do Linux instalado na Intel Galileo
Código fonte:
http://goo.gl/HqRgDK
1. Minicurso:
Internet das Coisas utilizando linguagem JavaScript
Prof. Dr. Marco Túlio Chella
DCOMP/UFS
IV Simpósio Brasileiro de Tecnologia da Informação – SBTI
outubro/2015
2. Minicurso:
Internet das Coisas utilizando linguagem JavaScript
Sobre:
• 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
3. Minicurso – IOT com Javascript
Visão geral e conceitos (IOT, M2M)
IOT (Internet of Things)
Termo proposto por Kevin Ashton em 1999
Expectativa de oferecer conectividade avançada a
dispositivos, sistemas e serviços.
4. Minicurso – IOT com Javascript
Visão geral e conceitos (IOT, M2M)
IOT (Internet of Things)
Ampliar o conceito de M2M ( Machine to Machine)
Comunicação entre máquinas
5. Minicurso – IOT com Javascript
Visão geral e conceitos (IOT, M2M)
IOT (Internet of Things)
Ampliar o conceito de M2M ( Machine to Machine)
Comunicação entre máquinas
6. Minicurso – IOT com Javascript
Visão geral e conceitos (IOT, M2M)
IOT (Internet of Things)
Ampliar o conceito de M2M ( Machine to Machine)
Comunicação entre máquinas
7. Minicurso – IOT com Javascript
Visão geral e conceitos (IOT, M2M)
IOT (Internet of Things)
Ampliar o conceito de M2M ( Machine to Machine)
Comunicação entre máquinas
Fitbit
8. Minicurso – IOT com Javascript
Visão geral e conceitos (IOT, M2M)
IOT (Internet of Things)
Ampliar o conceito de M2M ( Machine to Machine)
9. Minicurso – IOT com Javascript
Visão geral e conceitos (IOT, M2M)
Como:
10. Minicurso – IOT com Javascript
Visão geral e conceitos (IOT, M2M)
Como: Lei de Moore
“Número de transistores nos circuitos dobra a cada 2
anos”
11. Minicurso – IOT com Javascript
Visão geral e conceitos (IOT, M2M)
Como: Lei de Moore
“Número de transistores nos circuitos dobra a cada 2
anos”
12. Minicurso – IOT com Javascript
Visã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
13. Minicurso – IOT com Javascript
Visão geral e conceitos (IOT, M2M)
IOT Visão II
• Pilha TCP em hardware
• SOC (processador memória e periféricos)
14. Minicurso – IOT com Javascript
Visão geral e conceitos (IOT, M2M)
IOT Visão II
SOC (System On Chip)
Pilha TCP em hardware
15. Minicurso – IOT com Javascript
Visão geral e conceitos (IOT, M2M)
Plataformas para desenvolvimento
SOC (System On Chip)
Alimentação e regulação
periféricos comunicação
Toolchain
16. Minicurso – IOT com Javascript
Visão geral e conceitos (IOT, M2M)
Plataformas para desenvolvimento
17. Minicurso – IOT com Javascript
Visão geral e conceitos (IOT, M2M)
Plataformas para desenvolvimento: Arduino
• Baixo Custo
• Facilidade para desenvolvimento
• Suporte por comunidade
• Open Hardware e Software
18. Minicurso – IOT com Javascript
Visão geral e conceitos (IOT, M2M)
Plataformas para desenvolvimento: Arduino
ESP8266
19. Minicurso – IOT com Javascript
Visã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)
20. Minicurso – IOT com Javascript
Pesquisas e Produtos (Corporações e Academia)
21. Minicurso – IOT com Javascript
Pesquisas e Produtos (Corporações e Academia)
Smart Cities platform from Libelium
22. Minicurso – IOT com Javascript
Pesquisas e Produtos (Corporações e Academia)
Amazon Dash
23. Minicurso – IOT com Javascript
Pesquisas e Produtos (Corporações e Academia)
Amazon Dash
24. Minicurso – IOT com Javascript
Pesquisas e Produtos (Corporações e Academia)
25. Minicurso – IOT com Javascript
Tecnologias acessíveis e com baixo custo
Momento de Fazer
26. Minicurso – IOT com Javascript
Javascript 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
27. Minicurso – IOT com Javascript
Javascript no Cliente
Páginas WEB e aplicações WEB
HTML define estrutura e conteúdo
28. Minicurso – IOT com Javascript
Javascript no Cliente
Páginas WEB e aplicações WEB
CSS (Cascading Style Sheets) define o formato e aparência
29. Minicurso – IOT com Javascript
Javascript no Cliente
Páginas WEB e aplicações WEB
Javascript adiciona interatividade
30. Minicurso – IOT com Javascript
Javascript no Cliente
Páginas WEB e aplicações WEB
Javascript adiciona interatividade
HTML DOM (Document Object Model)
31. Minicurso – IOT com Javascript
Javascript no Cliente
Páginas WEB e aplicações WEB
Javascript adiciona interatividade: HTML DOM
Página ao ser carregada cria Document Object Model
Javascript pode manipular cada elemento ( Mudar, remover, criar , reagir )
32. Minicurso – IOT com Javascript
Javascript no Cliente
Páginas WEB e aplicações WEB
Javascript adiciona interatividade: HTML DOM
33. Minicurso – IOT com Javascript
Javascript no Cliente
Páginas WEB e aplicações WEB
Desenvolver HTML , Javascript, CSS
codepen.io
Alternativas:
34. Minicurso – IOT com Javascript
Javascript no Cliente
HTML5:
Novos elementos, atributos e comportamentos
Extenso 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
35. Minicurso – IOT com Javascript
Javascript no servidor
Javascript runtime baseado no V8 engine javascript desenvolvido
pelo Google e utilizado no navegador Chrome
36. Minicurso – IOT com Javascript
Javascript no servidor
Modelo baseado em event-driven e non-blocking I/O
Ecosistema de bibliotecas npm
37. Minicurso – IOT com Javascript
Javascript no servidor
lightweight and efficient
Fonte: Google I/O 2012 (http://v8-io12.appspot.com/#1)
38. Minicurso – IOT com Javascript
Javascript no servidor
lightweight and efficient
Servidor WEB em 4 linhas de código
39. Minicurso – IOT com Javascript
Javascript no servidor
Primeiros passos:
Disponível para as principais plataformas
40. Minicurso – IOT com Javascript
Javascript no servidor
Primeiros passos:
Executar em servidor na nuvem
PAAS (Platform as a Service)
41. Minicurso – IOT com Javascript
Javascript no servidor
Primeiros passos:
+
42. Minicurso – IOT com Javascript
Javascript no servidor
Primeiros passos:
43. Minicurso – IOT com Javascript
Servidor RESTful
RESTful Web Services
REST - Representational State Transfer
RESTful – serviço baseado em REST
Elementos:
• Representations
• Messages
• URIs (Uniform Resource Identifier)
• Uniform interface
• Stateless
• Links between resources
• Caching
44. Minicurso – IOT com Javascript
Servidor RESTful
RESTful Web Services
REST - Representational State Transfer
RESTful – serviço baseado em REST
recurso parâmetro