Obsah:

Hodiny přílivu a počasí: 9 kroků (s obrázky)
Hodiny přílivu a počasí: 9 kroků (s obrázky)

Video: Hodiny přílivu a počasí: 9 kroků (s obrázky)

Video: Hodiny přílivu a počasí: 9 kroků (s obrázky)
Video: 9 ÚŽASNÝCH zázračných zbraní TŘETÍ ŘÍŠE, o kterých jste nevěděli 2024, Listopad
Anonim
Hodiny přílivu a počasí
Hodiny přílivu a počasí

Ačkoli si můžete koupit analogové hodiny přílivu a odlivu, které mají jedinou ručičku ukazující, zda je příliv vysoký nebo nízký nebo někde mezi nimi, to, co jsem chtěl, bylo něco, co by mi napovědělo, kdy bude odliv. Chtěl jsem něco, na co bych se mohl rychle podívat, aniž bych to musel zapínat, mačkat jakákoli tlačítka nebo čekat. A chtěl jsem něco s dlouhou výdrží baterie. Použil jsem tedy desku TTGO T5, což je deska založená na ESP32 s 2,13 displejem elektronického papíru, připojená k čipu TTL5110. TPL5110 zapíná T5 každé 2,5 hodiny a jednou denně T5 stahuje data přílivu z NOAA a údaje o počasí z OpenWeatherMap, zobrazí data na elektronickém papíru a poté sdělí TPL5110, aby T5 vypnul.

UPDATE (25. února 2020) Hodiny přílivu a odlivu fungují již rok a baterie má napětí 4,00 voltů, takže je možné, že hodiny poběží mnoho let.

Krok 1: Seznam hardwaru

Deska TTGO T5 17 dolarů

Deska Adafruit TPL5110 $ 5

Deska čtvrtletní velikosti Adafruit Perma-Proto (volitelně) 0,71 USD (minimální objednávka 8,50 USD)

Li-Poly baterie 1200 mAh $ 10 (nebo jiný vhodný zdroj energie)

2kolíkový kabel JST PH-zástrčka-0,75 $

220 uF kondenzátor

Krok 2: Nástroje

Páječka

Odstraňovače drátů

Nabíječka baterií Li-Po, jako je tato.

Krok 3: Sestavte hardware

Sestavte hardware
Sestavte hardware
Sestavte hardware
Sestavte hardware
Sestavte hardware
Sestavte hardware

Sestavení hardwaru je velmi jednoduché, jak ukazuje schéma. Použil jsem desku Adafruit Perma-proto, která je jako normální protoboard, kromě toho, že je rozložena jako prkénko, se stejným elektrickým připojením jako prkénko, což je pěkné. Protože jsem potřeboval jen pár spojení a chtěl jsem celou sestavu vejít do malé krabice, rozřízl jsem jednu z desek na čtvrtiny pomocí dělicího kolečka Dremel.

Kondenzátor 220 uF je velmi důležitý. Bez něj TPL5110 nikdy nezapne T5. Je trochu nejasné proč, ale stejný problém měli i další lidé používající TPL5110. Možná, že ESP32 čerpá při spuštění více proudu, než může poskytnout TTL5110?

Baterii nezapojujte napevno. Pomocí kabelu JST-PH můžete baterii odpojit a nabít. Pokud je TPL5110 „zapnutý“, může existovat způsob nabíjení baterie z T5 zpět přes TPL5110, ale nemohu zaručit tuto techniku.

Vyrobil jsem dřevěnou krabici jako skříň, ale cokoli s minimálními vnitřními rozměry 1,5 "x 2,75" x 1 "by fungovalo.

Krok 4: Nalaďte načasování

Deska TPL5110 má trimovací potenciometr, který nastavuje časový interval, ve kterém se TPL5110 probouzí. Pomocí malého šroubováku to otočte úplně proti směru hodinových ručiček. Na mé desce to nastavilo interval na 145 minut, což je ve skutečnosti více než uvedených 120 minut, ale funguje to a bylo to konzistentní a ušetří to ještě více energie než bdění každých 120 minut, takže jsem to použil. Nepotřebujete přesně znát interval, protože cílem je stáhnout data zhruba jednou denně zhruba kolem 4 hodiny ráno. Interval (např. 145 minut) a čas probuzení (např. 4:00) můžete zadat v souboru env_config.h.

(Pokud chcete lepší kontrolu nad časováním u jiného projektu, deska TPL5110 má na zadní straně stopu, kterou můžete vyříznout, abyste vypnuli potenciometr. Poté připojíte odpor ke kolíku Delay a odpor určuje interval podle tento graf.)

Krok 5: Software

Budete potřebovat Arduino IDE s balíčkem ESP32. V IDE nastavte desku na „ESP32 Dev Module“.

Skica je k dispozici na https://github.com/jasonful/Tides a vyžaduje 3 knihovny:

  1. „Meteorologická stanice ESP8266“, dostupná u správce knihovny Arduino (nebo zde). Budete potřebovat pouze těchto 6 souborů: ESPHTTPClient.h, ESPWiFi.h, OpenWeatherMapCurrent.cpp, OpenWeatherMapCurrent.h, OpenWeatherMapForecast.cpp, OpenWeatherMapForecast.h a zbytek můžete smazat.
  2. „Json Streaming Parser“dostupný z Arduino Library Manager (nebo zde)
  3. https://github.com/LilyGO/TTGO-Epape-T5-V1.8/tree/master/epa2in13-demo Přestože kód není zabalen jako skutečná knihovna, stačí jej zkopírovat do adresáře knihoven a zahrnout to.

Krok 6: Konfigurace softwaru

V souboru env_config.h je třeba nastavit několik parametrů (a několik, které možná budete chtít nastavit), včetně:

  • WiFi SSID a heslo
  • ID stanice NOAA (jinými slovy, kde jste)
  • OpenWeatherMap AppID, ke kterému se budete muset zaregistrovat (je to snadné a zdarma)
  • OpenWeatherMap LocationID (opět, kde jste)
  • CONFIG_USE_TPL5110, který vám umožňuje používat T5 bez TPL5110. Místo toho software přejde do režimu hlubokého spánku. Deska T5 čerpá v hlubokém spánku asi 8 mA, takže bych očekával, že baterie vydrží několik dní.

Krok 7: Jak software funguje

(Pokud vás to nezajímá, můžete tuto část přeskočit.)

Cílem je probudit se jednou denně, ale protože maximální interval TPL5110 je jen asi 2 hodiny, T5 se musí probouzet častěji. Poté, co stáhne data o přílivu a počasí, vypočítá, kolik z těchto 2hodinových intervalů je mezi dneškem a 4:00 ráno zítra. To je trochu komplikované skutečností, že TPL5110 zcela přerušuje napájení T5, což je dobré pro baterii, ale znamená to, že ztrácíme RAM a hodiny v reálném čase. Je to jako každé ráno vstávat s amnézií. Abychom zjistili, kolik je hodin, extrahuje to z hlavičky HTTP NOAA. A aby si pamatoval, kolik zbývají 2hodinové intervaly, píše to proti stálému úložišti (flash). Pokaždé, když se probudí, zkontroluje to počítadlo, sníží jej, uloží a pokud je větší než nula, okamžitě vyšle signál na TPL51110 („Hotovo“), který mu řekne, aby jej uspal. Když čítač dosáhne nuly, kód stáhne nová data a přepočítá a resetuje čítač.

Krok 8: Spusťte jej

Spusť to
Spusť to

Ujistěte se, že je přepínač na levé straně T5 v poloze nahoru (zapnuto), nahrajte skicu do T5 a během několika sekund by se obrazovka měla aktualizovat s informacemi o přílivu a počasí.

Pokud potřebujete ladit software, změňte „#define DEBUG 0“v horní části Tides.ino na „#define DEBUG 1“. Tím se zapne výstup sériového ladění a ve spodní části e-papíru se také zobrazí počet zbývajících restartů, než stáhne nová data, a čas, kdy naposledy stáhl data.

Krok 9: Budoucí směry

  1. Použití TPL5110 v kombinaci s displejem elektronického papíru je skvělý způsob, jak zobrazit všechna data, která se často nemění, s vynikající výdrží baterie.
  2. Když jsem to navrhoval, zvažoval jsem použití TrigBoard, což je deska ESP8266 s integrovaným TPL5111. Bylo by zapotřebí získat samostatný displej pro elektronický papír a desku ovladače elektronického papíru, jako je tato nebo tato. Nebo kombinace ovladače a desky, jako je tato nebo tato. Myslím, že pro přenesení kódu do ESP8266 bude muset SSL kód místo certifikátů používat otisky prstů a energeticky nezávislý kód úložiště bude muset používat paměť EEPROM nebo RTC.
  3. Nedávno jsem slyšel, že deska Lolin32 je v režimu hlubokého spánku docela slušná: asi 100uA. Ne tak dobré jako deska TPL51110 (20uA podle Adafruit), ale dost dobré.
  4. OpenWeatherMap vrací mnohem více údajů o počasí, než zobrazuji. Včetně ID ikon, což by vyžadovalo někde najít monochromatické ikony.

Doporučuje: