SlideShare uma empresa Scribd logo
1 de 21
Node.jsNode.js para embarcadospara embarcados
Alan HoffmeisterAlan Hoffmeister
https://github.com/alanhoffhttps://github.com/alanhoff
https://twitter.com/alan_hoffhttps://twitter.com/alan_hoff
https://alanhoff.comhttps://alanhoff.com
1.1. Sistema embarcado?Sistema embarcado?
An embedded system is a computer systemAn embedded system is a computer system
with a dedicated function within a largerwith a dedicated function within a larger
mechanical or electrical system, often withmechanical or electrical system, often with
real-timereal-time computing constraints.computing constraints.
2.2. Características de um ESCaracterísticas de um ES
** Eficiência energéticaEficiência energética
** Tamanho de código reduzidoTamanho de código reduzido
** Runtime simplificadoRuntime simplificado
** Peso reduzidoPeso reduzido
** Preço reduzidoPreço reduzido
** Interface de usuário dedicadaInterface de usuário dedicada
3.3. Periféricos!Periféricos!
** Botões (teclado, controles..)Botões (teclado, controles..)
** Sensores, periféricosSensores, periféricos
** Tela, ledsTela, leds
** Motores, compassosMotores, compassos
** Wifi, bluetooth, rádioWifi, bluetooth, rádio
4.4. Aplicações – VeículosAplicações – Veículos
4.4. Aplicações – RobóticaAplicações – Robótica
4.4. Aplicações – Impressoras 3DAplicações – Impressoras 3D
4.4. Aplicações – DronesAplicações – Drones
4.4. Aplicações – IoTAplicações – IoT
4.4. Aplicações – MedicinaAplicações – Medicina
5.5. Para iniciar bastaPara iniciar basta
** Engenharia eletrônicaEngenharia eletrônica
** C/C++C/C++
** JavaJava
** PythonPython
** LuaLua
5.5. Consegui aprender tudoConsegui aprender tudo!!
6.6. Single Board ComputersSingle Board Computers
** Placas mais robustasPlacas mais robustas
** Matem as características de um sistemaMatem as características de um sistema
embarcadoembarcado
** Trás tudo junto: GPIO, proc., mem., net.,Trás tudo junto: GPIO, proc., mem., net.,
armazenamento...armazenamento...
** Um computador completoUm computador completo
** Um brinde à arquitetura ARMUm brinde à arquitetura ARM
6.6. Single Board ComputersSingle Board Computers
** U$ 35 Raspberry PiU$ 35 Raspberry Pi
** U$ 30 BeagleboneU$ 30 Beaglebone
** U$ 70 CubieboardU$ 70 Cubieboard
** U$ 35 TesselU$ 35 Tessel
** U$ 50 Intel GalileoU$ 50 Intel Galileo
** Odroid, Banana Pi, Radxa...Odroid, Banana Pi, Radxa...
7.7. Linux + ARM + Node.js = ♥Linux + ARM + Node.js = ♥
** LinuxLinux
- Kernel- Kernel
- Drivers- Drivers
- Controle de Hardware- Controle de Hardware
- Daemons- Daemons
** Node.jsNode.js
- Scripting- Scripting
- Cola entre lógica e OS- Cola entre lógica e OS
8.8. Node.js em embarcadosNode.js em embarcados
** The goodThe good
- Free as FREE BEER- Free as FREE BEER
- Baixo consumo de energia- Baixo consumo de energia
- Tempo de desenvolvimento- Tempo de desenvolvimento
- Esqueça compilação, é JS!- Esqueça compilação, é JS!
- Milhares de pacotes no NPM- Milhares de pacotes no NPM
- Eventos e streams nativos- Eventos e streams nativos
- I/O não bloqueante- I/O não bloqueante
- Cross-compiling- Cross-compiling
- Runtime leve e independente- Runtime leve e independente
- Embedável- Embedável
- Core rico em features- Core rico em features
8.8. Node.js em embarcadosNode.js em embarcados
** The badThe bad
- Ruim para CPU-bound tasks- Ruim para CPU-bound tasks
- Debug assíncrono- Debug assíncrono
- Poucos desenvolvedores- Poucos desenvolvedores
** The uglyThe ugly
- Grandes poderes, grandes- Grandes poderes, grandes
responsabilidadesresponsabilidades
9.9. ExemplosExemplos
10.10. npm install --savenpm install --save
** libmraalibmraa
- Sanitiza e padroniza componentes- Sanitiza e padroniza componentes
** serialportserialport
- Fale com seus sensores e periféricos!- Fale com seus sensores e periféricos!
** node-REDnode-RED
- Ferramenta visual para integrar harware,- Ferramenta visual para integrar harware,
APIs, serviços onlineAPIs, serviços online
** node-usbnode-usb
- Fácil manuseio de portas USB- Fácil manuseio de portas USB
** electronelectron
- Crie interfaces em HTML!- Crie interfaces em HTML!
11.11. Auf wiedersehenAuf wiedersehen
** FontesFontes
-- http://goo.gl/TIRgCjhttp://goo.gl/TIRgCj
-- https://goo.gl/qycI25https://goo.gl/qycI25
-- https://goo.gl/i3KiVOhttps://goo.gl/i3KiVO
-- https://goo.gl/r4jBvchttps://goo.gl/r4jBvc
-- https://goo.gl/pMWFuhhttps://goo.gl/pMWFuh
-- http://goo.gl/ua9pechttp://goo.gl/ua9pec

Mais conteúdo relacionado

Mais procurados

7Masters OpenHardware - BeagleBone Black : O que existe de open por aí?
7Masters OpenHardware -  BeagleBone Black : O que existe de open por aí?7Masters OpenHardware -  BeagleBone Black : O que existe de open por aí?
7Masters OpenHardware - BeagleBone Black : O que existe de open por aí?Diego Sueiro
 
TDC2016SP - Do Gameboy ao Zend Engine e avante!
TDC2016SP - Do Gameboy ao Zend Engine e avante!TDC2016SP - Do Gameboy ao Zend Engine e avante!
TDC2016SP - Do Gameboy ao Zend Engine e avante!tdc-globalcode
 
Processadores
ProcessadoresProcessadores
Processadoresxadere4z
 
Palestra xen-flisol2011
Palestra xen-flisol2011Palestra xen-flisol2011
Palestra xen-flisol2011andreluizfm
 
Primeiros passos com Nerves (Elixir para dispositivos embarcados)
Primeiros passos com Nerves (Elixir para dispositivos embarcados)Primeiros passos com Nerves (Elixir para dispositivos embarcados)
Primeiros passos com Nerves (Elixir para dispositivos embarcados)Donato Vianna
 
Aula 03 - Hardware - Componentes 2
Aula 03 - Hardware - Componentes 2Aula 03 - Hardware - Componentes 2
Aula 03 - Hardware - Componentes 2Rodolfo Santos
 
Novos processadores intel
Novos processadores intelNovos processadores intel
Novos processadores intelÍcaro Ferreira
 
TDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemasTDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemastdc-globalcode
 
Trabalhos dos alunos: Processadores
Trabalhos dos alunos: ProcessadoresTrabalhos dos alunos: Processadores
Trabalhos dos alunos: Processadoresteixeiraafm1
 
Webseminario AMD phenom II x6
Webseminario AMD phenom II x6Webseminario AMD phenom II x6
Webseminario AMD phenom II x6Roberto Brandao
 
(11) hardware, modulos
(11)   hardware, modulos(11)   hardware, modulos
(11) hardware, modulosAnderson Lago
 
Apresentacao 3 - Treinamento de Produtos - SantaASUS 2009
Apresentacao 3 - Treinamento de Produtos - SantaASUS 2009 Apresentacao 3 - Treinamento de Produtos - SantaASUS 2009
Apresentacao 3 - Treinamento de Produtos - SantaASUS 2009 ASUS Brazil
 
Computador Básico - Peças
Computador Básico - PeçasComputador Básico - Peças
Computador Básico - PeçasRayner Barbosa
 
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDADesenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDAFilipo Mór
 
TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhatdc-globalcode
 

Mais procurados (20)

7Masters OpenHardware - BeagleBone Black : O que existe de open por aí?
7Masters OpenHardware -  BeagleBone Black : O que existe de open por aí?7Masters OpenHardware -  BeagleBone Black : O que existe de open por aí?
7Masters OpenHardware - BeagleBone Black : O que existe de open por aí?
 
TDC2016SP - Do Gameboy ao Zend Engine e avante!
TDC2016SP - Do Gameboy ao Zend Engine e avante!TDC2016SP - Do Gameboy ao Zend Engine e avante!
TDC2016SP - Do Gameboy ao Zend Engine e avante!
 
