Skocz do zawartości

E-papierowa prognoza pogody


spook

Pomocna odpowiedź

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

Ładnie to wygląda! Bardzo estetyczna obudowa i naprawdę fajne meteorogramy. A dlaczego rysowane "własnoręcznie", jakieś gotowe rozwiązania (zakładam, że są) się nie sprawdzają? Kończę remont ganku 🙂 i ogólnie to marzy mi się, żeby wyrzeźbić coś takiego, łącząc prognozy z sieci z bieżącym odczytem (i ich historią) charakterystyk przez czujnik. Wracam do programowania (po latach), chcę poznać Pythona, bo jest dla mnie przydatny, a na czym się lepiej uczyć, jak nie na hobbystycznej dłubaninie (tak się kiedyś właśnie za naukę programowania zabierałem).

Link do komentarza
Share on other sites

Większość czcionek typu TrueType jest przygotowanych pod ekrany obsługujące antyaliasing. Zrób zrzut ekranu dowolnego tekstu i powiększ go mocno w dowolnym edytorze grafiki, to będziesz wiedział, o co chodzi.

Monochromatyczne ekrany typu e-paper nie obsługują antyaliasingu, ponieważ nie są w stanie (z definicji) wyświetlić pikseli w odcieniach szarości. Dlatego czcionki wyświetlane standardowymi mechanizmami wyglądają często bardzo nienaturalnie.

Przygotowałem własny mechanizm renderowania czcionek - najpierw trzeba przygotować czcionkę w moim programiku (wygenerować na podstawie czcionki, a potem ręcznie poprawić), wyeksportować ją jako dane binarne do skryptu pythonowego, a potem użyć przygotowanych przeze mnie skryptów do renderowania.

Dla przykładu: u góry czcionka wyrenderowana moim mechanizmem, na dole - mechanizmem standardowym (PIL / ImageFont, ImageDraw):

FontDemo.thumb.png.d7dd43d72a035cb10fe4d41904f86d2c.png

Ciągle zbieram się do wrzucanie programiku na moją stronę, ale nie mogę znaleźć czasu 🙂 Może po Świętach, jak już wrócę do domu, to ogarnę temat.

Zastanawiałem się też nad dodaniem zwykłego czujnika, tylko muszę znaleźć jakiś dobry. Najbardziej lubiłem BME280 Boscha (temperatura/ciśnienie/wilgotność), ale niestety ma ten problem, że się grzeje i zafałszowuje z czasem odczyty. Zaletą mojego rozwiązania jest prostota dodania czujnika, bo na pokładzie mam płytkę uniwersalną - wystarczy więc tylko dolutować kilka przewodzików, wyprowadzić piny i przygotować miejsce w obudowie na czujnik. Tylko będę wtedy musiał drukować całą spodnią część od nowa, a to jest 17 godzin wydruku 😞

Python wprawdzie jest językiem stosunkowo wolnym, ale jego ogromnymi zaletami jest mnogość bibliotek i ogromna łatwość realizowania wielu czynności. Na przykład w mojej stacji informacyjnej wyświetlam RSSy z wielu stron - pobranie RSSa do obiektu Pythonowego przy pomocy odpowiedniej biblioteki to kwestia jednej (słownie) linijki kodu. Do projektów, które nie wymagają wysokiej wydajności w tej chwili to jest mój wybór numer jeden 🙂

Zachęcam do zapoznania się z kodem mojego projektu - wstaje normalnie na komputerze. W środku zawarłem prosty mechanizm detekcji, jeżeli systemem jest Windows (w sensie: nie POSIX), to obraz renderowany jest do pliku. Jeżeli Raspberry, to wtedy obraz wyświetlany jest na e-papierze. Będziesz tylko musiał uzupełnić klucz API do OpenWeatherMap i wprowadzić odpowiednie współrzędne geograficzne. Teoretycznie mogłem się pobawić w rozpoznawanie ich, ale skoro prognoza wisi w domu na ścianie, to trochę nie miało to sensu.

Pozdrawiam -- Spook.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

22 minuty temu, ethanak napisał:

Dlatego zastanawiam się, dlaczego użyłeś czcionek TT a nie bitmapowych.

Tak naprawdę użyłem bitmapowych, tyle że własnej produkcji 🙂

Pozdrawiam -- Spook.

Link do komentarza
Share on other sites

8 minut temu, spook napisał:

Tak naprawdę użyłem bitmapowych, tyle że własnej produkcji

No właśnie - kolejny raz wynalazłeś koło... a całkiem sensowne czcionki bitmapowe siedzą sobie choćby w pakiecie xfonts-misc i to w formacie strawnym dla pilfont.py.

Link do komentarza
Share on other sites

Przed chwilą, ethanak napisał:

No właśnie - kolejny raz wynalazłeś koło... a całkiem sensowne czcionki bitmapowe siedzą sobie choćby w pakiecie xfonts-misc i to w formacie strawnym dla pilfont.py.

Trochę tak, a trochę nie. Mój edytor czcionek powstał w pierwotnej wersji do generowania czcionek w formacie ILI9341-t3 dla Teensy. Napisałem go jednak dosyć modularnie, więc wystarczyło dodać tylko eksport do odpowiedniego formatu. W ten sposób niewielkim kosztem mogłem skorzystać z dowolnych czcionek TTF, robiąc tylko trochę niewielkich, ręcznych korekt.

Ostatnio na przykład jestem sporym fanem czcionki Saira Condensed i mogłem tym sposobem użyć jej w moim projekcie, bez konieczności poświęcenia jakości wynikowego obrazu.

Link do komentarza
Share on other sites

2 godziny temu, spook napisał:

Zrób zrzut ekranu dowolnego tekstu i powiększ go mocno w dowolnym edytorze grafiki, to będziesz wiedział, o co chodzi.

Ja o wykresy pytałem, bo o nich też napisałeś, że są rysowane własnoręcznie. O czcionkach mam całkiem spore pojęcie w różnych ich aspektach ;).

A jeśli o czujnik chodzi, to właśnie te trzy parametry (temperatura, ciśnienie, wilgotność) chciałbym zapisywać.

Edytowano przez Leander
Link do komentarza
Share on other sites

Tu miałem mniejszą ochotę wynajdywać koło na nowo, ale nie mogłem jak na złość znaleźć biblioteki, która jest w stanie wyrenderować wykres na zadanym obszarze już istniejącego obrazka (w sensie, w pamięci). Jedyną opcją było renderowanie do pliku, ale tego chciałem uniknąć, bo docelowo będę przerabiał obie Raspberki na system plików R/O, a poza tym sytuacja, w której dwie części programu komunikują się ze sobą przez pliki jes taka bardzo '70. Więc już wolałem napisać własny mechanizm, bo pisałem już takich setki i nie było to jakieś wielkie wyzwanie (a poza tym mogłem wprowadzić np. ditherowane wypełnienie histogramu - nie wiem, czy bardziej standardowe biblioteki na to pozwalają). Co więcej ta moja mini-biblioteka jest też przygotowana np. na renderowanie do osobnych obrazków w przypadku ekranu czerwono-czarnego. To potem mocno ułatwia wypluwanie tego na e-papier.

Ale jeżeli znasz jakąś bibliotekę, która spełnia powyższe warunki, to chętnie zobaczyłbym jakiś przykład, bo w przeciwieństwie do czcionek, wykresy wymagały już nietrywialnego wkładu z mojej strony 🙂

Link do komentarza
Share on other sites

13 godzin temu, spook napisał:

Mój edytor czcionek powstał w pierwotnej wersji do generowania czcionek w formacie ILI9341-t3 dla Teensy.

A, to zwracam honor.

2 godziny temu, spook napisał:

