SlideShare uma empresa Scribd logo
1 de 134
Baixar para ler offline
Automação residencial
extrema com open source
Jan Seidl
GDG Foz do Iguacu / Maio 2020
$ whoami
Jan Seidl
Infrastructure Security
Engineer
Background em ICS/SCADA
Viciado em robótica /
automação
Terrível piloto de drones
freestyle
Velho mas ainda inteirão
Introdução a domótica
O que e domótica?
Domótica e um nome chique
para automação residencial.
Automação residencial e
(pasme) automatizar a sua
residência.
Tá vendo, já te ensinei
algo.
Não po, serio.
Ok ok. Eu diria que há duas
escolas:
● Os que se satisfazem
com controlar as coisas
pelo celular.
● Os que não.
Domótica nutella
Domótica nutella
Prós
● Plug and play
● Devices buscam compatibilidade
com os major players
● Suporte
Contras
● Engessado / Funcionalidade
limitada
● Dependente de Cloud / Conexão
com a internet
● Integração limitada
● Não eh exatamente “seu”
Domótica raiz extrema
Domótica extrema
Prós
● Não se comunica com redes
externas
● Não requer conexão com a
internet
● Altamente customizável /
extensible
● “Smartificacao” de coisas
burras não Smart
● Você é dono das suas coisas
Contras
● Consome quantidades
não-saudáveis de tempo
● Estressante
● Possível ameaça ao casamento
feliz
● Possibilidade de transformar
sua casa em uma grande fogueira
Domótica nutella ou
Domótica extrema?
Primeiramente, qual seu
objetivo com a domótica?
● Set-and-forget?
● Experimentação?
● State-of-art?
● J.A.R.V.I.S?
● Skynet?
Voce
Domótica
Extrema
Domótica
Nutella
Domótica nutella ou
Domótica extrema?
Quão fundo e o seu
conhecimento técnico?
● Python
● Linux/Docker
● Hardware
● Redes (cabeadas,
wireless, RF protos)
● CAD / 3D Printing
A seguir veremos:
● Motivação
● Objetivos
● A jornada
Não te perdi ainda? Excelente!
● Sempre curti automação
● Evitar, contornar ou lembrar de minhas tarefas de casa
(casados, tamo junto!)
● Cansado de apertar botão manualmente como um selvagem
● Bragging rights
Motivação
● Reativo: A casa deve reagir a intenções (event-based)
● Performante: Tudo deve funcionar reliably e rápido
● Contido: Meus dados não devem ir a servidores externos
● Resiliente: Sistema deve seguir funcionando mesmo sem
internet
Objetivos
● Customizável: Sistema deve permitir customização dos
componentes
● Extensível: Sistema deve ser fácil de estender e integrar
com outras soluções
● Seguro: Sistema deve adotar práticas seguras
● Fail-safe: Quando o sistema falhe, devo manter controle
da casa
Objetivos (cont.)
Uff, eh larga, mas vamos lá!
Pega ai um drink.
Eu te espero.
A jornada
Minha primeira vez 😏
Black Friday, 2018
Esposa concorda em comprar um
Philips Hue Kit e um Google Mini.
Erro #1
Primeiros dias de relacionamento
Alguns dias depois...
Protocolos de comunicação
WiFi
● Bastante
straightforward
● Polui a Suportado pela
rede local
● Sofre com a quantidade
de clientes ao redor
● Não requer gateway
● Consome muita energia
● Não adequado para
devices a bateria
Zigbee
Rede RF Mesh
Frequência: ~2.4GHz
Baseado no padrão IEEE
802.15.4
Mantido pela Zigbee Alliance
Excelente para devices a
bateria
Quem usa: Philips Hue,
Samsung SmartThings, Sengled
ZWave
Rede RF Mesh
Frequência: ~900mhz
Mantido pela Z-Wave Alliance
Excelente para devices a
bateria
Fechado / Restrito / $$$
Quem usa: Lutron Caseta, GE
Vantagens de protocolos RF vs WiFi
Devices WiFi em geral requerem integração específica
Zigbee e Z-Wave por serem standards, geralmente permitem
integração “simples” por um gateway / hub
Protocolos RF Mesh aumentam o range a cada device cabeado
Z-Wave (operando a 900mhz) não compete com seus outros
dispositivos WiFi 2.4GHz
IR / RF
Presente em devices
não-smart
Controle remotos de TV,
ventiladores, ar
condicionado
Campainhas sem-fio
Requer Blaster / Repetidor
Bluetooth & BLE
Comunicação curta-distância
Detecção de devices
iBeacons
BLE Tags
Hubs / Gateways
Versão DIY
Versão HW proprietário
Integrando hubs / gateways com HA
● Zigbee2MQTT
● ZWave2MQTT
● SmartThings-MQTT-Bridge
Em busca de um smart home controller
Controllers
Proprietários
● Há bons produtos
● Extensível até certo ponto
● Cloud-connected em sua maioria
● Quem sabe o que roda lá dentro
Open-source
● Alguns players
● Diferente linguagens
● Diferente arquiteturas
● Capacidades semelhantes
Meu processo de decisão
1. Cumprir com todos/maioria dos meus objetivos definidos
2. Ter uma UI que não pareca feita por um programador
3. Ter uma comunidade ativa
4. Ser em uma linguagem respeitável confiável
Home Assistant
O smart home controller
que ganhou meu 💖
Muitas integrações oficiais criadas pela comunidade
Componentes custom
não-oficiais criados pela
comunidade
Community Store
Configuração por arquivos
YAML
Backup no GitHub
I keep mine private
#paranoid
Configuration as code
E mais...
● Fórum ativo
● Bem documentado
● Comunidade grande, muitos recursos online
(blogs, twitter etc)
● Atende todos os tamanhos
○ Iniciante: Raspberry Pi
○ Intermediário: Other Linux boards better than RPi
○ Avançado: Intel NUC
○ Extremo: Servidor rack mount 💪
Primeiro “server”
Raspberry Pi 3 B+
Codename: Assassino de SD-card
Segundo “server”
Intel NUC i7 - 16GB RAM - EVO SSD
Codename: Pequeno Gigante
Voltando à questão inicial...
“Gastei toda essa grana
e tempo e ainda assim tenho
que acender minhas próprias luzes”
Sensores
Atuadores
Sensores
Responsáveis por medir
diferentes parâmetros do
ambiente:
● Temperatura
● Humidade
● Luz
● Movimento
● Distância
● Peso
● etc...
Permite reagir a valores e
ser pró-ativo.
Sensores
Sensores (cont)
Sensor de contato: Usado em
portas e janelas
primariamente
Seja criativo: gavetas,
armários, geladeira etc.
Sensor de vazamento: Útil
debaixo de pias, ou dentro
do chuveiro (detecção de
banho?!) ou perto de coisas
que vazam 🐟
Sensores de rede
Localizam dispositivos na
rede
● Ping
● NMap
● Integração com
equipamento de rede
MeisterSensor Mark I
Codinome: Foco Do Incêndio
● Microcontrolador
ESP8266
● Firmware: Código custom
● Montado em breadboard
● WiFi + MQTT
● Sensores:
○ PIR (Movimento)
○ DHT22 (Temp/Humid)
○ LDR (Luz)
Sensores DIY
ESPHome
ESPHome
Framework
Integra com Home Assistant
pela API
C -> YAML
Simplesmente, lindo!
E mais: OTA updates, gerenciamento centralizado...
Imediatamente deixando meu código custom
e migrando para ESP Home
Sensores DIY
@t_grote’s ESPHome node
MeisterSensor Mark II
Codenome: ColaQuenteFTW!
● Firmware: ESPHome
● Custom 3D Printed case
● Adiciona: Status LED (Neopixel)
Sensores DIY
https://synapselabs.io/posts/multisensors-with-esphome-on-homeassistant/
Pessoas fazendo #2 não se movem
Desafio #1
MeisterSensor Mark II (Versão Banheiro)
Codenome: NoPoopInTheDark
● Adiciona: Ultrassom (Distância)
Sensores DIY
Pessoas dormidas se movem
Desafio #2
Bed Sensor Mark I
Codinome: Impressionante Que Funciona
● Microcontrolador ESP32
● WiFI + MQTT
● Firmware: Código custom
● Soldas horríveis
● Vários cabos dupont conectados juntos
Sensores DIY
Bed Sensor Mark II
Codinome: Esposa Agradece
● WiFI + HA API
● Firmware: ESPHome
● Soldas honestas
● Cabos apropriados, conectores RJ11 /
keystone, placa custom (perfboard)
Sensores DIY
https://synapselabs.io/posts/bed-sensor-with-esphome-on-homeassistant/
Sensores DIY
https://synapselabs.io/posts/bed-sensor-with-esphome-on-homeassistant/
Atuadores
Responsáveis por atuar no
ambiente:
● Conectar / Desconectar
fornecimento de
eletricidade
● Mover mecanicamente
● Abrir / Fechar válvulas
● Enviar sinais
● etc...
Atuadores
Além de permitir ligar e
desligar coisas, há modelos
que reportam o consumo da
tomada.
Estes são ferramentas muito
úteis na Smartificacao de
devices estúpidos.
Smart Outlets
Seguindo o mesmo princípio,
também temos os Smart
Switches (interruptores).
Vão na mesma caixa elétrica
do seu interruptor normal.
Como os outlets, alguns
modelos também provém
medição de carga.
Smart Switches
Caso de estudo: Pseudo
Ar-Condicionado
Temperature Sensor + Smart
Outlet + Ventilador
Componente “Generic
Thermostat” do HA
Liga / Desliga o ventilador
automaticamente baseado na
temperatura configurada.
Smart Outlets
Caso de estudo: Smart
Aquário
Garante que componentes
vitais não sejam esquecidos
desligados
Alerta em caso de mal
funcionamento
Automatiza rotinas de
limpeza e alimentação
Smart Outlets
Smart Outlets /
Switches
Open-Source:
● Sonoff
● Tasmota / ESPHome
● Botões
● Fio elétrico
● Conectores
● Plano de saúde
Destranca / Tranca
Indica estado
(Destrancado/Trancado)
E isso!
Smart Locks
Open-Source:
● ESP8266
● Servo
● ESPHome
Smart Locks
Caso de estudo: Auto-trancar
a porta
Sensor de porta + Smart Lock
+ HA Input Boolean
Tranca a porta quando
detecta que mudou de estado
para OFF (Fechado)
Smart Locks
IR Blasters / Signal
Repeaters
Simulam controle remotos
(ambos infravermelho e via
RF)
Recomendado: Broadlink RM
Plus
Integração nativa com HA
Suporta ambos IR e RF
Suporte a modo aprendizagem
IR Blasters / Signal
Repeaters
Open-Source:
● ESP8266
● IR LED
● ESPHome
IR Blasters / Signal
Repeaters
Caso de estudo: TV
não-tão-smart
Mapeado: ON/OFF, Volume +/-
IR Blaster + Smart Outlet +
Roku
Caso de estudo: TV
não-tão-smart
TV burra exposta como
full-media device no HA
Controle total: Apps
[netflix, hulu etc], Volume,
ON/OFF
Feedback de estado: idle,
home, playing
IR Blasters / Signal
Repeaters
Automações
Automações no HA
● Sintaxe de markup (YAML)
● Triggers -> Condições -> Ações
● Condições podem ser AND e OR
● Podem ser ligadas / desligadas
● Execuções são logadas
● Podem ser executados
manualmente
Gerenciando Presença
Presença Local vs Presença Global
Presença Global
Detecção de onde estão os
residentes em relação com a casa.
● GPS
● Presença de devices na rede
● Bluetooth
Presença Local
Detecção de onde estão os
residentes dentro casa.
● Sensores (diversos)
● Presença de devices na rede
● Bluetooth
● Mudança no estado de devices
Gerenciamento de
presença - Global
Quanto mais sensores, melhor
Trio ternura:
● GPS
● Bluetooth
● Rede
Malabares de fonte de
presença gerenciado pela
integração Better Presence.
https://github.com/helto4real/hassio-add-ons/tree/master/presence
Gerenciamento de
presença - Local
Problema interessante
Divisão de cômodos
Fontes de presença
Mantendo presença (Presence
Hold)
Timeouts, Intervalos
Gerenciamento de presença - Local
Problema interessante
Divisão de cômodos
Fontes de presença
Mantendo presença (Presence Hold)
Timeouts, Intervalos
● Quais estados de devices podem
ser considerados quando um
humano este presente?
● Quanto tempo deve-se aguardar
antes de liberar a presença?
● Como prevenir que o estado mude
em situações indesejadas.
Gerenciamento de presença - Local
Problema interessante
Divisão de cômodos
Fontes de presença
Mantendo presença (Presence Hold)
Timeouts, Intervalos
● Hall
● Cozinha
● Sala de jantar
● Sala de estar
● Quarto
● Banheiro do quarto
● Escritório
● Banheiro
● Pátio
● Entrada
Gerenciamento de presença - Local
Problema interessante
Divisão de cômodos
Fontes de presença
Mantendo presença (Presence Hold)
Timeouts, Intervalos
● Sensores de movimento (PIR)
● Sensores de distância
● Sensores de peso
● Tocadores de mídia
● Presença de devices
○ Rede
○ Integração
○ Consumo de energia
● Porta aberta
Gerenciamento de presença - Local
Problema interessante
Divisão de cômodos
Fontes de presença
Mantendo presença (Presence Hold)
Timeouts, Intervalos
● Previne a mudança do estado de
ocupação do cômodo
● Muitas fontes de presença podem
ser fontes de Presence Hold
● Pode ser ativado manualmente
Gerenciamento de presença - Local
Problema interessante
Divisão de cômodos
Fontes de presença
Mantendo presença (Presence Hold)
Timeouts, Intervalos
● Clear Timeout: Tempo passado
desde que uma última fonte de
presença foi a OFF antes de
marcar o cômodo como Livre
● Diferentes cômodos requerem
diferentes clear timeouts
● Experimentação e a chave!
● Intervalos de atualização: se
algum evento de estado foi
perdido (por reboot por
exemplo), recheca todos os
sensores em um dado intervalo.
Meu primeiro
componente
Tentando resolver o
paradigma da presença
Room
● Migrando de uma série
de template sensors,
inputs e automações
para um único
componente
● Mantendo-se DRY
● Considera diferentes
estados como presença
● Timeouts configuráveis
Terminais de acesso
Console principal: Tablet 10”
Celulares velhos
Permanentemente carregando
Suporte de carro
reaproveitado
Lockeado em modo Kiosk
somente com os controles do
cômodo configurado.
Controlado por MQTT
Console por cômodo
WallPanel
Open-Source
Android / iOS
Acesso Remoto
Acesso Remoto
Fácil: Servico Nabu Casa
● Pago (Barato)
● Nenhuma alteração na rede interna
● Integração nativa no HA
Menos fácil:
● NAT no roteador
● DuckDNS
● Gerenciamento de certificados de SSL (Let’s Encrypt)
Backups
Backups
Local: Nativo
Cloud: Hass.io Google Drive Backup
Configuração: GitHub
Notificações & Confirmações
Notificações
Via texto
● Telegram
● Google Hangouts
● Slack
● Twitter
● Discord
● Email (SMTP)
● Pushbullet
● Apple Push Notification Service
● AWS Lambda
Via voz
● Google Assistant (TTS)
● Alexa (Alexa Media Player)
○ Suporta perguntas!
Notificações (cont)
Adequando sua rede
Hardware
● All-in-one para consumidor
final não aguenta
○ Nem os top de linha gamer de
U$D 300+
● Investimento ($$$) em hardware
enterprise-level
○ Access Point
○ Switches
○ Router
○ Firewall
Open-source: HW Barebones +
PFSense/VyOS/etc
Proprietário: Varios players
Meu ninho de rato setup com Unifi / NUC / Hue Bridge / Hubitat
Foi todo um processo...
Rolou um convencimento...
Divisão de redes em VLANs
Regras de firewall
Robôs-aspiradores
Roborock S5 + Valetudo
FW
Modelo S5 suporta carregar
firmware custom
Desconecta o robô da nuvem
(e de se comunicar com o
fabricante)
Todas funcionalidades
intactas (exceto app
oficial)
Controle e sensoriamento por
MQTT
Síndrome de Velozes e Furiosos
“Condição onde um vê a oportunidade de aplicar LED strips em
todos lugares. Causada pelo uso de LED strips uma única vez,
a síndrome é facilmente tratada aplicando A olhada da morte,
500mg, diretamente no rosto do paciente.”
Organização Mundial da Saúde
Síndrome de Velozes e Furiosos
Pretexto: Luz noturna
Pretexto: Looks amazing
Fato divertido
Convertendo RGB to HSL
Magia negra over 9000
Sylvania/Sengled LED strips
usam HSL
Home Assistant usa RGB +
Temperatura de cor
Template sensor (Componente
HA) escuta mudanças do valor
RGB e réplica no HSL (e
vice-versa)
Hyperion
Hyperion
● Philips Ambilight-clone
● Projeto open source
● Usa light-strips LED enderecaveis por SPI (LPD6803,
LPD8806, APA102, and WS2801)
● Controlador: Raspberry Pi Zero W
● Requer soldagem, fontes de energia de alta-corrente 💀
Esposa engenheira altamente recomendado
Splitters, conversores, captura e Raspberry Pi
Bus 5V principal
LED Strip, injeção de power, trabalho de fita-isolante profissional
Câmeras
Wyze V2
Dafang-Hacks FW
Remove conexão com a cloud
Detecção de movimento
Streams RTSP e MJPEG
Controle e notificações por
MQTT
Impressora 3D / Octoprint
OctoPrint
● Monitoramento &
Controle
● Camera View
● Gráficos de temperatura
● Notificações (erro/fim)
● Automações
Le fin
Jan Seidl @jseidl
🧠 synapselabs.io

