Internet of Things

Sérgio Augusto Rodrigues

@sergioaugrod

"More software, less hardware"

(def sergioaugrod
  {:school "Universidade Federal de Lavras"
   :course "Sistemas de Informação"
   :job "Software Developer at Locaweb"
   :social {:blog "www.sergioaugrod.com.br"
            :github "www.github.com/sergioaugrod"}
   :languages [:ruby :clojure :java :javascript :elixir]
   :editor "vim"})

Um pouco sobre mim:

Agenda

  • O que é? Motivações?
  • Dispositivos
  • Placas e Linguagens
  • Arquiteturas
  • Home Instinct
  • Conclusão

O que é IoT?

Dispositivos inteligentes e conectados.

Dispositivos que tomam decisões conforme dados da própria rede.

Ligar uma lâmpada pelo celular é IoT?

E uma lâmpada que liga porque o sensor de luminosidade indicou ausência de luz?

No final das contas, é sobre melhorar a vidas das pessoas.

Motivações

Quero economizar na conta de luz.

Quero melhorar os processos da minha empresa.

Quero regar minha planta quando ela precisar de água.

Quero receber uma notificação caso haja alguma presença estranha na minha casa.

Dispositivos

Placas

Arduino

Raspberry Pi

Node MCU

Linguagens

Circuito

Componentes

Arduino Sketch

#define LDR_PIN A0
#define LED_PIN 2

void setup() {
  pinMode(LED_PIN, OUTPUT);
}

void loop() {
  double luminosity = (analogRead(LDR_PIN) / 1024) * 100;

  if(luminosity < 50) {
    digitalWrite(LED_PIN, HIGH);
  } else {
    digitalWrite(LED_PIN, LOW);
  }

  delay(1000);
}

Rasperry Pi Sketch

import RPi.GPIO as GPIO
import time

LED_PIN = 7
LDR_PIN = 13

GPIO.setmode(GPIO.BOARD)
GPIO.setup(LED_PIN, GPIO.OUT)
GPIO.setup(LDR_PIN, GPIO.IN)

while True:
    luminosity = GPIO.input(LDR_PIN)

    if luminosity:
        GPIO.output(LED_PIN, 0)
    else:
        GPIO.output(LED_PIN, 1)

GPIO.cleanup()

Arquiteturas

Como as placas se comunicam?

MQTT

  • Protocolo para mensagens
  • Publish / Subscribe
  • Filas
  • Centralizador de dados
  • Desacoplamento
  • Mosquitto

Qual uma forma fácil de visualizar os dados?

Grafana e InfluxDB

Home Instinct

Motivações

  • Colectar métricas da minha casa
  • Receber alertas no telegram
  • Visualizar dados de sensores em tempo real
  • Tomar decisões
  • Criar uma arquitetura fácil de evoluir

Tecnologias

Como esse tanto de coisa se conecta?

Sketch

Sketch

Jago

Grafana

Telegram

Bot

Concluindo...

IoT é somente um termo. O importante é você utilizar dispositivos para melhorar sua vida e das pessoas.

Referências e Links:

Referências e Links:

Obrigado!

Perguntas?

Internet of Things: More software, less hardware.

By Sérgio Rodrigues

Internet of Things: More software, less hardware.

  • 594