Plataformas atuais de sistemas embarcados para IoT

846 visualizações

Publicada em

Aborda os conceitos e plataformas atuais para desenvolvimento de projetos para IoT com vários casos de uso e exemplos práticos.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
846
No SlideShare
0
A partir de incorporações
0
Número de incorporações
7
Ações
Compartilhamentos
0
Downloads
20
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Plataformas atuais de sistemas embarcados para IoT

  1. 1. PLATAFORMAS ATUAIS DE SISTEMAS EMBARCADOS PARA IOT Prof.Herculano De Biasi UNOESC
  2. 2.  Sistemas Embarcados  Estudo de Caso: Dimmer Digital com Arduino  Estudo de Caso: Peneira Autonivelante  Plataformas Atuais  Arduino  Raspberry Pi  BeagleBone  CubieBoard  Intel Galileo  Intel Edison  Estudo de Caso: IoT com Arduino Yún  Estudo de Caso: Automação Residencial com Raspberry Pi Tópicos
  3. 3. Bibliografia (1)
  4. 4. Bibliografia (2)
  5. 5. Bibliografia (3)
  6. 6.  Controle de Intensidade de Corrente Alternada  http://blog.eletronlivre.com.br/2010/09/ dimmer-futuristico-automacao.html  http://blog.eletronlivre.com.br/2011/02/ dimmer-digital-futuristico-com-arduino.html Dimmer Digital com Arduino (1)
  7. 7. ATENÇÃO!!! Este projeto trabalha com alta tensão e risco potencial de incêndio! Nunca desenvolva sozinho nem deixe o aparelho ligado por muito tempo Dimmer Digital com Arduino (2)
  8. 8.  Demo Dimmer Digital com Arduino (3)
  9. 9.  Componentes:  Sensor Infravermelho  Opto acoplador (MOC3021)  Triac (BT138)  Potenciômetro  Detector de passagem por zero (opto acoplador 4N35)  Arduino Dimmer Digital com Arduino (4) TRIAC
  10. 10.  Resistores:  R1: 100 Ω  R2: 2200 Ω  R3: 47K Ω de 3W  R4: 220 Ω  R5: 10K Ω  Mesmo sendo o R3 um resistor que dissipa 3W, ele esquenta muito e corre o risco de incendiar se o equipamento permanecer ligado por muito tempo Dimmer Digital com Arduino (5) R1 R2 R5 R4 R3
  11. 11.  O site SerialLink comercializa um shield chamado Dimmer AC Bivolt, com funcionalidade idêntica (http://www.seriallink.com.br/web/index.php?r=produtos%2Fplacamodulodi mmerac)  Note o resistor de 3W (verde) para evitar sobreaquecimento e risco de incêndio Dimmer Digital com Arduino (6)
  12. 12.  Funcionamento: Detecção da passagem por zero e interrupção do Arduino Dimmer Digital com Arduino (7)
  13. 13.  Funcionamento: Controle do ângulo (tempo) de disparo do TRIAC Dimmer Digital com Arduino (8)
  14. 14.  Projeto idealizado pelo acadêmico Sálvito Medeiros da UnC – Curitibanos, e desenvolvido com ele na empresa Comercial Cruz Ltda. de Curitibanos  Segundo dados da Conab (Companhia Nacional Abastecimento) a estimativa de produção de soja para safra 2015/2016 é de 3.011 kg/ha, outro levantamento feito pela EMBRAPA, apontou desperdício na colheita mecanizada de 4,2% da soja, ficando em média de 120 kg/ha Colheitadeira Autonivelante (1)
  15. 15.  Colheitadeira: Colheitadeira Autonivelante (2)
  16. 16.  Peneira: Colheitadeira Autonivelante (3)
  17. 17.  Peneira: Colheitadeira Autonivelante (4)
  18. 18.  Componentes: Atuador Linear (Pistão com Potenciômetro) Colheitadeira Autonivelante (5)
  19. 19.  Componentes: IMU (Unidade de Medição Inercial)  Acelerômetro + Giroscópio + Magnetômetro Colheitadeira Autonivelante (6)
  20. 20.  Componentes: Joystick, LCD, chaves fim-de-curso Colheitadeira Autonivelante (7)
  21. 21. Plataforma Arduino (1)  Severino: Arduino Uno
  22. 22. Plataforma Arduino (2)  Arduino Mega ADK: Utilizado para desenvolvimento Android
  23. 23. Plataforma Arduino (3)  Arduino Nano
  24. 24. Plataforma Arduino (4)  Arduino TRE: Ainda não lançado
  25. 25.  Severino: Arduino nacional Plataforma Arduino (5)
  26. 26.  Arduino na protoboard Plataforma Arduino (5)
  27. 27.  Raspberry Pi Modelo A  256 MB de RAM, compartilhada com a GPU  1 portas USB  Sem porta ethernet Plataforma Raspberry Pi (1)
  28. 28.  Raspberry Pi Modelo B+  4 portas USB em vez de 2 portas  40 GPIO em vez de 26 (as primeiras 26 portas condizem com as originais)  MicroSD card em vez dos SD cards maiores Plataforma Raspberry Pi (2)
  29. 29.  Raspberry Pi 2 Modelo B  SoC Broadcom BCM2836  Quad-core ARM Cortex-7 / CPU: 900MHz  GPU Broadcom VideoCore IV  Memória RAM: 1GB Plataforma Raspberry Pi (3)
  30. 30.  Raspicam Plataforma Raspberry Pi (4)
  31. 31.  BeagleBone Black Plataforma BeagleBone (1)
  32. 32.  Display LCD com Touch Screen Plataforma BeagleBone (2)
  33. 33.  Cubiboard 1 Plataforma CubieBoard (1)
  34. 34.  Cubie Truck Plataforma CubieBoard (2)
  35. 35.  Galileo Geração 2 Plataforma Intel Galileo (1)
  36. 36.  Desenvolvimento com Visual Studio Plataforma Intel Galileo (2)
  37. 37.  Dual-Core Silvermont Atom 500MHz + Quark 100MHz  1GB LPDDR3 e 4GB eMMC  WiFi 2.4/5GHz 802.11a/b/g/n  Bluetooth 4.0  Yocto Linux v1.6 Plataforma Intel Edison (1) Dimensões do Módulo
  38. 38.  Kits Plataforma Intel Edison (2)
  39. 39.  Arduino Breakout Kit Plataforma Intel Edison (3)
  40. 40.  Fonte: Sparkfun (2015) Comparativo (1)
  41. 41.  Fonte: Sparkfun (2015) Comparativo (2)
  42. 42.  Fonte: Sparkfun (2015) Comparativo (3)
  43. 43.  Fonte: Sparkfun (2015) Comparativo (4)
  44. 44.  Fonte: Sparkfun (2015) Comparativo (5)
  45. 45.  Fonte: Sparkfun (2015) Comparativo (6)
  46. 46.  Hardware – Arduino Yún: Combina um Arduino clássico (Leonardo, baseado no processador Atmega32U4) com um SoC WiFi rodando Linino, um sistema GNU/Linux MIPS baseado no OpenWrt Estudo de Caso: IoT com Arduino Yún (1)
  47. 47.  Hardware: Estudo de Caso: IoT com Arduino Yún (2)
  48. 48.  Gerenciamento web: http://arduino.local Estudo de Caso: IoT com Arduino Yún (3)
  49. 49.  Aceso via SSH: ssh root@myYun.local Estudo de Caso: IoT com Arduino Yún (4)
  50. 50.  Upload via porta serial ou rede sem fio Estudo de Caso: IoT com Arduino Yún (5)
  51. 51.  Monitoramento de temperatura e luminosidade Estudo de Caso: IoT com Arduino Yún (6)
  52. 52. Estudo de Caso: IoT com Arduino Yún (7)
  53. 53.  Biblioteca: https://github.com/adafruit/DHT-sensor-library  O código abaixo serve para testar a leitura do sensor (ligado ao pino 8 do Arduino) Estudo de Caso: IoT com Arduino Yún (8)
  54. 54.  Crie uma conta no Temboo para utilizar bibliotecas de IoT – https://temboo.com/ Estudo de Caso: IoT com Arduino Yún (9)
  55. 55.  A aba Activity mostra um dashboard com o número de chamadas à API Estudo de Caso: IoT com Arduino Yún (10)
  56. 56.  Crie uma aplicação chamada aplicacaoYun Estudo de Caso: IoT com Arduino Yún (11)
  57. 57.  Código (adaptado do livro Internet of Things with the Arduino Yún) #include <Bridge.h> #include <Temboo.h> #include <Process.h> // Informação sobre a conta no Temboo #include "ContaTemboo.h" // Variáveis int lightLevel; float humidity; float temperature; unsigned long time; // Processo para obter as medições de tempo Process date; // Dados da conta no Google Docs const String GOOGLE_USERNAME = "herculano.debiasi"; const String GOOGLE_PASSWORD = "blablabla"; const String SPREADSHEET_TITLE = "Yun"; Estudo de Caso: IoT com Arduino Yún (12)
  58. 58.  Código (adaptado do livro Internet of Things with the Arduino Yún) #include "DHT.h" // Sensor de umidade e temperatura #define DHTPIN 8 #define DHTTYPE DHT11 DHT dht(DHTPIN, DHTTYPE); boolean debug_mode = true; void setup() { // Inicializa Serial if (debug_mode == true) { Serial.begin(115200); delay(4000); while (!Serial); } // Inicializa sensor DHT dht.begin(); Estudo de Caso: IoT com Arduino Yún (13)
  59. 59.  Código (adaptado do livro Internet of Things with the Arduino Yún) // Inicia ponte (bridge) Bridge.begin(); // Inicia processo date time = millis(); if (!date.running()) { date.begin("date"); date.addParameter("+%D-%T"); date.run(); } if (debug_mode == true) { Serial.println("Setup complete. Waiting for sensor input...n"); } } Estudo de Caso: IoT com Arduino Yún (14)
  60. 60.  Código (adaptado do livro Internet of Things with the Arduino Yún) void loop() { // Mede umidade e temperadura humidity = dht.readHumidity(); temperature = dht.readTemperature(); // Mede nível de luz int lightLevel = analogRead(A0); if (debug_mode == true) { Serial.println("nCalling the /Library/Google/Spreadsheets/AppendRow Choreo..."); } // Adiciona dados à planilha do Google Docs runAppendRow(lightLevel, temperature, humidity); // Repete a cada 10 minutos delay(600000); } Estudo de Caso: IoT com Arduino Yún (15)
  61. 61.  Código (adaptado do livro Internet of Things with the Arduino Yún) // Inicia ponte (bridge) Bridge.begin(); // Inicia processo date time = millis(); if (!date.running()) { date.begin("date"); date.addParameter("+%D-%T"); date.run(); } if (debug_mode == true) { Serial.println("Setup complete. Waiting for sensor input...n"); } } Estudo de Caso: IoT com Arduino Yún (16)
  62. 62.  Código (adaptado do livro Internet of Things with the Arduino Yún) void loop() { // Mede umidade e temperadura humidity = dht.readHumidity(); temperature = dht.readTemperature(); // Mede nível de luz int lightLevel = analogRead(A0); if (debug_mode == true) { Serial.println("nCalling the /Library/Google/Spreadsheets/AppendRow Choreo..."); } // Adiciona dados à planilha do Google Docs runAppendRow(lightLevel, temperature, humidity); // Repete a cada 10 minutos delay(600000); } Estudo de Caso: IoT com Arduino Yún (17)
  63. 63.  Crie uma planilha no Google Docs (ou Google Drive) Estudo de Caso: IoT com Arduino Yún (18)
  64. 64.  A planilha deverá ter as colunas abaixo Estudo de Caso: IoT com Arduino Yún (19)
  65. 65.  Planilha sendo preenchida Estudo de Caso: IoT com Arduino Yún (20)
  66. 66.  Gráfico gerado pelo Google Sheets Estudo de Caso: IoT com Arduino Yún (21)
  67. 67.  Log do Temboo Estudo de Caso: IoT com Arduino Yún (22)
  68. 68.  Processo ‘bridge’ rodando Estudo de Caso: IoT com Arduino Yún (23)
  69. 69.  Domótica Estudo de Caso: Automação Residencial com RPi (1)
  70. 70.  Baseado no TCC “Automação Residencial com Raspberry Pi” do Rodrigo Batistello (curso de Sistemas de Informação da Unoesc Chapecó - https://www.youtube.com/watch?v=4PhAngSLeHo ) Estudo de Caso: Automação Residencial com RPi (2)
  71. 71.  Maquete em MDF Estudo de Caso: Automação Residencial com RPi (3)
  72. 72.  Montagem Estudo de Caso: Automação Residencial com RPi (4)
  73. 73.  Montagem Estudo de Caso: Automação Residencial com RPi (5)
  74. 74.  Componentes:  Raspberry Pi  Placa de automação  LEDs e resistores  Sensor de chuva  Sensor PIR (presença)  Sensor de alarme magnético  Temperatura (AM2302)  Umidade (AM2302)  Alarme residencial  Sirene de alarme  Sensor LDR (luminosidade)  Quadro VDI para fixação dos componentes  Fonte de 12 V (alarme)  Fonte de 5 V (LEDS) Estudo de Caso: Automação Residencial com RPi (6)
  75. 75.  Shield de Automação (http://www.projetoarduino.com.br/raspberry-shield- de-automacao-residencial-p78) Estudo de Caso: Automação Residencial com RPi (7)
  76. 76.  Sensor de alarme residencial, LED e LDR Estudo de Caso: Automação Residencial com RPi (8)
  77. 77. Estudo de Caso: Automação Residencial com RPi (9)  Demo (ligar pra casa e pedir ajuda pra minha irmã )
  78. 78.  Software:  AndroidStudio  Python  Sockets  Node.js  XML  MySQL Estudo de Caso: Automação Residencial com RPi (10)
  79. 79.  Sockets: Implementação em Python ou Node.js Estudo de Caso: Automação Residencial com RPi (11)
  80. 80. Estudo de Caso: Automação Residencial com RPi (12)
  81. 81.  Exemplo em Python Estudo de Caso: Automação Residencial com RPi (13) Servidor Cliente
  82. 82.  Exemplo em Node.js Estudo de Caso: Automação Residencial com RPi (14) var http = require("http"), porta = 1234; var servidor = http.createServer(function(request, response){ response.writeHeader(200, {"Content-Type": "text/plain"}); response.write("Hello HTTP!"); response.end(); }); servidor.listen(porta); console.log("Servidor Rodando na porta "+porta+"nLançar http://localhost:"+porta);

×