Internet das coisas com Arduino

1.225 visualizações

Publicada em

2 comentários
1 gostou
Estatísticas
Notas
Sem downloads
Visualizações
Visualizações totais
1.225
No SlideShare
0
A partir de incorporações
0
Número de incorporações
5
Ações
Compartilhamentos
0
Downloads
71
Comentários
2
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Internet das coisas com Arduino

  1. 1. Ronivaldo Sampaio Mestre em Mecatrônica ronivaldo@gmail.com INTERNET DAS COISAS COM ARDUINO
  2. 2. ARPANET Computadores Centros de Pesquisa
  3. 3. Internet Rede de Pessoas e Comunidades
  4. 4. Internet das Coisas Interliga dispositivos
  5. 5. Internet das Coisas “Uma rede de objetos (coisas) dotadas de sensores e/ou atuadores que se comunicam com outros objetos, sistemas e pessoas” -Torna mais fácil a vida das pessoas -Mudança definitiva
  6. 6. Internet das Coisas
  7. 7. Internet das Coisas
  8. 8. Internet das Coisas
  9. 9. Internet das Coisas
  10. 10. Internet das Coisas
  11. 11. Internet das Coisas
  12. 12. Internet das Coisas
  13. 13. Internet das Coisas
  14. 14. Internet das Coisas
  15. 15. Internet das Coisas
  16. 16. Internet das Coisas
  17. 17. Internet das Coisas
  18. 18. Internet das Coisas
  19. 19. Internet das Coisas
  20. 20. Internet das Coisas Máquina de Vendas Automática
  21. 21. Internet das Coisas
  22. 22. Internet das Coisas
  23. 23. Internet das Coisas
  24. 24. Internet das Coisas
  25. 25. Internet das Coisas
  26. 26. Internet das Coisas
  27. 27. Internet das Coisas 2008
  28. 28. O Que é Arduino? Plataforma para a criação de prototipos – Hardware Livre – Fácil de Usar – Origem em Wiring • C/C++ Imagem: http://arduino.cc/
  29. 29. É um dispositivo que conecta o mundo físico com o mundo virtual! O Que é Arduino?
  30. 30. @plantaiot Plantas dão uma sensação de leveza e vida – Isso é - é claro - quando você não se esqueça de regá-las – elas murcham e morrem As plantas não falam! Ainda..
  31. 31. @plantaiot Então vamos dar voz a esta nova planta: – Ela vai poder dizer o que está sentindo – Esta não vai morrer por falta de água!
  32. 32. @plantaiot Uma frase para cada nível de água no solo: – Sem água (Totalmente seco) – Mínimo (Nível crítico) – Pouca Água (Nível baixo) – Intermediário (Nível suficiente) – Cheio (Molhado – acabou de ser regada)
  33. 33. @plantaiot
  34. 34. @plantaiot
  35. 35. Código @plantaiot ... int valorSensorAgua = analogRead(sensorAguaPin); int nivelAgua = map(valorSensorAgua, 0, 1023, 0, 4); Serial.print("Nivel de Água [0..4]="); Serial.println(nivelAgua); if (nivelAgua < NIVEL_SEM_AGUA) { postToTwitter("@ronivaldops Estou morrendo de sede!!"); beep(); delay(20000); } else if (nivelAgua < NIVEL_MINIMO_AGUA) { postToTwitter("@ronivaldops Preciso de Água Urgente!"); delay(21000); } else if (nivelAgua < NIVEL_POUCA_AGUA) { ...
  36. 36. Esquemático @plantaiot
  37. 37. Objetivo da @plantaiot Muito fácil extrair dados do mundo real e transformar em informações úteis que podem ser usadas diretamente para o controle e automação das coisas.
  38. 38. Planta IoT com Regador Melhoranda a solução: – Planta IoT – Regador IoT – Dados na Nuvem – Histórico dos Eventos – Autônomia
  39. 39. Plataforma IoT
  40. 40. Plataforma IoT
  41. 41. Plataforma IoT Lugar centralizado com: – Armazenamento de dados de sensores – Visualização de Dados – Gerenciamento remoto – Tecnologias de computação em nuvem – Envio/Recebimento de dados através de API (Application Program Interface) – Armazenamento seguro – Acessado de qualquer lugar
  42. 42. Principais Plataformas
  43. 43. Xively Xively – Produto – Device – Feed • Data Stream • Data Point
  44. 44. Esquemático Sensor de Nível
  45. 45. Esquemático Regador
  46. 46. Código Planta IoT com Xively ... // Xively key para upload e download de dados char xivelyKey[] = "fNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX0c"; // xively feed ID #define xivelyFeed 899999994 // datastreams char nivelAguaID[] = "nivel_agua"; char regadorID[] = "regador"; #define CHANNEL_NIVEL_AGUA 0 #define CHANNEL_REGADOR 1 ...
  47. 47. Código Planta IoT com Xively ... // Define o nome dos datastreams do feed XivelyDatastream datastreams[] = { XivelyDatastream(nivelAguaID, strlen(nivelAguaID), DATASTREAM_INT), XivelyDatastream(regadorID, strlen(regadorID), DATASTREAM_INT), }; // Liga os datastreams no feed XivelyFeed feed(xivelyFeed, datastreams, 2 /* número de datastreams */); EthernetClient client; XivelyClient xivelyclient(client); ...
  48. 48. Código Planta IoT com Xively ... void loop() { processaSensorNivelAgua(); processaRegador(); // delay de 15s entre chamadas delay(15000); } ...
  49. 49. Código Planta IoT com Xively ... // le sensor da planta e salva na nuvem void processaSensorNivelAgua() { int valorSensorAgua = analogRead(sensorAguaPin); int nivelAgua = map(valorSensorAgua, 0, 1023, 0, 4); Serial.print("Nivel de Água [0..4]="); Serial.println(nivelAgua); // guarda o valor na nuvem datastreams[CHANNEL_NIVEL_AGUA].setInt(nivelAgua); // send value to xively Serial.println("Nivel de Agua"); Serial.println("Uploading it to Xively"); int ret = xivelyclient.put(feed, xivelyKey); // return message Serial.print("xivelyclient.put returned "); Serial.println(ret); Serial.println(""); } ...
  50. 50. Código Planta IoT com Xively ... // liga regador de acordo com o nivel de agua na planta void processaRegador() { // otem dados do feed na nuvem int getReturn = xivelyclient.get(feed, xivelyKey); if(getReturn > 0){ Serial.print("Datastream Nivel de Agua: "); Serial.println(feed[CHANNEL_NIVEL_AGUA]); } else { Serial.println("HTTP Error"); } ...
  51. 51. Código Planta IoT com Xively ... // guarda o nivel da agua do feed obtido int nivelAgua = feed[CHANNEL_NIVEL_AGUA].getInt(); // calcula quanto tempo o regado deve ficar ligado int segundosRegadorDeveLigar = 0; if (nivelAgua < NIVEL_SEM_AGUA) { // liga regador por 5 segundo segundosRegadorDeveLigar = 5; } else if (nivelAgua < NIVEL_MINIMO_AGUA) { // liga regador por 3 segundo segundosRegadorDeveLigar = 3; } else if (nivelAgua < NIVEL_POUCA_AGUA) { // liga regador por 1 segundo segundosRegadorDeveLigar = 1; } // liga ou desliga o regador de acordo com o nivel da agua controlaRegador(segundosRegadorDeveLigar); ...
  52. 52. Código Planta IoT com Xively ... // guarda o valor do regador a ser salvo na nuvem datastreams[CHANNEL_REGADOR].setInt(segundosRegadorDeveLigar); Serial.print("Datastream Regador: "); Serial.println(feed[CHANNEL_REGADOR]); // send value to xively Serial.println("Regador"); Serial.println("Uploading it to Xively"); int ret = xivelyclient.put(feed, xivelyKey); // return message Serial.print("xivelyclient.put returned "); Serial.println(ret); Serial.println(""); ...
  53. 53. Monitoramento com Xively
  54. 54. Fácil Integração com Xively
  55. 55. Outras Plataformas ... // this method makes a HTTP connection to the server: void sendData(int thisData) { // if there's a successful connection: if (client.connect(server, 80)) { Serial.println("connecting..."); // send the HTTP PUT request: client.print("PUT /v2/feeds/"); client.print(FEEDID); client.println(".csv HTTP/1.1"); client.println("Host: api.pachube.com"); client.print("X-PachubeApiKey: "); client.println(APIKEY); client.print("User-Agent: "); client.println(USERAGENT); client.print("Content-Length: "); // calculate the length of the sensor reading in bytes: // 8 bytes for "sensor1," + number of digits of the data: int thisLength = 8 + getLength(thisData); client.println(thisLength); // last pieces of the HTTP PUT request: client.println("Content-Type: text/csv"); client.println("Connection: close"); client.println(); // here's the actual content of the PUT request: client.print("sensor1,"); client.println(thisData); } ... • Outras Plataformas podem ser utilizadas com Arduino sem Biblioteca Específica. • Deve-se montar a requisição HTTP e enviar através do Ethernet Shield
  56. 56. Rede de Sensores Um nó responsável pela conexão com a nuvem
  57. 57. Integrações
  58. 58. Dever de casa Vamos desenvolver um novo Produto?
  59. 59. Fim Valorize suas ideias, mesmo que elas pareçam simples e com fácil implementação. O que importa é uma ideia legal, não quanto complexa ela é. Vamos tirar as idéias da cabeça e torná-las realidade. IoT já está aqui, é presente. Vamos aproveitar!
  60. 60. Fim Muito Obrigado! Ronivaldo Sampaio ronivaldo@gmail.com https://github.com/ronivaldo/plantaIoT
  61. 61. Referências http://www.buildinginternetofthings.com http://www.independent.co.uk/life-style/gadgets-and-tech/researchers-hack-cars-to-remotely-control-steering-and-brakes-8733723.html http://blog.kaspersky.com/internet-of-crappy-things/ http://blogs.sap.com/innovation/big-data/what-is-complex-event-processing-031470 https://blog.adafruit.com/2012/09/17/ask-an-educator-how-can-i-get-my-arduino-to-use-ipv6/ http://www.wired.com/2011/10/nest_thermostat/ http://fortune.com/2014/06/12/tony-fadell-nest/ http://playground.arduino.cc/code/exosite http://postscapes.com/what-exactly-is-the-internet-of-things-infographic http://arduino-tweet.appspot.com/ http://xively.com/ http://open.sen.se/ http://go.sap.com/solution/internet-of-things.html http://www.youtube.com/user/NICbrvideos http://www.youtube.com/user/fwthinking http://www.theinternetofthings.eu/sebastian-lange-iot-project-proud-present-you-iot-movie-%E2%80%9C-internet-things-architecture%E2%80%9D https://software.intel.com/en-us/iot http://www-01.ibm.com/software/info/internet-of-things/ cla.calpoly.edu http://pixgood.com/arpanet.html http://www.businessinsider.com/growth-in-the-internet-of-things-2013-10 http://postscapes.com/glowcaps http://www.supplymanagement.com/news/2014/internet-of-things-will-significantly-alter-supply-chains http://www.engadget.com/2014/06/03/apple-connected-homekit/ http://www.cin.ufpe.br/~kiev/IF682/02_MotivacaoProjeto_IoT.pdf http://www.youtube.com/watch?v=9rvu453WtME http://www.cisco.com/web/about/ac79/docs/innov/IoT_IBSG_0411FINAL.pdf http://arduino.cc/ http://br.freepik.com/fotos-gratis/planta-em-vaso_522235.htm http://twitter.com/ http://www.electronics-eetimes.com http://thingspeak.com/ https://www.exosite.com/ http://www.nimbits.com/ http://nest.com http://www.wired.com/2014/01/googles-3-billion-nest-buy-finally-make-internet-things-real-us/ http://postscapes.com/wi-fi-plant-sensor-koubachi http://pt-br.facebook.com/hackerspace.ce

×