Inhoudsopgave:

Tiny Brandalarm Detector Esp8266 MQTT IFTTT Domotica - Ajarnpa
Tiny Brandalarm Detector Esp8266 MQTT IFTTT Domotica - Ajarnpa

Video: Tiny Brandalarm Detector Esp8266 MQTT IFTTT Domotica - Ajarnpa

Video: Tiny Brandalarm Detector Esp8266 MQTT IFTTT Domotica - Ajarnpa
Video: How to use the SMART LIFE APP | Step-by-Step Instructions 2024, November
Anonim
Tiny Brandalarm Detector Esp8266 MQTT IFTTT Domotica
Tiny Brandalarm Detector Esp8266 MQTT IFTTT Domotica

Ik wilde detecteren of mijn rookmeldersysteem in alarm is. Ik heb acht rookmelders in mijn huis en ze zijn met elkaar verbonden. Als de ene rookmelder in alarm is, krijgt de andere een signaal via de doorverbindingssignaaldraad. Mijn sensor leest de verbindingsdraad en stuurt de informatie naar mijn domotica (Openhab2) via MQTT en alarmeert mij ook via IFTTT.

Deze instructable is geïnspireerd door dit project

Stap 1: Ontwerp

Ontwerp
Ontwerp
Ontwerp
Ontwerp
Ontwerp
Ontwerp

Allereerst moet je weten hoe de rookmelders communiceren. Ik heb Ei146-detectoren.

De rookmelders zijn onderling verbonden via een "IC" lijn. Als één rookmelder wordt geactiveerd, genereert deze een 6V - 8V-signaal op de IC-lijn, zie de afbeelding van het oscillope-scherm.

Ik lees de spanning van de IC-lijn via een optocoupler (4N35), om de rookmelders voor de veiligheid te isoleren van mijn domotica.

De rookmelder wordt gevoed door netspanning (220V AC), die ik heb gebruikt om de ESP-01-module van stroom te voorzien

In het schema kun je zien hoe de onderdelen met elkaar verbonden zijn. Ik gebruik een ESP-01 omdat deze klein en goedkoop is.

Stap 2: De printplaat bouwen

De printplaat bouwen
De printplaat bouwen
De printplaat bouwen
De printplaat bouwen
De printplaat bouwen
De printplaat bouwen

Op de foto's en de opmerkingen bij de foto's kun je zien hoe de print in elkaar zit.

Ik heb de lay-out geoptimaliseerd om op componenten op een kleine PCB te passen, de ESP-01 ligt over andere componenten. Ik bevestig de ESP-01 via vrouwelijke headers om gemakkelijke programmering via een USB-programmeur te garanderen. Nadat de module is gemonteerd, kun je nieuwe firmware Over The Air (OTA) flashen via de Arduino IDE of HTTPupdate (zie schets)

Stap 3: Programmeren van de ESP8266

Programmeren van de ESP8266
Programmeren van de ESP8266
Programmeren van de ESP8266
Programmeren van de ESP8266

Zie mijn Github voor de code. Ik gebruik alle bruikbare pinnen van de ESP-01 als GPIO-pinnen, inclusief GPIO1 (TX) en GPIO3 (RX). Seriële communicatie is dus niet mogelijk en mag niet worden geïnitialiseerd, anders wordt de verklaring van GPIO1 en GPIO3 ongeldig.

Opmerking: trek GPIO0, GPIO1 of GPIO2 niet naar beneden bij het opstarten, omdat je programma niet start. Ik ontdekte dat GPIO03 kan worden afgebroken bij het opstarten

Ik programmeer mijn EPS-01's via deze aangepaste adapter.

Het programma loopt als volgt:

  • Als de flash-knop wordt ingedrukt bij het opstarten, start de module de OTA-modus.
  • HTTPupdate is geïnitialiseerd.
  • Verbinding maken met wifi en MQTT (groen lampje aan)
  • Leest de waarde van de sensorpin (bevestigd aan de IC-pin van de rookmelder)
  • Als er brand wordt gedetecteerd, wacht dan op debounce en sla dan alarm (ook rood licht aan) via
    • MQTT - het MQTT-bericht wordt gelezen via Openhab en een regel genereert een melding via mijn app
    • IFTTT - 1 - via een IFTTT Webhook wordt een trigger gestart die een melding stuurt.
    • IFTTT - 2 - via een IFTTT-webhook wordt een trigger gestart die een sms naar mijn vrouw stuurt
  • Als de MQTT-verbinding wegvalt (groen lampje uit), wordt het LWT-bericht (ERROR) naar het onderwerp gestuurd en gelezen door Openhab.

Stap 4: De module monteren

De module monteren
De module monteren
De module monteren
De module monteren
De module monteren
De module monteren

Ik ontwierp en 3D-geprint een doos die mooi past in de ongebruikte kabelopening van de basisplaat van de rookmelder, geen schroeven nodig.

Edit: stl-bestanden zijn toegevoegd.

Ik heb de LED's en de OTA-schakelaar op hun plaats gelijmd met hete lijm. De doos wordt gesloten door middel van 4 schroeven.

Aanzetten en klaar!

Aanbevolen: