2 pontos por GN⁺ 2024-11-23 | 1 comentários | Compartilhar no WhatsApp

Monty Home Device Hacking Guide

Monty Home Device Hacking Guide é um repositório que orienta como expandir as funcionalidades de dispositivos BLE Monty Home usando um Raspberry Pi. O dispositivo foi originalmente projetado para monitoramento de compostagem e coleta dados ambientais, como temperatura e umidade. Com este guia, você pode aprender a buscar, exibir e automatizar esses dados.

Visão geral

  • Este guia foi criado para pessoas interessadas em dispositivos BLE, aplicações de IoT e monitoramento ambiental.
  • O dispositivo Monty Home fornece dados em tempo real por BLE, como temperatura, umidade e nível de bateria.
  • Inclui três projetos que interagem com o dispositivo Monty Home usando Python, BLE e Raspberry Pi.

Projetos

Projeto 1: controle de LED com base na temperatura

  • Objetivo: usar os dados de temperatura do dispositivo Monty Home para controlar o LED do Raspberry Pi. Quando a temperatura ultrapassa um determinado limite, o LED exibe um alerta.
  • Habilidades adquiridas: configuração de controle de GPIO, consulta de dados via BLE, programação básica em Python e tratamento de condições
  • Hardware necessário: Raspberry Pi com suporte a BLE, LED e resistor de 330 ohms

Projeto 2: exibir temperatura e umidade em um display I2C

  • Objetivo: mostrar dados em tempo real de temperatura e umidade do dispositivo Monty Home em uma tela OLED conectada ao Raspberry Pi.
  • Habilidades adquiridas: trabalho com dispositivos I2C, exibição dinâmica de dados com display OLED SSD1306, busca de dados BLE e implementação de atualização da tela
  • Hardware necessário: Raspberry Pi com suporte a BLE, display OLED SSD1306

Projeto 3: alerta de temperatura via IFTTT

  • Objetivo: configurar o Raspberry Pi para enviar uma notificação via IFTTT quando a temperatura do dispositivo Monty Home ultrapassar um determinado limite.
  • Habilidades adquiridas: integração de automação IoT com IFTTT, envio de requisições HTTP usando a biblioteca requests, combinação de dados BLE com notificações baseadas em nuvem
  • Hardware necessário: Raspberry Pi com suporte a Wi‑Fi, conta no IFTTT

Configuração

Requisitos de hardware

  1. Raspberry Pi (Zero 2 ou modelo com suporte a BLE)
  2. Dispositivo BLE Monty Home
  3. Hardware adicional necessário para cada projeto, como LED, display OLED e conta no IFTTT

Requisitos de software

  1. Raspberry Pi OS: instalar Raspberry Pi OS Lite (headless) ou Raspberry Pi OS with Desktop (interface gráfica)
  2. Python 3: instalar Python 3 e pip
  3. Bibliotecas:
    • Bleak: para comunicação BLE
    • Requests: para integração com IFTTT
    • Adafruit CircuitPython SSD1306: para controle do OLED
    • Pillow: para manipulação de imagens no OLED

Comandos BLE

  • Estes são os comandos usados para interagir com o dispositivo Monty Home. Cada comando solicita dados específicos ou executa uma ação.
  • Exemplo: ;QT\r\n retorna a leitura de temperatura do sensor NTC.

Executando o código

  • Cada projeto inclui scripts em Python que estabelecem a conexão BLE, enviam consultas e processam os dados.
  • Como executar os scripts:
    1. Abrir o terminal no Raspberry Pi
    2. Ir até a pasta do projeto: cd /path/to/project
    3. Executar o script: python3 project_script.py

Personalização

Ajuste de comandos BLE

  • Você pode modificar os comandos BLE no código para buscar diferentes tipos de dados do dispositivo Monty Home.

Expansão do manipulador de notificações

  • Para lidar com vários tipos de dados, você pode adicionar condições dentro da função notification_handler para decodificar e exibir diferentes leituras.

Integração com outras plataformas

  • Você pode considerar integrar os dados a plataformas ou dashboards de IoT para visualização em tempo real, registro ou automações adicionais.

Materiais adicionais

  • Python no Raspberry Pi
  • Guia de BLE no Raspberry Pi
  • Documentação de Webhooks do IFTTT
  • Guia do Adafruit CircuitPython SSD1306

Contribuição

  • Pull requests, relatórios de problemas e sugestões de funcionalidades são bem-vindos. Você pode contribuir para melhorar este guia e adicionar novos projetos.

1 comentários

 
GN⁺ 2024-11-23
Comentários do Hacker News
  • Um usuário compartilhou a experiência de cultivar batatas e cenouras em um monte de composto vindo de um estábulo de cavalos, mencionando que as batatas cresceram bem, mas as cenouras não se desenvolveram direito por falta de água

    • Explicou o plano de usar um sensor de temperatura baseado em ESP8266 para monitorar a temperatura do composto
    • Pretende colocar o sensor de temperatura em um invólucro IP67 e instalá-lo sobre o monte de composto junto com um painel solar
  • Outro usuário questionou em que escala o monitoramento eletrônico poderia melhorar a qualidade do composto, opinando que isso provavelmente precisaria ser feito em grande escala

    • Mencionou que gosta do design doméstico com aparência de cogumelo
  • Outro usuário compartilhou sua experiência com monitoramento ambiental usando sensores baratos, mencionando problemas de repetibilidade dos sensores e de resistência a ruído em sensores de CO2

    • Disse que gostaria de tocar o projeto com base em componentes confiáveis
  • Um usuário celebrou a possibilidade de escalar o monitoramento de composto em pequena escala e comentou que isso pode interessar à comunidade Gathering for Open Ag Tech

  • Outro usuário disse preferir uma forma simples de medir a temperatura do composto e explicou que, se a temperatura estiver acima de 45 graus, isso indica atividade de bactérias termofílicas

  • Outro usuário compartilhou a ideia de querer criar um sistema de monitoramento de plantas e mencionou que gostaria de receber recomendações de sensores para medir composição do solo, níveis de nutrientes, umidade etc.

  • Um usuário questionou a utilidade prática dos dados de sensores obtidos com o monitoramento do composto, perguntando se, além de temperatura e umidade, seria possível verificar se a composição dos gases afeta a proporção C/N ou se o composto está entrando em estado anaeróbico

    • Também perguntou se a experiência de monitoramento levou a mudanças na forma como a pessoa gerencia o próprio composto
  • Foram adicionadas informações extras sobre o produto Monty Monitor

  • Um usuário mencionou que estava procurando um termopar para monitoramento de composto

  • Há um usuário perguntando se existe trabalho em andamento para integração com o HomeAssistant