Do gameboy a zend vm e avante
Do gameboy a zend vm e avanteDo gameboy a zend vm e avante
Do gameboy a zend vm e avante
 
Processadores
ProcessadoresProcessadores
Processadores
 
Palestra xen-flisol2011
Palestra xen-flisol2011Palestra xen-flisol2011
Palestra xen-flisol2011
 
HOST079 - Docker
HOST079 - DockerHOST079 - Docker
HOST079 - Docker
 
Primeiros passos com Nerves (Elixir para dispositivos embarcados)
Primeiros passos com Nerves (Elixir para dispositivos embarcados)Primeiros passos com Nerves (Elixir para dispositivos embarcados)
Primeiros passos com Nerves (Elixir para dispositivos embarcados)
 
Aula 03 - Hardware - Componentes 2
Aula 03 - Hardware - Componentes 2Aula 03 - Hardware - Componentes 2
Aula 03 - Hardware - Componentes 2
 
Novos processadores intel
Novos processadores intelNovos processadores intel
Novos processadores intel
 
tp
tptp
tp
 
TDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemasTDC2018SP | Trilha Containers - Docker Swarm - Os problemas
TDC2018SP | Trilha Containers - Docker Swarm - Os problemas
 
Trabalhos dos alunos: Processadores
Trabalhos dos alunos: ProcessadoresTrabalhos dos alunos: Processadores
Trabalhos dos alunos: Processadores
 
Webseminario AMD phenom II x6
Webseminario AMD phenom II x6Webseminario AMD phenom II x6
Webseminario AMD phenom II x6
 
Docker + Django
Docker + DjangoDocker + Django
Docker + Django
 
(11) hardware, modulos
(11)   hardware, modulos(11)   hardware, modulos
(11) hardware, modulos
 
Apresentacao 3 - Treinamento de Produtos - SantaASUS 2009
Apresentacao 3 - Treinamento de Produtos - SantaASUS 2009 Apresentacao 3 - Treinamento de Produtos - SantaASUS 2009
Apresentacao 3 - Treinamento de Produtos - SantaASUS 2009
 
Computador Superior
Computador SuperiorComputador Superior
Computador Superior
 
Computador Básico - Peças
Computador Básico - PeçasComputador Básico - Peças
Computador Básico - Peças
 
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDADesenvolvendo Aplicações de Uso Geral para GPU com CUDA
Desenvolvendo Aplicações de Uso Geral para GPU com CUDA
 
TDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unhaTDC2018SP | Trilha Containers - Linux Conteineres na unha
TDC2018SP | Trilha Containers - Linux Conteineres na unha
 

Destaque

Escreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKatEscreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKatIntel Software Brasil
 
Modernização de código em Xeon® e Xeon Phi™
Modernização de código em Xeon® e Xeon Phi™  Modernização de código em Xeon® e Xeon Phi™
Modernização de código em Xeon® e Xeon Phi™ Intel Software Brasil
 
Desafios do Desenvolvimento Multi-plataforma
Desafios do Desenvolvimento Multi-plataformaDesafios do Desenvolvimento Multi-plataforma
Desafios do Desenvolvimento Multi-plataformaIntel Software Brasil
 
Desafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento MultiplataformaDesafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento MultiplataformaIntel Software Brasil
 
Yocto no 1 IoT Day da Telefonica/Vivo
Yocto no 1 IoT Day da Telefonica/VivoYocto no 1 IoT Day da Telefonica/Vivo
Yocto no 1 IoT Day da Telefonica/VivoIntel Software Brasil
 
Ecmascript 6, O futuro do Javascript hoje.
Ecmascript 6, O futuro do Javascript hoje.Ecmascript 6, O futuro do Javascript hoje.
Ecmascript 6, O futuro do Javascript hoje.Henrique Limas
 

Destaque (7)

Yocto - 7 masters
Yocto - 7 mastersYocto - 7 masters
Yocto - 7 masters
 
Escreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKatEscreva sua App sem gastar energia, agora no KitKat
Escreva sua App sem gastar energia, agora no KitKat
 
Modernização de código em Xeon® e Xeon Phi™
Modernização de código em Xeon® e Xeon Phi™  Modernização de código em Xeon® e Xeon Phi™
Modernização de código em Xeon® e Xeon Phi™
 