Mais conteúdo relacionado

Mais procurados

Arduino e a_internet_das_coisas
Arduino e a_internet_das_coisasArduino e a_internet_das_coisas
Arduino e a_internet_das_coisasHugo Lavalle
 
Introdução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Introdução ao Arduino: Fundamentos e Aplicações de MicrocontroladoresIntrodução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Introdução ao Arduino: Fundamentos e Aplicações de MicrocontroladoresCarlos Eduardo Pantoja
 
Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011Marco Antonio Maciel
 
Palestra: Robótica com Arduino
Palestra: Robótica com ArduinoPalestra: Robótica com Arduino
Palestra: Robótica com ArduinoFelipe Martins
 
Plataformas atuais de sistemas embarcados para IoT
Plataformas atuais de sistemas embarcados para IoTPlataformas atuais de sistemas embarcados para IoT
Plataformas atuais de sistemas embarcados para IoTAndré Luiz Secco
 
Introdução ao Arduino e robótica
Introdução ao Arduino e robóticaIntrodução ao Arduino e robótica
Introdução ao Arduino e robóticaMarcelo Quinta
 
Slides minicurso Arduino - Controle de Motores DC
Slides minicurso Arduino - Controle de Motores DC Slides minicurso Arduino - Controle de Motores DC
Slides minicurso Arduino - Controle de Motores DC Gustavo Yoshio Maruyama
 