Jedyną opcją było renderowanie do pliku, ale tego chciałem uniknąć, bo docelowo będę przerabiał obie Raspberki na system plików R/O

/dev/shm też będzie ro? 😉

Poza tym nie wiem jakie wykresy masz tam jeszcze oprócz tych na zdjęciach, ale sprowadzają się w praktyce do funkcji typu writePixel oraz siedzącej nad nią drawLine i drawVLine z parametrem pattern (zakładam że nie robisz Floyda-Steinberga tylko po prostu rysujesz co drugi piksel). Nie wiem jak to jest przyjęte u współczesnej "młodzieży", ale ja tam bym napisaniem writePixel i drawLine się nie chwalił 🙂

3 godziny temu, spook napisał:

sytuacja, w której dwie części programu komunikują się ze sobą przez pliki jes taka bardzo '70

E tam - jak coś jest zrobione i działa to czemu tego nie użyć? Syntezator formantowy też pochodzi z lat 70-tych a we współczesnych programach znajdziesz fragmenty oryginalnego kodu Klatta z 1980 (tzn. jego najnowszej wersji).

Link do komentarza
Share on other sites

Mam pytanie, ale jak coś, to prosił bym bardzo prostym językiem,
bo niewiele ogarniam, nawet nie posiadam jeszcze żadnego Raspberry...
Ile dni (mniej więcej) mogłoby takie coś działać na akumulatorze?
Gdzieś kiedyś widziałem rozszerzenia nazwane "RPi PowerPack 5000mAh".
Jest sens nad tym rozmyślać, czy raczej bez kabla nie ma szans?

A tak z innej beczki, to gratuluję pomysłu i sukcesu w wykonaniu...
Widziałem też posty TPInka. Kreatywności Wam Panowie nie brakuje...
Rzadko widzę, aby ktoś używał drukarki 3D do czegoś użytecznego,
wszyscy moi znajomi drukują tylko jakiś szajs z internetowych gotowców...

  • Lubię! 2
Link do komentarza
Share on other sites

Tak naprawdę trudno ocenić, bo to zależy np. od rodzaju akumulatora. E-papier jest bardzo oszczędny jeśli chodzi o energię elektryczną, ale Raspberry to mały komputerek i trochę prądu będzie siorbał nawet wtedy, gdy nie będzie nic robił - w końcu na pokładzie jest pełnoprawny Linux.

Ogólnie nie rozważałem nawet użycia akumulatora, bo wbrew pozorom powodowałoby to chyba więcej problemów niż pożytku. Akumulator tak czy kwak trzeba ładować co jakiś czas, więc trzeba byłoby co jakiś czas podłączać kabel. Ja mam wpięte urządzenie w gniazdko i nie muszę się za bardzo niczym przejmować.

Ogólnie akumulator stosowałbym tylko wówczas, gdy miałoby to być rozwiązanie mobilne lub stosowane w miejscu, gdzie trudno o zasilanie sieciowe. W domu korzystam po prostu z możliwości podłączenia się do sieci (korzystam z nieużywanej ładowarki do telefonu - mam ich już chyba z sześć).

 

Link do komentarza
Share on other sites

Dzięki za wyjaśnienie.

Tak sobie tylko rozmyślam o zapotrzebowaniu Raspberry na prąd.
(...nawet nie wiedziałem, że normalnego Linuxa się tam wgrywa, myślałem że jakąś okrojoną wersję...)
Wyobraziłem sobie korytarz w moim obecnym mieszkaniu, gdzie pasowałoby takie coś postawić/powiesić,
tylko ze w korytarzu jest wyłącznie jedno gniazdo i to z dala od szafek.
Do tego gniazdko jest w takim miejscu, że przechodząc ciągle bym wadził o ładowarkę.
No i po takich wyobrażeniach zacząłem właśnie rozmyślać o akumulatorach...

Może jeszcze gdzieś trafię na jakieś wyliczenia, co do akumulatorów w Raspberry..

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.