Obsah:
- Krok 1: Prohlášení
- Krok 2: Založte si bezplatný účet IFTTT
- Krok 3: Vytvořte aplet IFTTT
- Krok 4: Konfigurujte „tuto“část svého apletu
- Krok 5: Přidejte službu WebHooks do svého apletu
- Krok 6: Nastavte přijímač spouštění webových požadavků
- Krok 7: Zadejte název události
- Krok 8: Konfigurujte „tu“část svého apletu
- Krok 9: Nastavení akční služby
- Krok 10: Připojte se k Tabulkám Google
- Krok 11: Vyberte akci
- Krok 12: Nastavení akce
- Krok 13: Zkontrolujte a dokončete svůj aplet
- Krok 14: Načíst informace o konfiguraci potřebné později
- Krok 15: Přejděte k dokumentaci Webhooks pro klíč API
- Krok 16: Uložte klíč API
- Krok 17: Shromážděte součásti
- Krok 18: Sestavte součásti
- Krok 19: Napište kód Arduino
- Krok 20: Výsledky
- Krok 21: Kredity
Video: Záznamník stavu dveří a teploty: 21 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:22
Tento instruktážní program vám ukáže, jak vytvořit jednoduchý záznamník stavu dveří a teploty za méně než 10,00 $ pomocí ESP8266 NodeMCU, snímače teploty a vlhkosti DHT11, spínače dveří/oken, odporu 10 K ohmů a nějakého připojovacího drátu.
Geneze tohoto projektu vzešla z mé touhy udělat více domácí automatizace s deskou Arduino. Protože jsem hodně četl o Arduino kompatibilním EPS8266 NodeMCU, rozhodl jsem se, že tato deska bude perfektní nízkonákladovou deskou, se kterou se dá experimentovat. Poté, co jsem na internetu vyhledal projekty domácí automatizace pomocí desek ESP8266, rozhodl jsem se pro svůj první pokus zkombinovat záznamník teploty a stavu dveří. Nakonec bude tento projekt kombinován se servy, senzory vlhkosti a další elektronikou k automatizaci malého zeleného domu, který můj dědeček navrhl a postavil před 50 lety. Teplotní čidlo bude použito k určení, zda by měl být topný systém zapnut nebo vypnut, a také signalizovat servům, aby v případě potřeby otevřely a zavřely odvzdušňovací systém. Stav ventilačního systému bude monitorován pomocí magnetických jazýčkových spínačů. Nakonec budou senzory vlhkosti použity k automatizaci zavlažovacího systému.
Krok 1: Prohlášení
Jen rychlé odmítnutí odpovědnosti za to, že nepřebíráme ŽÁDNOU odpovědnost za nic, co se stane v důsledku dodržování tohoto pokynu. Při stavbě čehokoli je vždy nejlepší dodržovat pokyny výrobce a bezpečnostní listy, a proto se v těchto dokumentech podívejte na všechny součásti a nástroje, které používáte při stavbě vlastních. Jednoduše poskytujeme informace o krocích, které jsme použili při vytváření našich. Nejsme profesionálové. Ve skutečnosti 2 ze 3 osob, které se účastnily této stavby, jsou děti.
Krok 2: Založte si bezplatný účet IFTTT
Pokud ho ještě nemáte, nyní je načase založit si bezplatný účet IFTTT na jejich domovské stránce.. IFTTT znamená If This Then That a je bezplatná platforma, která vám umožňuje připojit internetové služby novými způsoby vám umožní využívat tyto služby novými způsoby. Pro tento projekt použijeme IFTTT k povolení ESP8266 zaznamenávat stav dveří pomocí jazýčkového spínače a teplotu a vlhkost pomocí senzoru DHT11 v dokumentu Tabulek Google.
Krok 3: Vytvořte aplet IFTTT
Když jste stále v IFTTT, přejděte do části „Moje aplety“a vytvořte nový applet kliknutím na tlačítko „Nový aplet“.
Krok 4: Konfigurujte „tuto“část svého apletu
Klikněte na „toto“slovo v modré barvě - jak je zvýrazněno na obrázku výše.
Krok 5: Přidejte službu WebHooks do svého apletu
Na panelu hledání vyhledejte službu „Webhooks“a vyberte ikonu Webhooks.
Jakmile najdete službu „Webhooks“, klikněte na ni.
Krok 6: Nastavte přijímač spouštění webových požadavků
Vyberte spouštěč „Přijmout webový požadavek“.
Krok 7: Zadejte název události
Do textového pole zadejte nový applet s názvem události. Vybral jsem „Data Logger“, ale můžete si vybrat, co chcete.
Krok 8: Konfigurujte „tu“část svého apletu
Klikněte na slovo „to“, které je modré barvy - jak je zvýrazněno na obrázku výše.
Krok 9: Nastavení akční služby
Ve vyhledávacím poli vyhledejte službu „Tabulky Google“a klikněte na ikonu Tabulky Google.
Krok 10: Připojte se k Tabulkám Google
Pokud jste tak ještě neučinili, budete muset svůj účet IFTTT propojit s Tabulkami Google. Stiskněte výše uvedené tlačítko Připojit a postupujte podle pokynů na obrazovce.
Krok 11: Vyberte akci
Klikněte na „Přidat řádek do tabulky“.
Krok 12: Nastavení akce
Do textového pole „Název tabulky“zadejte název. Kvůli konzistenci jsem se rozhodl použít „Data_Logger“. Zbytek nastavení nechte na pokoji (s těmito nastaveními můžete experimentovat někdy jindy) a poté stiskněte tlačítko „Vytvořit akci“ve spodní části obrazovky.
Krok 13: Zkontrolujte a dokončete svůj aplet
Až budete s konfigurací appletu spokojeni, stiskněte tlačítko „Dokončit“.
Krok 14: Načíst informace o konfiguraci potřebné později
Klikněte na „Webhooky“, jak je uvedeno výše.
Krok 15: Přejděte k dokumentaci Webhooks pro klíč API
Může to vypadat divně, ale kliknutím na odkaz Dokumentace v pravém horním rohu přejděte na stránku s vaším jedinečným klíčem API.
Krok 16: Uložte klíč API
První řádek obrazovky dokumentace zobrazuje váš jedinečný klíč API. Zkopírujte a uložte tento klíč pro pozdější použití.
Je také dobré applet otestovat zde. Nezapomeňte změnit {event} na Data_Logger nebo cokoli, co jste pojmenovali svou událost, a přidat data ke 3 prázdným hodnotám, poté klikněte na tlačítko „Vyzkoušet“v dolní části stránky. Měli byste vidět zelenou zprávu „Událost byla spuštěna“. Pokud ano, přejděte do Dokumentů Google a potvrďte, že data, která jste zadali na testovací stránce, se zobrazila v dokumentu Tabulek Google.
Krok 17: Shromážděte součásti
Budete potřebovat jen pár dílů.
1) Vývojová deska ESP8266 NodeMcu
2) Snímač teploty/vlhkosti DHT11
3) Reed spínač dveří/oken
4) Rezistor 10 kOhm
5) Zapojovací drát
Krok 18: Sestavte součásti
1) Připojte jeden z pinů 3v3 na ESP8266 ke kolíku vcc na DHT11.
2) Připojte jeden ze zemnicích kolíků na ESP8266 k uzemňovacímu kolíku na DHT11.
3) Připojte pin D4 (aka pin 2 v IDE) na ESP8266 k datovému pinu na DHT11.
4) Připojte další pin 3v3 na ESP8266 k jedné straně spínače dveří/oken.
5) Připojte kolík D5 (aka pin 14 v IDE) na ESP8266 k druhé straně spínače dveří/oken a také jej připojte k jedné straně 10k ohmového rezistoru.
6) Připojte druhou stranu 10k ohmového rezistoru k jinému zemnicímu kolíku na ESP8266.
Výběr pinů ESP8266 naleznete v tomto užitečném diagramu nebo ve velmi užitečném videu.
Krok 19: Napište kód Arduino
Zkopírujte a vložte níže uvedený kód do svého Arduino IDE.
#include #include #include "DHT.h"
#define DHTPIN 2 // ke kterému digitálnímu pinu jsme připojeni
#define DOORPIN 14 // jaký digitální pin je spínač dveří zapnutý.
#define DHTTYPE DHT11 // DHT 11
DHT dht (DHTPIN, DHTTYPE);
int count = 1;
const char* ssid = "some_ssid"; // změňte toto, aby používalo váš ssid const char* heslo = "some_password"; // změňte toto, aby používalo vaše heslo int sleepTime = 100;
// Maker Webhooks IFTTT
const char* server = "maker.ifttt.com";
// Zdroj URL IFTTT
const char* resource = "/trigger/SOME_SERVICE_NAME/s/key/SOME_API_KEY"; // Ujistěte se, že používáte název své služby a klíč API.
String doorStatus = "Zavřeno";
volatile bool stateChanged = false;
// Pokud spíte hodiny, pak nastavte interval po hodinách * 60 minut * 60 sekund * 1000 milisekund
konst dlouhý interval = 1,0 * 60 * 60 * 1000; // 1 hodina bez znaménka dlouhá předchozíMillis = 0 - (2 * interval);
neplatné nastavení () {
Serial.begin (115200); attachInterrupt (digitalPinToInterrupt (DOORPIN), eventTriggered, CHANGE); pinMode (DOORPIN, INPUT); // Senzor dveří dht.begin (); WiFi.begin (ssid, heslo);
Serial.print ("\ nPřipojování..");
while (WiFi.status ()! = WL_CONNECTED) {zpoždění (1000); Serial.print ("."); } Serial.print ("\ n"); }
void eventTriggered () {
stateChanged = true; Serial.println („Kontrola dveří!“); if (digitalRead (DOORPIN) == HIGH) // Zkontrolujte, zda jsou dveře otevřené {Serial.println ("Dveře jsou zavřené!"); doorStatus = "Zavřeno"; } else {Serial.println ("Dveře jsou otevřené!"); doorStatus = "Otevřeno"; }}
neplatný checkStatus () {
if (WiFi.status () == WL_CONNECTED) {// Zkontrolujte stav připojení WiFi // Čtení teploty nebo vlhkosti trvá přibližně 250 milisekund! // Odečty senzorů mohou být také až 2 sekundy staré (je to velmi pomalý senzor) float h = dht.readHumidity (); // Čtení teploty jako Celsia (výchozí) float t = dht.readTemperature (); // Odečtěte teplotu jako Fahrenheit (isFahrenheit = true) float f = dht.readTemperature (true); // Zkontrolujte, zda některá čtení selhala, a ukončete předčasné (zkuste to znovu). if (isnan (h) || isnan (t) || isnan (f)) {Serial.println ("Failed to reading from DHT sensor!"); //Serial.print ("."); // Čtení ze snímače DHT se nezdařilo! vrátit se; } // Výpočet tepelného indexu ve Fahrenheitech (výchozí) float hif = dht.computeHeatIndex (f, h); // Výpočet tepelného indexu ve stupních Celsia (isFahreheit = false) float hic = dht.computeHeatIndex (t, h, false);
Serial.print ("\ n");
Serial.print ("Teplota:"); Serial.print (f); Serial.print (" *F ("); Serial.print (t); Serial.print (" *C)"); Serial.print ("\ t"); Serial.print ("Heat index:"); Serial.print (hif); Serial.print (" *F ("); Serial.print (hic); Serial.print (" *C)%"); Serial.print ("\ t"); Serial.print ("Vlhkost:"); Serial.println (h);
if (digitalRead (DOORPIN) == HIGH) // Zkontrolujte, zda jsou dveře otevřené
{Serial.println ("Dveře jsou zavřené!"); doorStatus = "Zavřeno"; } else {Serial.println ("Dveře jsou otevřené!"); doorStatus = "Otevřeno"; } Řetězec jsonObject = Řetězec ("{" hodnota1 / ": \" ") + f +"*F (" + t +"*C) / " + hif +"*F (" + hic +"*C) " +" / ", \" hodnota2 / ": \" " + h +" / ", \" hodnota3 / ": \" " + stav dveří +" / "}"; HTTPClient http; Řetězec CompleteUrl = "https://maker.ifttt.com/trigger/bme280_readings/with/key/cZFasEvy5_3JlrUSVAxQK9"; http.begin (completeUrl); // http.begin (server); http.addHeader („Content-Type“, „application/json“); http. POST (jsonObject); http.writeToStream (& Serial); http.end (); // Uzavření spojení
stateChanged = false;
int sleepTimeInMinutes = interval / 1000 /60; Serial.print ("\ n / nPřejít ke spánku"); Serial.print (sleepTimeInMinutes); Serial.println ("minuty (s) …"); }}
prázdná smyčka () {
unsigned long currentMillis = millis (); zpoždění (4000); // Pokud jsme překročili uplynulý čas, vynutí kontrolu dveří a teploty. if (currentMillis - previousMillis> = interval) {stateChanged = true; previousMillis = aktuálníMillis; Serial.print (počet ++); Serial.println (") Kontrola z důvodu uplynulého času!"); } else if (stateChanged) {Serial.print (count ++); Serial.println (") Kontrola kvůli změně stavu!"); }
// Pokud se stav změnil, zkontrolujte dveře a teplotu.
if (stateChanged) {checkStatus (); }
zpoždění (sleepTime);
}
Krok 20: Výsledky
Jakmile v předchozím kroku nahrajete zdrojový kód, měli byste mít výsledky podobné výše uvedenému příkladu.
Krok 21: Kredity
Našel jsem spoustu užitečných rad a tipů z Random Nerd Tutorials a chtěl bych jim poděkovat za veškerou jejich pomoc. Zvláště jejich vynikající tutoriál o ESP32 ESP8266 Publikovat čtení senzorů do Tabulek Google, na kterých jsou založeny hlavní části tohoto Instructable.
Kromě toho mi DHT11 Instructable od TheCircuit pomohl pochopit, jak používat tento velmi levný, ale zajímavý malý snímač.
Kromě toho existuje mnoho tutoriálů, které se zabývají monitorováním vašich dveří, jako je Garážová vrata a další z výukových programů Random Nerd. Použil jsem jejich kousky, abych mi pomohl pochopit, jak správně fungovat můj jazýčkový spínač.
Nakonec jsem s těmito informacemi a dalšími podrobnostmi, které jsem našel na internetu, dokázal vytvořit systém, který vyhovoval mým potřebám. Doufám, že vám tento Instructable bude užitečný a vytvoříte si vlastní.
Doporučuje:
Jak vytvořit záznamník vlhkosti a teploty v reálném čase pomocí Arduino UNO a SD karty - Simulace záznamníku dat DHT11 v Proteusu: 5 kroků
Jak vytvořit záznamník vlhkosti a teploty v reálném čase pomocí Arduino UNO a SD karty | Simulace záznamníku dat DHT11 v Proteus: Úvod: Ahoj, toto je Liono Maker, zde je odkaz na YouTube. Vytváříme kreativní projekt s Arduinem a pracujeme na vestavěných systémech. Data-Logger: Data logger (také data-logger nebo data recorder) je elektronické zařízení, které zaznamenává data v průběhu času s
Malý záznamník teploty ESP8266 (Tabulky Google): 15 kroků
Malý záznamník teploty ESP8266 (Tabulky Google): Toto je návod, jak si vytvořit svůj vlastní, naprosto malý záznamník teploty s podporou WiFi. Je založen na modulu ESP-01 a digitálním teplotním senzoru DS18B20, zabalený v těsném 3D tištěném pouzdře s 200mAh lithiovou baterií a mikro U
Záznamník teploty Raspberry Pi: 8 kroků
Záznamník teploty Raspberry Pi: Zde jsou pokyny k sestavení jednoduchého záznamníku teploty pomocí teplotního čidla I2C v hodnotě 5,00 USD. Data jsou uložena na SD kartu a lze je snadno importovat do Excelu. Jednoduše změnou nebo přidáním dalších senzorů mohou jiné typy dat také
AtticTemp - záznamník teploty / klimatu: 10 kroků (s obrázky)
AtticTemp - záznamník teploty / klimatu: teploměr s vysokou tolerancí a záznamník klimatu pro vaše podkroví nebo jiné venkovní stavby
Automatická světla spojená s monitorováním dveří a dveří: 5 kroků
Automatická světla spojená s monitorováním dveří a dveří: Zdá se, že je velmi obtížné najít rozvaděč ve tmě, ale tento projekt je opravdu nápomocný při řešení tohoto problému. Chcete -li znát řešení tohoto problému, postupujte podle následujících pokynů