Desafios do Desenvolvimento Multi-plataforma
Desafios do Desenvolvimento Multi-plataformaDesafios do Desenvolvimento Multi-plataforma
Desafios do Desenvolvimento Multi-plataforma
 
Desafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento MultiplataformaDesafios do Desenvolvimento Multiplataforma
Desafios do Desenvolvimento Multiplataforma
 
Yocto no 1 IoT Day da Telefonica/Vivo
Yocto no 1 IoT Day da Telefonica/VivoYocto no 1 IoT Day da Telefonica/Vivo
Yocto no 1 IoT Day da Telefonica/Vivo
 
Ecmascript 6, O futuro do Javascript hoje.
Ecmascript 6, O futuro do Javascript hoje.Ecmascript 6, O futuro do Javascript hoje.
Ecmascript 6, O futuro do Javascript hoje.
 

Semelhante a Node.js para embarcados

Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017
Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017
Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017Fernando Luiz Cola
 
1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux EmbarcadoDiego Sueiro
 
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaFelipe Silveira
 
Processador CISC RISC SET de instruções
Processador CISC RISC SET de instruçõesProcessador CISC RISC SET de instruções
Processador CISC RISC SET de instruçõesCarlos Pereira
 
Microcontroladores x microprocessadores
Microcontroladores x microprocessadoresMicrocontroladores x microprocessadores
Microcontroladores x microprocessadoresmiroslayer
 
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé Leite
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé LeiteComo ajudar no desenvolvimento do kernel Linux? - Fábio Olivé Leite
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé LeiteTchelinux
 
Gentoo - Sistema Operacional
Gentoo - Sistema OperacionalGentoo - Sistema Operacional
Gentoo - Sistema OperacionalAnderson Favaro
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoelliando dias
 
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...Bruno Castelucci
 
Asterisk central ipbx debian [artigo]
Asterisk central ipbx   debian [artigo]Asterisk central ipbx   debian [artigo]
Asterisk central ipbx debian [artigo]Carlos Melo
 
Beers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoBeers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoCarlos Smaniotto
 
Secomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - IntroduçãoSecomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - IntroduçãoEmerson Macedo
 
Forense windows registro_sandro_suffert
Forense windows registro_sandro_suffertForense windows registro_sandro_suffert
Forense windows registro_sandro_suffertSandro Suffert
 
Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Emerson Macedo
 
TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....
TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....
TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....tdc-globalcode
 

Semelhante a Node.js para embarcados (20)

Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017
Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017
Linux Embarcado para Dispositivos de IoT - Uninove 18/11/2017
 
1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado1º IoT Day - O que é Linux Embarcado
1º IoT Day - O que é Linux Embarcado
 
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaAndroid Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataforma
 
Processador CISC RISC SET de instruções
Processador CISC RISC SET de instruçõesProcessador CISC RISC SET de instruções
Processador CISC RISC SET de instruções
 
Microcontroladores x microprocessadores
Microcontroladores x microprocessadoresMicrocontroladores x microprocessadores
Microcontroladores x microprocessadores
 
Asterisk
AsteriskAsterisk
Asterisk
 
Ferramentas Intel Android
Ferramentas Intel AndroidFerramentas Intel Android
Ferramentas Intel Android
 
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé Leite
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé LeiteComo ajudar no desenvolvimento do kernel Linux? - Fábio Olivé Leite
Como ajudar no desenvolvimento do kernel Linux? - Fábio Olivé Leite
 
Gentoo - Sistema Operacional
Gentoo - Sistema OperacionalGentoo - Sistema Operacional
Gentoo - Sistema Operacional
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 
Lab so-abertos-unidade8
Lab so-abertos-unidade8Lab so-abertos-unidade8
Lab so-abertos-unidade8
 
Performance tuning
Performance tuningPerformance tuning
Performance tuning
 
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
Aceleração em Hardware para OpenSSL em Sistemas Embarcados: Introdução e conc...
 
Asterisk central ipbx debian [artigo]
Asterisk central ipbx   debian [artigo]Asterisk central ipbx   debian [artigo]
Asterisk central ipbx debian [artigo]
 
Beers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualizaçãoBeers & Bytes - O Futuro da virtualização
Beers & Bytes - O Futuro da virtualização
 
Secomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - IntroduçãoSecomp 2011 - Node.JS - Introdução
Secomp 2011 - Node.JS - Introdução
 
Forense windows registro_sandro_suffert
Forense windows registro_sandro_suffertForense windows registro_sandro_suffert
Forense windows registro_sandro_suffert
 
Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011Node.JS - Campus Party Brasil 2011
Node.JS - Campus Party Brasil 2011
 
TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....
TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....
TDC2018SP | Trilha Node.js - Melhores praticas de desempenho utilizando Node....
 
Redes2 aula02
Redes2 aula02Redes2 aula02
Redes2 aula02
 

Node.js para embarcados

  • 1.
  • 2. Node.jsNode.js para embarcadospara embarcados Alan HoffmeisterAlan Hoffmeister https://github.com/alanhoffhttps://github.com/alanhoff https://twitter.com/alan_hoffhttps://twitter.com/alan_hoff https://alanhoff.comhttps://alanhoff.com
  • 3. 1.1. Sistema embarcado?Sistema embarcado? An embedded system is a computer systemAn embedded system is a computer system with a dedicated function within a largerwith a dedicated function within a larger mechanical or electrical system, often withmechanical or electrical system, often with real-timereal-time computing constraints.computing constraints.
  • 4. 2.2. Características de um ESCaracterísticas de um ES ** Eficiência energéticaEficiência energética ** Tamanho de código reduzidoTamanho de código reduzido ** Runtime simplificadoRuntime simplificado ** Peso reduzidoPeso reduzido ** Preço reduzidoPreço reduzido ** Interface de usuário dedicadaInterface de usuário dedicada
  • 5. 3.3. Periféricos!Periféricos! ** Botões (teclado, controles..)Botões (teclado, controles..) ** Sensores, periféricosSensores, periféricos ** Tela, ledsTela, leds ** Motores, compassosMotores, compassos ** Wifi, bluetooth, rádioWifi, bluetooth, rádio
  • 6. 4.4. Aplicações – VeículosAplicações – Veículos
  • 7. 4.4. Aplicações – RobóticaAplicações – Robótica
  • 8. 4.4. Aplicações – Impressoras 3DAplicações – Impressoras 3D
  • 9. 4.4. Aplicações – DronesAplicações – Drones
  • 10. 4.4. Aplicações – IoTAplicações – IoT
  • 11. 4.4. Aplicações – MedicinaAplicações – Medicina
  • 12. 5.5. Para iniciar bastaPara iniciar basta ** Engenharia eletrônicaEngenharia eletrônica ** C/C++C/C++ ** JavaJava ** PythonPython ** LuaLua
  • 13. 5.5. Consegui aprender tudoConsegui aprender tudo!!
  • 14. 6.6. Single Board ComputersSingle Board Computers ** Placas mais robustasPlacas mais robustas ** Matem as características de um sistemaMatem as características de um sistema embarcadoembarcado ** Trás tudo junto: GPIO, proc., mem., net.,Trás tudo junto: GPIO, proc., mem., net., armazenamento...armazenamento... ** Um computador completoUm computador completo ** Um brinde à arquitetura ARMUm brinde à arquitetura ARM
  • 15. 6.6. Single Board ComputersSingle Board Computers ** U$ 35 Raspberry PiU$ 35 Raspberry Pi ** U$ 30 BeagleboneU$ 30 Beaglebone ** U$ 70 CubieboardU$ 70 Cubieboard ** U$ 35 TesselU$ 35 Tessel ** U$ 50 Intel GalileoU$ 50 Intel Galileo ** Odroid, Banana Pi, Radxa...Odroid, Banana Pi, Radxa...
  • 16. 7.7. Linux + ARM + Node.js = ♥Linux + ARM + Node.js = ♥ ** LinuxLinux - Kernel- Kernel - Drivers- Drivers - Controle de Hardware- Controle de Hardware - Daemons- Daemons ** Node.jsNode.js - Scripting- Scripting - Cola entre lógica e OS- Cola entre lógica e OS
  • 17. 8.8. Node.js em embarcadosNode.js em embarcados ** The goodThe good - Free as FREE BEER- Free as FREE BEER - Baixo consumo de energia- Baixo consumo de energia - Tempo de desenvolvimento- Tempo de desenvolvimento - Esqueça compilação, é JS!- Esqueça compilação, é JS! - Milhares de pacotes no NPM- Milhares de pacotes no NPM - Eventos e streams nativos- Eventos e streams nativos - I/O não bloqueante- I/O não bloqueante - Cross-compiling- Cross-compiling - Runtime leve e independente- Runtime leve e independente - Embedável- Embedável - Core rico em features- Core rico em features
  • 18. 8.8. Node.js em embarcadosNode.js em embarcados ** The badThe bad - Ruim para CPU-bound tasks- Ruim para CPU-bound tasks - Debug assíncrono- Debug assíncrono - Poucos desenvolvedores- Poucos desenvolvedores ** The uglyThe ugly - Grandes poderes, grandes- Grandes poderes, grandes responsabilidadesresponsabilidades
  • 20. 10.10. npm install --savenpm install --save ** libmraalibmraa - Sanitiza e padroniza componentes- Sanitiza e padroniza componentes ** serialportserialport - Fale com seus sensores e periféricos!- Fale com seus sensores e periféricos! ** node-REDnode-RED - Ferramenta visual para integrar harware,- Ferramenta visual para integrar harware, APIs, serviços onlineAPIs, serviços online ** node-usbnode-usb - Fácil manuseio de portas USB- Fácil manuseio de portas USB ** electronelectron - Crie interfaces em HTML!- Crie interfaces em HTML!
  • 21. 11.11. Auf wiedersehenAuf wiedersehen ** FontesFontes -- http://goo.gl/TIRgCjhttp://goo.gl/TIRgCj -- https://goo.gl/qycI25https://goo.gl/qycI25 -- https://goo.gl/i3KiVOhttps://goo.gl/i3KiVO -- https://goo.gl/r4jBvchttps://goo.gl/r4jBvc -- https://goo.gl/pMWFuhhttps://goo.gl/pMWFuh -- http://goo.gl/ua9pechttp://goo.gl/ua9pec