Domótica - Automatizando ambientes com Arduino
Domótica - Automatizando ambientes com ArduinoDomótica - Automatizando ambientes com Arduino
Domótica - Automatizando ambientes com ArduinoDesiree Santos
 
Arduino - Dicas & Truques
Arduino - Dicas & TruquesArduino - Dicas & Truques
Arduino - Dicas & TruquesÁlvaro Justen
 
Embarcados - Ao arduino e além
Embarcados - Ao arduino e alémEmbarcados - Ao arduino e além
Embarcados - Ao arduino e alémFabio Souza
 
Palestra arduino
Palestra arduinoPalestra arduino
Palestra arduinoWalter Coan
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao ArduinoPeslPinguim
 
Domótica: Controle dispositivos via comando de voz com arduino
Domótica: Controle dispositivos via comando de voz com arduinoDomótica: Controle dispositivos via comando de voz com arduino
Domótica: Controle dispositivos via comando de voz com arduinoDesiree Santos
 
Oficina de IoT #02 - Quarta Temporada
Oficina de IoT #02 - Quarta TemporadaOficina de IoT #02 - Quarta Temporada
Oficina de IoT #02 - Quarta TemporadaDouglas Esteves
 
Apostila para Programar Arduino
Apostila para Programar ArduinoApostila para Programar Arduino
Apostila para Programar ArduinoIsvaldo Souza
 
Guia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINOGuia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINOChellton Almeida
 

Mais procurados (20)

Arduino e a_internet_das_coisas
Arduino e a_internet_das_coisasArduino e a_internet_das_coisas
Arduino e a_internet_das_coisas
 
Introdução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Introdução ao Arduino: Fundamentos e Aplicações de MicrocontroladoresIntrodução ao Arduino: Fundamentos e Aplicações de Microcontroladores
Introdução ao Arduino: Fundamentos e Aplicações de Microcontroladores
 
Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011Robótica e PHP com Arduino - PHPn' Rio 2011
Robótica e PHP com Arduino - PHPn' Rio 2011
 
Palestra: Robótica com Arduino
Palestra: Robótica com ArduinoPalestra: Robótica com Arduino
Palestra: Robótica com Arduino
 
Plataformas atuais de sistemas embarcados para IoT
Plataformas atuais de sistemas embarcados para IoTPlataformas atuais de sistemas embarcados para IoT
Plataformas atuais de sistemas embarcados para IoT
 
Introdução ao Arduino e robótica
Introdução ao Arduino e robóticaIntrodução ao Arduino e robótica
Introdução ao Arduino e robótica
 
Slides minicurso Arduino - Controle de Motores DC
Slides minicurso Arduino - Controle de Motores DC Slides minicurso Arduino - Controle de Motores DC
Slides minicurso Arduino - Controle de Motores DC
 
Domótica - Automatizando ambientes com Arduino
Domótica - Automatizando ambientes com ArduinoDomótica - Automatizando ambientes com Arduino
Domótica - Automatizando ambientes com Arduino
 
Arduino - Dicas & Truques
Arduino - Dicas & TruquesArduino - Dicas & Truques
Arduino - Dicas & Truques
 
Arduino
ArduinoArduino
Arduino
 
Arduino
ArduinoArduino
Arduino
 
Embarcados - Ao arduino e além
Embarcados - Ao arduino e alémEmbarcados - Ao arduino e além
Embarcados - Ao arduino e além
 
Palestra arduino
Palestra arduinoPalestra arduino
Palestra arduino
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Domótica: Controle dispositivos via comando de voz com arduino
Domótica: Controle dispositivos via comando de voz com arduinoDomótica: Controle dispositivos via comando de voz com arduino
Domótica: Controle dispositivos via comando de voz com arduino
 
Apresentando o Arduino - UESPI
Apresentando o Arduino - UESPIApresentando o Arduino - UESPI
Apresentando o Arduino - UESPI
 
Introdução ao Arduino
Introdução ao ArduinoIntrodução ao Arduino
Introdução ao Arduino
 
Oficina de IoT #02 - Quarta Temporada
Oficina de IoT #02 - Quarta TemporadaOficina de IoT #02 - Quarta Temporada
Oficina de IoT #02 - Quarta Temporada
 
Apostila para Programar Arduino
Apostila para Programar ArduinoApostila para Programar Arduino
Apostila para Programar Arduino
 
Guia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINOGuia arduino iniciante multilogica ARDUINO
Guia arduino iniciante multilogica ARDUINO
 

Semelhante a Automação residencial open source

Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoÁlvaro Justen
 
IX Pylestras - SmartGrid com Python
IX Pylestras - SmartGrid com PythonIX Pylestras - SmartGrid com Python
IX Pylestras - SmartGrid com Pythonitalomaia
 
Internet das Coisas com Coisas Reais: Java , Things API, Raspberry PI e Toys!
Internet das Coisas com Coisas Reais:  Java , Things API, Raspberry PI e Toys!Internet das Coisas com Coisas Reais:  Java , Things API, Raspberry PI e Toys!
Internet das Coisas com Coisas Reais: Java , Things API, Raspberry PI e Toys!Globalcode
 
Internet das Coisas com Java e Things API
Internet das Coisas com Java e Things APIInternet das Coisas com Java e Things API
Internet das Coisas com Java e Things APIGlobalcode
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoLuciano Ramalho
 
Arduíno muito prazer
Arduíno muito prazerArduíno muito prazer
Arduíno muito prazerHeider Lopes
 
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDeviceHackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDeviceRicardo Rufino
 
Soluções de IoT usando Google Cloud e Firebase
Soluções de IoT usando Google Cloud e FirebaseSoluções de IoT usando Google Cloud e Firebase
Soluções de IoT usando Google Cloud e FirebaseAlvaro Viebrantz
 
Campus Party 2014 - Internet das Coisas com coisas reais
Campus Party 2014 - Internet das Coisas com coisas reaisCampus Party 2014 - Internet das Coisas com coisas reais
Campus Party 2014 - Internet das Coisas com coisas reaisGlobalcode
 
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018Alvaro Viebrantz
 
Prototipação rápida - Rails e Arduino
Prototipação rápida - Rails e ArduinoPrototipação rápida - Rails e Arduino
Prototipação rápida - Rails e ArduinoDaner dos Reis
 
Sindpd introducao arduinodomotica
Sindpd introducao arduinodomoticaSindpd introducao arduinodomotica
Sindpd introducao arduinodomoticaDesiree Santos
 
IoT Usando Azure Como Backend
IoT Usando Azure Como BackendIoT Usando Azure Como Backend
IoT Usando Azure Como BackendJorge Maia
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)Ricardo Rufino
 
Oficina de IoT conhecendo ESP8266 #CPBR12
Oficina de IoT conhecendo ESP8266 #CPBR12Oficina de IoT conhecendo ESP8266 #CPBR12
Oficina de IoT conhecendo ESP8266 #CPBR12Douglas Esteves
 
Introdução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdfIntrodução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdfCliverRaimundo2
 
Ligando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e AndroidLigando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e AndroidGDGFoz
 
Plataformas open-source para Internet das Coisas (IoT)
Plataformas open-source para Internet das Coisas (IoT)Plataformas open-source para Internet das Coisas (IoT)
Plataformas open-source para Internet das Coisas (IoT)Eronides Da Silva Neto
 

Semelhante a Automação residencial open source (20)

Arduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremoArduino + Python: produtividade ao extremo
Arduino + Python: produtividade ao extremo
 
IX Pylestras - SmartGrid com Python
IX Pylestras - SmartGrid com PythonIX Pylestras - SmartGrid com Python
IX Pylestras - SmartGrid com Python
 
Internet das Coisas com Coisas Reais: Java , Things API, Raspberry PI e Toys!
Internet das Coisas com Coisas Reais:  Java , Things API, Raspberry PI e Toys!Internet das Coisas com Coisas Reais:  Java , Things API, Raspberry PI e Toys!
Internet das Coisas com Coisas Reais: Java , Things API, Raspberry PI e Toys!
 
Internet das Coisas com Java e Things API
Internet das Coisas com Java e Things APIInternet das Coisas com Java e Things API
Internet das Coisas com Java e Things API
 
Arduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojoArduino: hardware hacking & coding dojo
Arduino: hardware hacking & coding dojo
 
Arduíno muito prazer
Arduíno muito prazerArduíno muito prazer
Arduíno muito prazer
 
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDeviceHackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
Hackeando um SmartBOX (com android) e instalando Linux & JAVA & OpenDevice
 
Soluções de IoT usando Google Cloud e Firebase
Soluções de IoT usando Google Cloud e FirebaseSoluções de IoT usando Google Cloud e Firebase
Soluções de IoT usando Google Cloud e Firebase
 
Campus Party 2014 - Internet das Coisas com coisas reais
Campus Party 2014 - Internet das Coisas com coisas reaisCampus Party 2014 - Internet das Coisas com coisas reais
Campus Party 2014 - Internet das Coisas com coisas reais
 
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018
Codelab - Google Cloud IoT Core e MongooseOS - I/O Extended Cuiabá 2018
 
Prototipação rápida - Rails e Arduino
Prototipação rápida - Rails e ArduinoPrototipação rápida - Rails e Arduino
Prototipação rápida - Rails e Arduino
 
Sindpd introducao arduinodomotica
Sindpd introducao arduinodomoticaSindpd introducao arduinodomotica
Sindpd introducao arduinodomotica
 
Minicurso de Arduino Básico
Minicurso de Arduino BásicoMinicurso de Arduino Básico
Minicurso de Arduino Básico
 
nodeLHC #secomp2016
nodeLHC #secomp2016nodeLHC #secomp2016
nodeLHC #secomp2016
 
IoT Usando Azure Como Backend
IoT Usando Azure Como BackendIoT Usando Azure Como Backend
IoT Usando Azure Como Backend
 
OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)OpenDevice IoT - 2016 (LowLevel)
OpenDevice IoT - 2016 (LowLevel)
 
Oficina de IoT conhecendo ESP8266 #CPBR12
Oficina de IoT conhecendo ESP8266 #CPBR12Oficina de IoT conhecendo ESP8266 #CPBR12
Oficina de IoT conhecendo ESP8266 #CPBR12
 
Introdução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdfIntrodução-à-Programação-Embarcada-com-Arduino.pdf
Introdução-à-Programação-Embarcada-com-Arduino.pdf
 
Ligando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e AndroidLigando uma cafeteira com Micropython, Mqtt e Android
Ligando uma cafeteira com Micropython, Mqtt e Android
 
Plataformas open-source para Internet das Coisas (IoT)
Plataformas open-source para Internet das Coisas (IoT)Plataformas open-source para Internet das Coisas (IoT)
Plataformas open-source para Internet das Coisas (IoT)
 

Mais de GDGFoz

Apresentação GDG Foz 2023
Apresentação GDG Foz  2023Apresentação GDG Foz  2023
Apresentação GDG Foz 2023GDGFoz
 
Desenvolvimento de um Comedouro para cães com Acionamento Automático e Remoto
Desenvolvimento de um Comedouro para cães com Acionamento Automático e RemotoDesenvolvimento de um Comedouro para cães com Acionamento Automático e Remoto
Desenvolvimento de um Comedouro para cães com Acionamento Automático e RemotoGDGFoz
 
Introdução do DEVSECOPS
Introdução do DEVSECOPSIntrodução do DEVSECOPS
Introdução do DEVSECOPSGDGFoz
 
Aquisição de dados IoT com Event Sourcing e Microservices
Aquisição de dados IoT com Event Sourcing e MicroservicesAquisição de dados IoT com Event Sourcing e Microservices
Aquisição de dados IoT com Event Sourcing e MicroservicesGDGFoz
 
Robótica Sucational
Robótica SucationalRobótica Sucational
Robótica SucationalGDGFoz
 
A nova era do desenvolvimento mobile
A nova era do desenvolvimento mobile A nova era do desenvolvimento mobile
A nova era do desenvolvimento mobile GDGFoz
 
Qualidade em Testes de Software
Qualidade em Testes de SoftwareQualidade em Testes de Software
Qualidade em Testes de SoftwareGDGFoz
 
WebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoTWebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoTGDGFoz
 
Dart e Flutter do Server ao Client Side
Dart e Flutter do Server ao Client SideDart e Flutter do Server ao Client Side
Dart e Flutter do Server ao Client SideGDGFoz
 
UX: O que é e como pode influenciar a vida do desenvolvedor?
UX: O que é e como pode influenciar a vida do desenvolvedor?UX: O que é e como pode influenciar a vida do desenvolvedor?
UX: O que é e como pode influenciar a vida do desenvolvedor?GDGFoz
 
Dicas de como entrar no mundo do DevSecOps
Dicas de como entrar no mundo do DevSecOpsDicas de como entrar no mundo do DevSecOps
Dicas de como entrar no mundo do DevSecOpsGDGFoz
 
Angular >= 2 - One Framework Mobile & Desktop
Angular >= 2 - One Framework Mobile & DesktopAngular >= 2 - One Framework Mobile & Desktop
Angular >= 2 - One Framework Mobile & DesktopGDGFoz
 
Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?
Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?
Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?GDGFoz
 
Desmistificando a programação funcional
Desmistificando a programação funcionalDesmistificando a programação funcional
Desmistificando a programação funcionalGDGFoz
 
Microsserviços com Kotlin
Microsserviços com KotlinMicrosserviços com Kotlin
Microsserviços com KotlinGDGFoz
 
Autenticação de dois fatores
Autenticação de dois fatores Autenticação de dois fatores
Autenticação de dois fatores GDGFoz
 
Fique em casa seguro (ou tente)!
Fique em casa seguro (ou tente)!Fique em casa seguro (ou tente)!
Fique em casa seguro (ou tente)!GDGFoz
 
Hooks em React: o novo jeito de fazer componentes funcionais
Hooks em React: o novo jeito de fazer componentes funcionaisHooks em React: o novo jeito de fazer componentes funcionais
Hooks em React: o novo jeito de fazer componentes funcionaisGDGFoz
 
Angular, React ou Vue? Comparando os favoritos do JS reativo
Angular, React ou Vue? Comparando os favoritos do JS reativoAngular, React ou Vue? Comparando os favoritos do JS reativo
Angular, React ou Vue? Comparando os favoritos do JS reativoGDGFoz
 
Styled Components - Estilizando components sem stress - Roberto Tauille
Styled Components - Estilizando components sem stress - Roberto TauilleStyled Components - Estilizando components sem stress - Roberto Tauille
Styled Components - Estilizando components sem stress - Roberto TauilleGDGFoz
 

Mais de GDGFoz (20)

Apresentação GDG Foz 2023
Apresentação GDG Foz  2023Apresentação GDG Foz  2023
Apresentação GDG Foz 2023
 
Desenvolvimento de um Comedouro para cães com Acionamento Automático e Remoto
Desenvolvimento de um Comedouro para cães com Acionamento Automático e RemotoDesenvolvimento de um Comedouro para cães com Acionamento Automático e Remoto
Desenvolvimento de um Comedouro para cães com Acionamento Automático e Remoto
 
