Obsah:
- Krok 1: Materiály
- Krok 2: Výber snímača
- Krok 3: LM35
- Krok 4: DS18B20
- Krok 5: Kód ESP8266
- Krok 6: ESP8266 Kód: LM35 Používateľ
- Krok 7: ESP8266 Kód: DS18B20 Používateľ
- Krok 8: ESP8266 Little Trick
- Krok 9: Prvá prevádzka
- Krok 10: Záver
Video: WiFi záznamník teploty (s ESP8266): 11 krokov (s obrázkami)
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:00
Dobrý deň, som rád, že vás tu vidím. Dúfam, že v tomto návode nájdete niekoľko užitočných informácií. Neváhajte mi poslať návrhy, otázky … Tu je niekoľko základných údajov a rýchly prehľad projektu. Pre mobilných používateľov: Video. Dajte mi vedieť, čo si o projekte myslíte v sekcii komentárov, vďaka. Nedávno som si kúpil dosku NodeMcu (na báze esp8266), aby som to vyskúšal, takže nejde o skutočne pokročilý projekt. Ale funguje to a to je to, čo potrebujem, takže je to v poriadku. Hlavnou funkciou tohto záznamníka údajov je zber teploty a uloženie na server. To umožňuje používateľom kontrolovať údaje a grafy online, aj keď sa nenachádzajú na rovnakom mieste záznamníka (napríklad pre meteorologickú stanicu). Ďalšou užitočnou funkciou je aktualizácia OTA zahrnutá v kóde, ktorá používateľom umožňuje jednoduchú aktualizáciu a prispôsobenie softvéru. Analyzujem dva senzory a s nimi súvisiacu metódu získavania, aby som našiel rovnováhu medzi všetkými kladmi a zápormi.
Spoiler: Po troche testovania som zistil, že digitálny snímač ako DS18B20 je najlepším riešením, pretože ponúka stabilitu a vyššiu presnosť. Je už vodotesný a s káblom.
Krok 1: Materiály
Toto je minimálny projekt s iba niekoľkými externými komponentmi, a preto bude zoznam kusovníkov skutočne krátky. Pozrime sa však, aký materiál je požadovaný:
- NodeMcu V3 (alebo akýkoľvek kompatibilný procesor ESP8266 μ);
- RGB LED (spoločná anóda);
- Rezistory pre LED (1x10Ω, 1x22Ω, 1x100Ω, 1x10kΩ)
- DS18B20 (integrovaný teplomer Maxim);
- LM35 (prístrojový teplomer Texas);
- Externá batéria (voliteľné);
- Kábel;
- Connector (aby bol „pokročilejší“);
- Box (voliteľné, opäť aby bol „pokročilejší“);
- Držiak LED (voliteľný);
Poznámka: Ako som už povedal, musíte si vybrať jednu z dvoch metód. Ak si vyberiete teplomer LM35, budete potrebovať niekoľko ďalších komponentov:
- Attiny45/85;
- Programátor AVR (alebo Arduino ako ISP);
- Rezistor (1x1kΩ, 1x2kΩ, 1x10kΩ, 1x18kΩ)
- 2,54 mm páskový konektor (voliteľné)
- Dióda (2x1N914)
- Perfboard alebo PCB;
Krok 2: Výber snímača
Výber senzora môže byť náročný krok: dnes existuje veľa prevodníkov (TI ponúka 144 rôznych prvkov), analógových aj digitálnych s rôznym teplotným rozsahom, presnosťou a veľkosťou prípadu. Analógové snímače (od TI je k dispozícii 46 dielov): Výhody:
- Záznamník údajov je možné ľahko zmeniť z teploty na iné množstvo (napätie, prúd, …);
- Môžu byť o niečo lacnejšie;
- Jednoduché použitie, pretože nevyžaduje žiadnu špeciálnu knižnicu;
Zápory:
- Vyžadovať ADC (ktorý môže ovplyvniť presnosť merania) a ďalšie externé komponenty. Pretože esp8266 má iba jeden ADC (a nie veľmi presný), navrhoval by som použiť externý.
- Vyžaduje vyhradený kábel s potlačením šumu, pretože akékoľvek indukované napätie môže zmeniť výsledok.
Po troche premýšľania som sa rozhodol použiť LM35, lineárny snímač s faktorom mierky +10mV/° C s presnosťou 0,5 ° C a veľmi nízkym prúdom (asi 60uA) s prevádzkovým napätím od 4V do 30V. Podrobnejšie informácie nájdete v technickom liste: LM35.
Výhody digitálnych senzorov (vysoko odporúčané):
Potrebné sú takmer všetky externé komponenty;
Integrovaný ADC
Zápory:
Požiadajte knižnicu alebo softvér o dekódovanie digitálneho signálu (I2C, SPI, Serial, One Wire, …);
Drahší;
Vybral som DS18B20, pretože som našiel sadu 5 vodotesných senzorov na Amazone a pretože je široko zdokumentovaný na internete. Hlavnou funkciou je meranie 9-12 bitov, 1-vodičová zbernica, napájacie napätie 3,0 až 5,5, presnosť 0,5 ° C. Opäť platí, že pre ďalšie podrobnosti tu je list s technickými údajmi: DS18B20.
Krok 3: LM35
Poďme analyzovať, ako som implementoval externý ADC a ďalšie funkcie pre teplomer LM35. Našiel som kábel s tromi vodičmi, jeden s tienením a dva bez. Rozhodol som sa pridať oddeľovací kondenzátor na stabilizáciu napájacieho napätia v blízkosti snímača. Na prevod analógovej teploty na digitálny som použil mikroprocesor Attiny85 v balení dip8 (ďalšie informácie nájdete opäť v technickom liste: attiny85). Najdôležitejšou vecou pre nás je 10 -bitový ADC (nie je to najlepšie, ale pre mňa dostatočne presné). Na komunikáciu s Esp8266 som sa rozhodol použiť sériovú komunikáciu, pričom majte na pamäti, že esp8266 pracuje s 3,3 V a attiny85 pri 5 V (pretože potrebuje napájať senzor). Aby som to dosiahol, použil som jednoduchý delič napätia (pozri schému). Na čítanie negatívnej teploty musíme pridať niektoré externé komponenty (odpor 2x1N914 a 1x18k), pretože nechcem používať záporné napájanie. Tu je kód: úložisko TinyADC. Poznámka: na zostavenie tohto kódu budete musieť nainštalovať Attiny to ide (zadajte toto do možnosti: https://drazzy.com/package_drazzy.com_index.json), ak neviete, ako na to, stačí vyhľadať na Googli. Alebo nahrajte súbor.hex priamo.
Krok 4: DS18B20
Kúpil som tie senzory od Amazonu (5 stojí asi 10 €). Prišiel s krytom z nehrdzavejúcej ocele a káblom o dĺžke 1 m. Tento senzor dokáže vrátiť 9 až 12 bitové údaje o teplote. K rovnakému kolíku je možné pripojiť veľa senzorov, pretože všetky majú jedinečné ID. Na pripojenie DS18B20 k esp8266 stačí postupovať podľa schémy (druhá fotografia). Keďže som sa rozhodol, že môj záznamník bude mať tri sondy, musel som rozlíšiť, ktorá je ktorá. Preto som im povedal, aby som im dal farbu spojenú prostredníctvom softvéru s ich adresou. Použil som nejakú teplom zmrštiteľnú tubu (tretia fotka).
Krok 5: Kód ESP8266
Keďže som v tomto svete nový, rozhodol som sa používať veľa knižníc. Ako bolo uvedené v úvode, hlavné funkcie sú:
- Aktualizácia OTA: esp8266 nemusíte pripájať k počítaču zakaždým, keď potrebujete nahrať kód (musíte to urobiť iba prvýkrát);
- Správca bezdrôtového pripojenia, ak sa zmení bezdrôtová sieť, skicu nemusíte znova načítať. Môžete jednoducho znova nakonfigurovať parametre siete pripájajúce sa k prístupovému bodu esp8266;
- Prenos dát Thingspeak;
- Podporované sú LM35 aj DS18B20;
- Jednoduché používateľské rozhranie (LED dióda RGB označuje niekoľko užitočných informácií);
Ospravedlňte ma, pretože môj softvér nie je najlepší a nie je skutočne dobre objednaný. Pred odoslaním do zariadenia musíte zmeniť niektoré parametre, aby kód zodpovedal vášmu nastaveniu. Tu si môžete stiahnuť softvér. Bežná konfigurácia LM35 a DS18B20 Na aktualizáciu OTA musíte zmeniť definíciu pinu, token, číslo kanála, používateľa a heslo. Linka od 15 do 23.
#definujte červenú SVOJU STRÁNKU #definujte zelenú SVOJU STRÁNKU
#define blue YOURPINHERE const char* host = "select host address"; // nie je to naozaj potrebné, môžete nechať esp8266-webupdate const char* update_path = "/firmware"; // zmena adresy na aktualizáciu ex: 192.168.1.5/firmware const char* update_username = "YOURUSERHERE"; const char * update_password = "YOURPASSWORDHERE; nepodpísané dlhé myChannelNumber = CHANNELNUMBERHERE; const char * myWriteAPIKey =" WRITEAPIHERE ";
Krok 6: ESP8266 Kód: LM35 Používateľ
Musíte pripojiť Attiny dosku k esp8266, na napájanie jednotky ADC použite pin VU a G pin. Musíte si vybrať, ktorý pin chcete použiť na sériovú komunikáciu (aby bol hardvérový sériový server voľný na účely ladenia). Tx pin musíte vybrať, ale v skutočnosti sa nepoužíva. (Riadok 27). SoftwareSerial mySerial (RXPIN, TXPIN); Na vrchole musíte pridať: #define LM35USER
Krok 7: ESP8266 Kód: DS18B20 Používateľ
Ako prvú operáciu musíte identifikovať adresu zariadenia pre každý senzor. Skompilovajte a naprogramujte tento kód do systému ESP a vyhľadajte výsledky v sériovom čísle. Kód nájdete tu (hľadajte tento názov na stránke: «Prečítajte si jednotlivé interné adresy DS18B20»). Pripojte iba jeden senzor, aby ste získali adresu, výsledky by mali byť asi také (náhodné číslo tu! Len ako príklad): 0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12 Potom musíte zmeniť môj kód v sekcii " Konfigurácia pre DS18B20 "(riadok 31 až 36)":
#define ONE_WIRE_BUS ONEWIREPINHERE #define TEMPERATURE_PRECISION TEMPBITPRECISION // (od 9 do 12) #define delayDallas READINTERVAL // (v milisekundách, minimum je 15 s alebo 15 000 mS) DeviceAddress blueSensor = {0x11, 0Dx 0x12}; // ZMENA ZA SVOJU ADRESU DeviceAddress redSensor = {0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12}; // ZMENA ZA SVOJU ADRESU DeviceAddress greenSensor = {0x11, 0x22, 0x33, 0xD9, 0xB1, 0x17, 0x45, 0x12}; // ZMENA SVOJEJ ADRESY Na vrchole musíte pridať: #define DSUSER
Krok 8: ESP8266 Little Trick
Po troche testovania som zistil, že ak pripojíte esp8266 bez programovania, kód sa nespustí, kým raz nestlačíte reset. Aby som tento problém vyriešil, po troche výskumu som zistil, že na D3 musíte pridať výsuvný odpor z 3,3 V. Procesoru to povie, aby načítal kód z pamäte flash. Touto metódou je možné D3 priamo použiť na vstup údajov pre snímače DS18B20.
Krok 9: Prvá prevádzka
Ak ste kód nahrali správne, ale nikdy nepoužívate knižnicu správcu Wifi, je čas nakonfigurovať vaše pripojenie Wi -Fi. Počkajte, kým LED kontrolka RGB nebude blikať rýchlejšie ako predtým, a potom pomocou mobilného telefónu alebo počítača vyhľadajte wifi sieť s názvom „AutoConnectAp“a pripojte sa. Po pripojení otvorte webový prehliadač a zadajte 192.168.4.1. Nájdete rozhranie GUI správcu wifi (pozri fotografie) a kliknite na „Konfigurovať Wifi“. Počkajte, kým esp8266 vyhľadá siete Wi -Fi, a vyberte požadovanú. Zadajte heslo a kliknite na „uložiť“. Esp8266 sa reštartuje (tentokrát mi to je jedno, LED dióda RGB, pretože bude zobrazovať nejaké náhodné informácie) a pripojí sa k sieti.
Krok 10: Záver
Na záver je tu graf prevzatý z ústredne údajov v prevádzke pri zaznamenávaní teploty mrazničky. Oranžová je DS18B20 a modrá LM35 a jej obvod. Môžete vidieť najväčší rozdiel v presnosti od digitálneho k analógovému senzoru (s mojím zlým „obvodom ADC“), ktorý poskytuje niektoré nefyzické údaje. Keď to zhrnieme, ak chcete postaviť tento záznamník, navrhujem použiť digitálny snímač teploty DS18B20, pretože ľahšie sa číta a takmer „plug and play“, je stabilnejší a presnejší, beží na 3,3 V a vyžaduje iba jeden kolík pre množstvo senzorov. Ďakujem za pozornosť, dúfam, že tento projekt je pre vás dobrý a vy ste našiel niekoľko užitočných informácií. A pre tých, ktorí si to chcú uvedomiť, želám si, aby som poskytol všetky potrebné informácie. Ak nie, môžete sa na všetko opýtať, rád odpoviem na všetky otázky. Keďže nie som anglicky hovoriaci, ak je niečo nesprávne alebo nepochopiteľné, dajte mi prosím vedieť. Ak sa vám tento projekt páčil, hlasujte zaň a zapojte ho do komentárov ☺. Bude ma to povzbudzovať v aktualizácii a publikovaní nového obsahu. Ďakujem.
Odporúča:
Ako vytvoriť záznamník vlhkosti a teploty v reálnom čase s Arduino UNO a kartou SD - Simulácia záznamníka údajov DHT11 v Proteuse: 5 krokov
Ako vytvoriť záznamník vlhkosti a teploty v reálnom čase s Arduino UNO a kartou SD | Simulácia záznamníka údajov DHT11 v Proteuse: Úvod: Ahoj, toto je Liono Maker, tu je odkaz na YouTube. Vytvárame kreatívny projekt s Arduino a pracujeme na vstavaných systémoch. Záznamník údajov: Záznamník údajov (tiež záznamník údajov alebo záznamník údajov) je elektronické zariadenie, ktoré zaznamenáva údaje v priebehu času
Malý záznamník teploty ESP8266 (Tabuľky Google): 15 krokov
Malý záznamník teploty ESP8266 (Tabuľky Google): Toto je návod, ako si vytvoriť vlastný, úplne malý teplotný zapisovač s podporou WiFi. Základom je modul ESP-01 a digitálny snímač teploty DS18B20, zabalené v tesnom 3D puzdre s lítiovou batériou 200 mAh a mikro U
Záznamník teploty Raspberry Pi: 8 krokov
Záznamník teploty Raspberry Pi: Tu sú pokyny na zostavenie jednoduchého zapisovača teploty pomocou teplotného snímača I2C v hodnote 5,00 USD. Dáta sú uložené na SD kartu a dajú sa ľahko importovať do Excelu. Jednoducho zmenou alebo pridaním ďalších senzorov môžu iné typy údajov tiež
AtticTemp - záznamník teploty / klímy: 10 krokov (s obrázkami)
AtticTemp - záznamník teploty / klímy: teplomer s vysokou toleranciou a záznamník klímy pre vaše podkrovie alebo iné vonkajšie stavby
Záznamník teploty, relatívnej vlhkosti a atmosférického tlaku s pripojením Raspberry Pi a TE MS8607-02BA01: 22 krokov (s obrázkami)
Záznamník teploty, relatívnej vlhkosti a atmosférického tlaku pomocou konektorov Raspberry Pi a TE MS8607-02BA01: Úvod: V tomto projekte vám ukážem, ako krok za krokom zostaviť systém protokolovania pre teplotnú vlhkosť a atmosférický tlak. Tento projekt je založený na čipe environmentálneho senzorového čipu Raspberry Pi 3 Model B a TE Connectivity MS8607-02BA