Notas do Editor

  1. * Sistemas dedicados * Fazem parte de um conjunto maior * Muitos necessitam de operações real-time
  2. Carro do google Sensores de posicionamento, reconhecimento, proximidade, velocidade, posicionamento
  3. Frameworks especiais para trabalhar com robôs Grandes empresas apostando no JS para robôs, como a INTEL
  4. É possível controlar uma impressora através da porta serial usando JS e fazer o parse de arquivos de impressão 3D
  5. Prohjeto dedicado a drones NodeBots Dia internacional da nodebots 25
  6. Internet das coisas Hardware interconectado, controlado remotamente, web
  7. Monitoramento remoto Desde ultrasom até aparelhos de ressonância magnética
  8. É fácil iniciar, sqn Muito complicado Uma pessoa não faz tudo sozinho Uma pessoa não detêm o conhecimento de tudo isso Ciclo de prototipagem extremamente demorado
  9. Nossa expectativa de vida é menor do que a expectativa de aprender tudo isso
  10. Em um único circuito impresso temos tudo o que precisamos para desenvolver um sistema completo. Preço baixíssimo, tudo pronto, custo benefício muito bom ARM é um conjunto de instruções para microprocessadores RISC, menos transistores = menos consumo de energia, menor e mais portátil
  11. Uma variedade de boards para escolher Cada uma tem a sua particularidade Precos acessíveis
  12. Utilizamos duas ferramentas que se complementam Linux = OS Node.js = Programa/Lógica
  13. Baixa energia, loop fica dormindo quando não existem tarefas Eventos: o sistema embarcado normalmente precisa responder à inputs externos, sensores, comandos Stream: as coisas precisam ser mastigadas com calma, temos pouca potência IO não bloqueante: várias tarefas ao mesmo tempo em um único core
  14. Mais coisas para tomar cuidade, é um sistema operacional! Portas do firewall aberta, senhas padrões, SSH aberto, banco aberto
  15. Programe normalmente como se estivesse no seu computador Utilize o sistema a seu favor, e não reinvente a roda Várias tarefas podem ser feitas ao mesmo tempo sem interferir no loop, mas é necessário cuidado, digerir uma grande tarefa em pequenas partes
  16. Mais coisas para tomar cuidade, é um sistema operacional! Portas do firewall aberta, senhas padrões, SSH aberto, banco aberto
  17. Mais coisas para tomar cuidade, é um sistema operacional! Portas do firewall aberta, senhas padrões, SSH aberto, banco aberto