Introdução do DEVSECOPS
Introdução do DEVSECOPSIntrodução do DEVSECOPS
Introdução do DEVSECOPS
 
Aquisição de dados IoT com Event Sourcing e Microservices
Aquisição de dados IoT com Event Sourcing e MicroservicesAquisição de dados IoT com Event Sourcing e Microservices
Aquisição de dados IoT com Event Sourcing e Microservices
 
Robótica Sucational
Robótica SucationalRobótica Sucational
Robótica Sucational
 
A nova era do desenvolvimento mobile
A nova era do desenvolvimento mobile A nova era do desenvolvimento mobile
A nova era do desenvolvimento mobile
 
Qualidade em Testes de Software
Qualidade em Testes de SoftwareQualidade em Testes de Software
Qualidade em Testes de Software
 
WebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoTWebAssembly além da Web - Casos de Uso em IoT
WebAssembly além da Web - Casos de Uso em IoT
 
Dart e Flutter do Server ao Client Side
Dart e Flutter do Server ao Client SideDart e Flutter do Server ao Client Side
Dart e Flutter do Server ao Client Side
 
UX: O que é e como pode influenciar a vida do desenvolvedor?
UX: O que é e como pode influenciar a vida do desenvolvedor?UX: O que é e como pode influenciar a vida do desenvolvedor?
UX: O que é e como pode influenciar a vida do desenvolvedor?
 
Dicas de como entrar no mundo do DevSecOps
Dicas de como entrar no mundo do DevSecOpsDicas de como entrar no mundo do DevSecOps
Dicas de como entrar no mundo do DevSecOps
 
Angular >= 2 - One Framework Mobile & Desktop
Angular >= 2 - One Framework Mobile & DesktopAngular >= 2 - One Framework Mobile & Desktop
Angular >= 2 - One Framework Mobile & Desktop
 
Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?
Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?
Brasil.IO COVID-19: Dados por Municípios. Quais os Desafios?
 
Desmistificando a programação funcional
Desmistificando a programação funcionalDesmistificando a programação funcional
Desmistificando a programação funcional
 
Microsserviços com Kotlin
Microsserviços com KotlinMicrosserviços com Kotlin
Microsserviços com Kotlin
 
Autenticação de dois fatores
Autenticação de dois fatores Autenticação de dois fatores
Autenticação de dois fatores
 
Fique em casa seguro (ou tente)!
Fique em casa seguro (ou tente)!Fique em casa seguro (ou tente)!
Fique em casa seguro (ou tente)!
 
Hooks em React: o novo jeito de fazer componentes funcionais
Hooks em React: o novo jeito de fazer componentes funcionaisHooks em React: o novo jeito de fazer componentes funcionais
Hooks em React: o novo jeito de fazer componentes funcionais
 
Angular, React ou Vue? Comparando os favoritos do JS reativo
Angular, React ou Vue? Comparando os favoritos do JS reativoAngular, React ou Vue? Comparando os favoritos do JS reativo
Angular, React ou Vue? Comparando os favoritos do JS reativo
 
Styled Components - Estilizando components sem stress - Roberto Tauille
Styled Components - Estilizando components sem stress - Roberto TauilleStyled Components - Estilizando components sem stress - Roberto Tauille
Styled Components - Estilizando components sem stress - Roberto Tauille
 

Automação residencial open source

  • 1. Automação residencial extrema com open source Jan Seidl GDG Foz do Iguacu / Maio 2020
  • 2. $ whoami Jan Seidl Infrastructure Security Engineer Background em ICS/SCADA Viciado em robótica / automação Terrível piloto de drones freestyle Velho mas ainda inteirão
  • 4. O que e domótica? Domótica e um nome chique para automação residencial. Automação residencial e (pasme) automatizar a sua residência. Tá vendo, já te ensinei algo.
  • 5. Não po, serio. Ok ok. Eu diria que há duas escolas: ● Os que se satisfazem com controlar as coisas pelo celular. ● Os que não.
  • 7. Domótica nutella Prós ● Plug and play ● Devices buscam compatibilidade com os major players ● Suporte Contras ● Engessado / Funcionalidade limitada ● Dependente de Cloud / Conexão com a internet ● Integração limitada ● Não eh exatamente “seu”
  • 9. Domótica extrema Prós ● Não se comunica com redes externas ● Não requer conexão com a internet ● Altamente customizável / extensible ● “Smartificacao” de coisas burras não Smart ● Você é dono das suas coisas Contras ● Consome quantidades não-saudáveis de tempo ● Estressante ● Possível ameaça ao casamento feliz ● Possibilidade de transformar sua casa em uma grande fogueira
  • 10. Domótica nutella ou Domótica extrema? Primeiramente, qual seu objetivo com a domótica? ● Set-and-forget? ● Experimentação? ● State-of-art? ● J.A.R.V.I.S? ● Skynet? Voce Domótica Extrema Domótica Nutella
  • 11. Domótica nutella ou Domótica extrema? Quão fundo e o seu conhecimento técnico? ● Python ● Linux/Docker ● Hardware ● Redes (cabeadas, wireless, RF protos) ● CAD / 3D Printing
  • 12. A seguir veremos: ● Motivação ● Objetivos ● A jornada Não te perdi ainda? Excelente!
  • 13. ● Sempre curti automação ● Evitar, contornar ou lembrar de minhas tarefas de casa (casados, tamo junto!) ● Cansado de apertar botão manualmente como um selvagem ● Bragging rights Motivação
  • 14. ● Reativo: A casa deve reagir a intenções (event-based) ● Performante: Tudo deve funcionar reliably e rápido ● Contido: Meus dados não devem ir a servidores externos ● Resiliente: Sistema deve seguir funcionando mesmo sem internet Objetivos
  • 15. ● Customizável: Sistema deve permitir customização dos componentes ● Extensível: Sistema deve ser fácil de estender e integrar com outras soluções ● Seguro: Sistema deve adotar práticas seguras ● Fail-safe: Quando o sistema falhe, devo manter controle da casa Objetivos (cont.)
  • 16. Uff, eh larga, mas vamos lá! Pega ai um drink. Eu te espero. A jornada
  • 19. Esposa concorda em comprar um Philips Hue Kit e um Google Mini. Erro #1
  • 20. Primeiros dias de relacionamento
  • 22.
  • 24. WiFi ● Bastante straightforward ● Polui a Suportado pela rede local ● Sofre com a quantidade de clientes ao redor ● Não requer gateway ● Consome muita energia ● Não adequado para devices a bateria
  • 25. Zigbee Rede RF Mesh Frequência: ~2.4GHz Baseado no padrão IEEE 802.15.4 Mantido pela Zigbee Alliance Excelente para devices a bateria Quem usa: Philips Hue, Samsung SmartThings, Sengled
  • 26. ZWave Rede RF Mesh Frequência: ~900mhz Mantido pela Z-Wave Alliance Excelente para devices a bateria Fechado / Restrito / $$$ Quem usa: Lutron Caseta, GE
  • 27. Vantagens de protocolos RF vs WiFi Devices WiFi em geral requerem integração específica Zigbee e Z-Wave por serem standards, geralmente permitem integração “simples” por um gateway / hub Protocolos RF Mesh aumentam o range a cada device cabeado Z-Wave (operando a 900mhz) não compete com seus outros dispositivos WiFi 2.4GHz
  • 28. IR / RF Presente em devices não-smart Controle remotos de TV, ventiladores, ar condicionado Campainhas sem-fio Requer Blaster / Repetidor
  • 29. Bluetooth & BLE Comunicação curta-distância Detecção de devices iBeacons BLE Tags
  • 30.
  • 34. Integrando hubs / gateways com HA ● Zigbee2MQTT ● ZWave2MQTT ● SmartThings-MQTT-Bridge
  • 35. Em busca de um smart home controller
  • 36. Controllers Proprietários ● Há bons produtos ● Extensível até certo ponto ● Cloud-connected em sua maioria ● Quem sabe o que roda lá dentro Open-source ● Alguns players ● Diferente linguagens ● Diferente arquiteturas ● Capacidades semelhantes
  • 37. Meu processo de decisão 1. Cumprir com todos/maioria dos meus objetivos definidos 2. Ter uma UI que não pareca feita por um programador 3. Ter uma comunidade ativa 4. Ser em uma linguagem respeitável confiável
  • 38. Home Assistant O smart home controller que ganhou meu 💖
  • 39. Muitas integrações oficiais criadas pela comunidade
  • 40. Componentes custom não-oficiais criados pela comunidade Community Store
  • 41. Configuração por arquivos YAML Backup no GitHub I keep mine private #paranoid Configuration as code
  • 42. E mais... ● Fórum ativo ● Bem documentado ● Comunidade grande, muitos recursos online (blogs, twitter etc) ● Atende todos os tamanhos ○ Iniciante: Raspberry Pi ○ Intermediário: Other Linux boards better than RPi ○ Avançado: Intel NUC ○ Extremo: Servidor rack mount 💪
  • 43. Primeiro “server” Raspberry Pi 3 B+ Codename: Assassino de SD-card
  • 44. Segundo “server” Intel NUC i7 - 16GB RAM - EVO SSD Codename: Pequeno Gigante
  • 45. Voltando à questão inicial...
  • 46. “Gastei toda essa grana e tempo e ainda assim tenho que acender minhas próprias luzes”
  • 49. Responsáveis por medir diferentes parâmetros do ambiente: ● Temperatura ● Humidade ● Luz ● Movimento ● Distância ● Peso ● etc... Permite reagir a valores e ser pró-ativo. Sensores
  • 50. Sensores (cont) Sensor de contato: Usado em portas e janelas primariamente Seja criativo: gavetas, armários, geladeira etc. Sensor de vazamento: Útil debaixo de pias, ou dentro do chuveiro (detecção de banho?!) ou perto de coisas que vazam 🐟
  • 51. Sensores de rede Localizam dispositivos na rede ● Ping ● NMap ● Integração com equipamento de rede
  • 52. MeisterSensor Mark I Codinome: Foco Do Incêndio ● Microcontrolador ESP8266 ● Firmware: Código custom ● Montado em breadboard ● WiFi + MQTT ● Sensores: ○ PIR (Movimento) ○ DHT22 (Temp/Humid) ○ LDR (Luz) Sensores DIY
  • 54. ESPHome Framework Integra com Home Assistant pela API C -> YAML Simplesmente, lindo!
  • 55. E mais: OTA updates, gerenciamento centralizado...
  • 56. Imediatamente deixando meu código custom e migrando para ESP Home
  • 58. MeisterSensor Mark II Codenome: ColaQuenteFTW! ● Firmware: ESPHome ● Custom 3D Printed case ● Adiciona: Status LED (Neopixel) Sensores DIY https://synapselabs.io/posts/multisensors-with-esphome-on-homeassistant/
  • 59.
  • 60. Pessoas fazendo #2 não se movem Desafio #1
  • 61. MeisterSensor Mark II (Versão Banheiro) Codenome: NoPoopInTheDark ● Adiciona: Ultrassom (Distância) Sensores DIY
  • 62. Pessoas dormidas se movem Desafio #2
  • 63. Bed Sensor Mark I Codinome: Impressionante Que Funciona ● Microcontrolador ESP32 ● WiFI + MQTT ● Firmware: Código custom ● Soldas horríveis ● Vários cabos dupont conectados juntos Sensores DIY
  • 64. Bed Sensor Mark II Codinome: Esposa Agradece ● WiFI + HA API ● Firmware: ESPHome ● Soldas honestas ● Cabos apropriados, conectores RJ11 / keystone, placa custom (perfboard) Sensores DIY https://synapselabs.io/posts/bed-sensor-with-esphome-on-homeassistant/
  • 66.
  • 68. Responsáveis por atuar no ambiente: ● Conectar / Desconectar fornecimento de eletricidade ● Mover mecanicamente ● Abrir / Fechar válvulas ● Enviar sinais ● etc... Atuadores
  • 69. Além de permitir ligar e desligar coisas, há modelos que reportam o consumo da tomada. Estes são ferramentas muito úteis na Smartificacao de devices estúpidos. Smart Outlets
  • 70. Seguindo o mesmo princípio, também temos os Smart Switches (interruptores). Vão na mesma caixa elétrica do seu interruptor normal. Como os outlets, alguns modelos também provém medição de carga. Smart Switches
  • 71. Caso de estudo: Pseudo Ar-Condicionado Temperature Sensor + Smart Outlet + Ventilador Componente “Generic Thermostat” do HA Liga / Desliga o ventilador automaticamente baseado na temperatura configurada. Smart Outlets
  • 72. Caso de estudo: Smart Aquário Garante que componentes vitais não sejam esquecidos desligados Alerta em caso de mal funcionamento Automatiza rotinas de limpeza e alimentação Smart Outlets
  • 73. Smart Outlets / Switches Open-Source: ● Sonoff ● Tasmota / ESPHome ● Botões ● Fio elétrico ● Conectores ● Plano de saúde
  • 74. Destranca / Tranca Indica estado (Destrancado/Trancado) E isso! Smart Locks
  • 75.
  • 77. Caso de estudo: Auto-trancar a porta Sensor de porta + Smart Lock + HA Input Boolean Tranca a porta quando detecta que mudou de estado para OFF (Fechado) Smart Locks
  • 78. IR Blasters / Signal Repeaters Simulam controle remotos (ambos infravermelho e via RF) Recomendado: Broadlink RM Plus Integração nativa com HA Suporta ambos IR e RF Suporte a modo aprendizagem
  • 79. IR Blasters / Signal Repeaters Open-Source: ● ESP8266 ● IR LED ● ESPHome
  • 80. IR Blasters / Signal Repeaters Caso de estudo: TV não-tão-smart Mapeado: ON/OFF, Volume +/- IR Blaster + Smart Outlet + Roku
  • 81. Caso de estudo: TV não-tão-smart TV burra exposta como full-media device no HA Controle total: Apps [netflix, hulu etc], Volume, ON/OFF Feedback de estado: idle, home, playing IR Blasters / Signal Repeaters
  • 83. Automações no HA ● Sintaxe de markup (YAML) ● Triggers -> Condições -> Ações ● Condições podem ser AND e OR ● Podem ser ligadas / desligadas ● Execuções são logadas ● Podem ser executados manualmente
  • 85. Presença Local vs Presença Global Presença Global Detecção de onde estão os residentes em relação com a casa. ● GPS ● Presença de devices na rede ● Bluetooth Presença Local Detecção de onde estão os residentes dentro casa. ● Sensores (diversos) ● Presença de devices na rede ● Bluetooth ● Mudança no estado de devices
  • 86. Gerenciamento de presença - Global Quanto mais sensores, melhor Trio ternura: ● GPS ● Bluetooth ● Rede Malabares de fonte de presença gerenciado pela integração Better Presence. https://github.com/helto4real/hassio-add-ons/tree/master/presence
  • 87. Gerenciamento de presença - Local Problema interessante Divisão de cômodos Fontes de presença Mantendo presença (Presence Hold) Timeouts, Intervalos
  • 88. Gerenciamento de presença - Local Problema interessante Divisão de cômodos Fontes de presença Mantendo presença (Presence Hold) Timeouts, Intervalos ● Quais estados de devices podem ser considerados quando um humano este presente? ● Quanto tempo deve-se aguardar antes de liberar a presença? ● Como prevenir que o estado mude em situações indesejadas.
  • 89. Gerenciamento de presença - Local Problema interessante Divisão de cômodos Fontes de presença Mantendo presença (Presence Hold) Timeouts, Intervalos ● Hall ● Cozinha ● Sala de jantar ● Sala de estar ● Quarto ● Banheiro do quarto ● Escritório ● Banheiro ● Pátio ● Entrada
  • 90. Gerenciamento de presença - Local Problema interessante Divisão de cômodos Fontes de presença Mantendo presença (Presence Hold) Timeouts, Intervalos ● Sensores de movimento (PIR) ● Sensores de distância ● Sensores de peso ● Tocadores de mídia ● Presença de devices ○ Rede ○ Integração ○ Consumo de energia ● Porta aberta
  • 91. Gerenciamento de presença - Local Problema interessante Divisão de cômodos Fontes de presença Mantendo presença (Presence Hold) Timeouts, Intervalos ● Previne a mudança do estado de ocupação do cômodo ● Muitas fontes de presença podem ser fontes de Presence Hold ● Pode ser ativado manualmente
  • 92. Gerenciamento de presença - Local Problema interessante Divisão de cômodos Fontes de presença Mantendo presença (Presence Hold) Timeouts, Intervalos ● Clear Timeout: Tempo passado desde que uma última fonte de presença foi a OFF antes de marcar o cômodo como Livre ● Diferentes cômodos requerem diferentes clear timeouts ● Experimentação e a chave! ● Intervalos de atualização: se algum evento de estado foi perdido (por reboot por exemplo), recheca todos os sensores em um dado intervalo.
  • 93. Meu primeiro componente Tentando resolver o paradigma da presença
  • 94. Room ● Migrando de uma série de template sensors, inputs e automações para um único componente ● Mantendo-se DRY ● Considera diferentes estados como presença ● Timeouts configuráveis
  • 97. Celulares velhos Permanentemente carregando Suporte de carro reaproveitado Lockeado em modo Kiosk somente com os controles do cômodo configurado. Controlado por MQTT Console por cômodo
  • 100. Acesso Remoto Fácil: Servico Nabu Casa ● Pago (Barato) ● Nenhuma alteração na rede interna ● Integração nativa no HA Menos fácil: ● NAT no roteador ● DuckDNS ● Gerenciamento de certificados de SSL (Let’s Encrypt)
  • 102. Backups Local: Nativo Cloud: Hass.io Google Drive Backup Configuração: GitHub
  • 104. Notificações Via texto ● Telegram ● Google Hangouts ● Slack ● Twitter ● Discord ● Email (SMTP) ● Pushbullet ● Apple Push Notification Service ● AWS Lambda Via voz ● Google Assistant (TTS) ● Alexa (Alexa Media Player) ○ Suporta perguntas!
  • 106.
  • 108. Hardware ● All-in-one para consumidor final não aguenta ○ Nem os top de linha gamer de U$D 300+ ● Investimento ($$$) em hardware enterprise-level ○ Access Point ○ Switches ○ Router ○ Firewall Open-source: HW Barebones + PFSense/VyOS/etc Proprietário: Varios players
  • 109. Meu ninho de rato setup com Unifi / NUC / Hue Bridge / Hubitat
  • 110. Foi todo um processo...
  • 112. Divisão de redes em VLANs
  • 113.
  • 116. Roborock S5 + Valetudo FW Modelo S5 suporta carregar firmware custom Desconecta o robô da nuvem (e de se comunicar com o fabricante) Todas funcionalidades intactas (exceto app oficial) Controle e sensoriamento por MQTT
  • 117. Síndrome de Velozes e Furiosos
  • 118. “Condição onde um vê a oportunidade de aplicar LED strips em todos lugares. Causada pelo uso de LED strips uma única vez, a síndrome é facilmente tratada aplicando A olhada da morte, 500mg, diretamente no rosto do paciente.” Organização Mundial da Saúde Síndrome de Velozes e Furiosos
  • 122. Magia negra over 9000 Sylvania/Sengled LED strips usam HSL Home Assistant usa RGB + Temperatura de cor Template sensor (Componente HA) escuta mudanças do valor RGB e réplica no HSL (e vice-versa)
  • 124.
  • 125. Hyperion ● Philips Ambilight-clone ● Projeto open source ● Usa light-strips LED enderecaveis por SPI (LPD6803, LPD8806, APA102, and WS2801) ● Controlador: Raspberry Pi Zero W ● Requer soldagem, fontes de energia de alta-corrente 💀
  • 127. Splitters, conversores, captura e Raspberry Pi Bus 5V principal
  • 128. LED Strip, injeção de power, trabalho de fita-isolante profissional
  • 129.
  • 131. Wyze V2 Dafang-Hacks FW Remove conexão com a cloud Detecção de movimento Streams RTSP e MJPEG Controle e notificações por MQTT
  • 132. Impressora 3D / Octoprint
  • 133. OctoPrint ● Monitoramento & Controle ● Camera View ● Gráficos de temperatura ● Notificações (erro/fim) ● Automações
  • 134. Le fin Jan Seidl @jseidl 🧠 synapselabs.io