Przejdź do treści

Malezyjski maker wycisnął 500 dni pracy na baterii z ESP32. Wyświetlacz? Narysowany w przeglądarce. ​

Stacja pogodowa e-paper WeatherPaper V2 autorstwa Jeremy'ego Ngai

Większość stacji pogodowych to grube małe klocki, które co kilka tygodni błagają o ładowarkę. WeatherPaper V2 idzie w drugą stronę. Ma 11,6 mm grubości, przylega do ściany jak kawałek matowej dekoracji i działa ponad 500 dni na jednym ładowaniu.

Twórcą jest Jeremy Ngai, hobbysta z Malezji o prostym motto: inżynieria jest fajna, gdy zaczynasz robić to, co lubisz. Natknęliśmy się na tę konstrukcję, zakochaliśmy się w niej i chcieliśmy się nią podzielić, częściowo dlatego, że Lopaka znalazła miejsce w jego zestawie narzędzi.

Swędzenie: V1 była świetna i to był problem ​

WeatherPaper V1 działała. Wyglądała dobrze. A Jeremy nie mógł jej znieść. Była masywna, żarłoczna na energię, a nieefektywny sprzęt zostawiał miejsce tylko na małą baterię 500 mAh. Dla V2 przybił do ściany jeden bezlitosny cel: ponad rok pracy na baterii.

Wszystko inne wynikło z tej liczby. Przeszedł na 4,2-calowy czarno-biały wyświetlacz e-paper, zamienił generyczną płytkę deweloperską na Seeed Studio XIAO ESP32-C3 z wbudowaną ładowarką i 44 uA w trybie deep sleep oraz zaprojektował własną płytkę PCB, żeby zmniejszyć całość. Bateria urosła z 500 mAh do 1500 mAh. Urządzenie i tak stało się cieńsze.

Własna płytka PCB, bateria, wyświetlacz i XIAO ESP32-C3 w WeatherPaper

Część, którą twórcy pomijają: ekran musi dobrze wyglądać ​

Tutaj e-paper cię karze. Sprzęt może być idealny, firmware może sączyć energię jak mnich, a nic z tego nie ma znaczenia, jeśli wyświetlacz wygląda jak arkusz kalkulacyjny. Rzucasz okiem na WeatherPaper i odczytujesz cztery rzeczy: wskaźnik jakości powietrza, temperaturę odczuwalną, prędkość wiatru i warunki pogodowe. Czyste ikony, rozsądna hierarchia, nic nie krzyczy.

Oznacza to monochromatyczne bitmapy, a na wyświetlaczach embedded bitmapy to miejsce, gdzie kończy się zabawa. Klasyczna droga: narysuj ikonę gdzieś, wyeksportuj ją, przepuść przez image2cpp, skopiuj ścianę liczb szesnastkowych do pliku bitmap.h, wgraj i zmruż oczy na wynik. Źle ustawisz piksel — robisz to jeszcze raz.

Gdzie pasuje Lopaka ​

Jeremy wskazuje twórcom Lopaka właśnie na ten krok: projektowanie monochromatycznych ikon i wyciąganie ich jako użytecznego kodu. Umieszczasz grafikę na obszarze rysowania o rozmiarze twojego prawdziwego ekranu, przeciągasz rzeczy, aż wyglądają dobrze, i eksportujesz. Żadnych tablic bajtów na ślepo, żadnego zgadywania, czy ta 32-pikselowa ikona wyląduje tam, gdzie myślisz, że wyląduje.

Pasuje do WeatherPaper, bo firmware działa na GxEPD2, jednej z bibliotek, dla których Lopaka generuje kod. Rysujesz układ, wybierasz GxEPD2, kopiujesz wyjście. Gdy Jeremy chce później zamienić ikonę, rysuje ją od nowa, zamiast grzebać w liczbach szesnastkowych.

Jego udokumentowany proces pozostaje hakowalny. Chcesz indeks UV zamiast prędkości wiatru? Zmień jeden klucz JSON. Chcesz własne ikony zamiast jego? Narysuj je od nowa i wrzuć nowe tablice. Wyświetlacz pozostaje twój.

Efekt: robić mniej, celowo ​

Matematyka baterii to najfajniejsza część. Co 30 minut ESP32 budzi się na około 4,3 sekundy, pobiera pogodę z OpenWeatherMap, odświeża ekran i wraca do głębokiego snu. Jeremy mocno ścisnął to okno budzenia: procesor obniżony do 80 MHz, DHCP pominięte dzięki statycznemu IP, HTTPS zamienione na zwykłe HTTP przy danych publicznych, HTTP Keep-Alive do grupowania żądań.

Zsumuj to, a każdy cykl spala mniej więcej 0,049 mAh. Przy baterii 1500 mAh wychodzi ponad 15 000 godzin, na papierze ponad 600 dni, a po uwzględnieniu strat w realnym świecie komfortowe 500 z hakiem. Całą konstrukcję podchwyciło XDA Developers.

Jego wniosek mówi to najlepiej: najdłuższa praca na baterii wzięła się z robienia mniej, a nie z dodawania więcej. To samo dotyczy wyświetlacza. Najczystszy interfejs e-paper powstaje z zaprojektowania go na obszarze rysowania, a nie z ręcznego kodowania go w liczbach szesnastkowych.

Gotowa WeatherPaper V2

Zbuduj własną ​

Jeremy udostępnił wszystko jako open source — firmware, pliki Gerber PCB i pliki 3D — w swoim repozytorium WeatherPaper na GitHubie. Jeśli budujesz pod ekran OLED, TFT lub e-paper i wolisz narysować interfejs, zamiast składać go bajt po bajcie, właśnie do tego służy Lopaka. Naszkicuj ekran, wybierz bibliotekę, wypuść kod.

Autorzy ​

WeatherPaper V2 i zdjęcia autorstwa Jeremy'ego Ngai. Przeczytaj pełny przewodnik budowy na Instructables lub zapoznaj się z plikami źródłowymi na GitHubie.