Created
July 23, 2015 03:04
-
-
Save alanhoff/ba78fff113d63c5c0efc to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Aplicações modernas | |
- Carros | |
- http://imguol.com/blogs/8/files/2014/06/googleselfdrive.gif | |
- Robótica | |
- http://gifsec.com/wp-content/uploads/GIF/2014/06/GIF-Robot-feeding-FAIL.gif | |
- Impressoras 3D | |
- https://a248.e.akamai.net/f/248/1/1/www.geek.com/wp-content/uploads/2014/03/5.gif | |
- Drones | |
- http://ak-hdl.buzzfed.com/static/2014-04/enhanced/webdr04/19/6/anigif_enhanced-1915-1397902864-1.gif | |
- IoT | |
- https://learn.adafruit.com/system/assets/assets/000/015/217/medium800/raspberry_pi_raspanimated.gif | |
- Medicina | |
- https://farm4.staticflickr.com/3248/2686539458_d03bc15edf_o_d.gif | |
* Sistemas embarcados | |
- An embedded system is a computer system with a dedicated function within a | |
larger mechanical or electrical system, often with real-time computing constraints. | |
- Características | |
- Eficiência energética | |
- Tamanho do código reduzido | |
- Run-time simples | |
- Peso reduzido | |
- Preço reduzido | |
- Interface de usuário dedicada | |
- Interface de usuários: botões, telas, teclados, touchscreen | |
- Periféricos (como o sistema se comunica com o exterior): portas de comunicação serial, USB, MMC (SD Card, Flash, etc..), | |
network (wireless, ethernet, etc...), GPIO (sensores em geral), debugging (JTAG, ISP, etc...) | |
* As linguagens mais comuns | |
- C, C++, Java, Python, Lua | |
- Como rodar um interpretador gigantesco em um sistema embarcado? | |
* Ascensão dos computadores de placa única (Embedded Single Board Computers, Single Board Computer, SBC) | |
- As caracteríscas originais dos sistemas embarcados continuam (em essência) | |
- Tudo junto: GPIO, processamento, memória, armazenamento e network | |
- Um computador completo | |
- Um viva à arquitetura ARM | |
- Exemplos | |
- Raspberry Pi | |
- Beaglebone | |
- ODroid-C1 | |
- Banana Pi | |
- Radxa | |
- Cubieboard | |
- Galileo | |
- Tessel | |
- Espruino | |
- E agora, é possível rodar um interpretador? | |
- Node.js em sistemas embarcados | |
- Vantagens | |
- Open Source | |
- Eficiência de hardware | |
- Tempo de desenvolvimento | |
- JS / Não precisa compilar | |
- Gerenciados de pacotes NPM | |
- Event-Driven e streams nativos | |
- I/O não bloqueante | |
- Cross-compiling | |
- Runtime leve e estático que já vem com várias ferramentas | |
- TCP / UDP | |
- Criptografia | |
- Arquivos de Sistema | |
- HTTP / HTTPS | |
- Compressão | |
- Embedável | |
- Desvantagens | |
- Poucos desenvolvedores até o momento | |
- Péssimo em trabalhos que necessitam de CPU | |
- Debug assíncrono | |
- Super desvantagens | |
- O sistema como um todo fica complexo | |
- Set padrão | |
- Linux | |
- Drivers | |
- Kernel básico | |
- Hardware | |
- Daemons | |
- Node.js | |
- Scripting fácil | |
- Cola entre a lógica e o hardware | |
- Exemplos | |
- Timer assíncrono | |
- GPIO led on/off | |
- Captura de uso de CPU e memória | |
- Principais pacotes | |
- libmraa | |
- serialport | |
- Sensores e periféricos! | |
- node-RED | |
- node-usb | |
- electron | |
* Fontes | |
- http://www.slideshare.net/manjunathan1804/embedded-systems-43439510 (aula sobre sistemas embcarcados) | |
- https://events.linuxfoundation.org/sites/events/files/slides/nodejs-presentation_0.pdf | |
- https://strongloop.com/strongblog/whats-new-node-js-v0-12-multiple-context-execution/ | |
- https://en.wikipedia.org/wiki/Embedded_system | |
- https://en.wikipedia.org/wiki/Single-board_computer |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment