Skocz do zawartości
TPReal

TPInk - stacja pogodowa z e-papierem

Pomocna odpowiedź

23 godziny temu, piotr-jarosz napisał:

Ale z tego co patrzę na samą specyfikę SPI i e-INK, to nie będzie trudne do zasymulowania

Specyfikacja e-INK, przynajmniej tych Waveshare, jest, oględnie mówiąc, straszna. Różne ekrany mają różne sekwencje startowe (właściwe kolejności wysyłania komend), przykładowe programy wysyłają komendy w innej kolejności niż opisuje specyfikacja, a wśród nich komendy o kodach, które w ogóle się w specyfikacji nie pojawiają, struktura LUT jest w ogóle nieudokumentowana (patrz mój post wyżej w tym temacie), różne struktury buforów obrazu, kolory faktyczne inne niż w specyfikacji, i sporo innych quirków, na które trafiłem (a nie przejrzałem nawet wszystkich specyfikacji ani przykładowego kodu wszystkich ekranów, tylko kilku). Pisanie uniwersalnego emulatora tych ekranów brzmi mi jak dobre zadanie dla potępionych dusz w piekle 🙂

Jak chodzi o kod, no cóż, wystarczy mi że w pracy ludzie patrzą na cały kod, który napiszę 🙂 To, co piszę prywatnie, na razie zostawię dla siebie. Chyba że jesteś zainteresowany jakimś konkretnym kawałkiem logiki czy czymś.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
Dnia 9.11.2020 o 11:32, TPReal napisał:

Specyfikacja e-INK, przynajmniej tych Waveshare, jest, oględnie mówiąc, straszna. Różne ekrany mają różne sekwencje startowe (właściwe kolejności wysyłania komend), przykładowe programy wysyłają komendy w innej kolejności niż opisuje specyfikacja, a wśród nich komendy o kodach, które w ogóle się w specyfikacji nie pojawiają, struktura LUT jest w ogóle nieudokumentowana (patrz mój post wyżej w tym temacie), różne struktury buforów obrazu, kolory faktyczne inne niż w specyfikacji, i sporo innych quirków, na które trafiłem (a nie przejrzałem nawet wszystkich specyfikacji ani przykładowego kodu wszystkich ekranów, tylko kilku). Pisanie uniwersalnego emulatora tych ekranów brzmi mi jak dobre zadanie dla potępionych dusz w piekle 🙂

Zrobiłem dokładniejszy rekonesans. Jest dokładnie tak jak mówisz, o ile emulacja samego SPI to nie problem i przekazywanie dalej, o tyle już emulowanie wyświetlaczy to już inna bajka. 
 

Cytat

Jak chodzi o kod, no cóż, wystarczy mi że w pracy ludzie patrzą na cały kod, który napiszę 🙂 To, co piszę prywatnie, na razie zostawię dla siebie. Chyba że jesteś zainteresowany jakimś konkretnym kawałkiem logiki czy czymś.

Na całe moje szczęście mój kod hobbystyczny mieści się w innych obszarach niż to, co piszę zawodowo 🙂 Powodzenia! pochwalę się jak doprowadzę swój projekt do działania.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites
(edytowany)

Ważna uwaga dla wszystkich, którzy chcą zbudować podobną ramkę (w tym mnie ;))

HAT dla Raspberry nie działa z Raspberry Pi Zero [W], źródło: https://github.com/waveshare/e-Paper/issues/99 .

Cytat

Dear customer,
Thank you for your information.
Because when it is directly plugged into the HAT, the entire circuit is working under 5V voltage, so the Raspberry Pi zero may restart due to power supply problems (it is normal if it is connected to Raspberry Pi 3B or Raspberry Pi 4B)
Regarding this problem on zero, we have noticed and are discussing how to solve it.
Please use PH2.0 to connect 3.3V at present.

Zbudowałem sobie wersję mini takiej ramki na RPi Zero i miałem problemy z uruchomieniem ekranu - zawsze po zimnym boocie systemu próba uruchomienia ekranu kończyła się crashem sesji - dopiero za drugim razem działało (screeny poniżej).

Resized_20201125_105751.thumb.jpg.9086b25a2827d196bf414262289e09e2.jpgResized_20201125_123911.thumb.jpg.e610c049a8e2eea8088dc4c7a2a7a195.jpgResized_20201125_221129.thumb.jpg.1d11305342637881cf668acaab296a52.jpg

Rozwiązania programowego nie ma - trzeba podłączyć RPi przez kabel - tak, jak w oryginalnym projekcie. Tak więc paradoksalnie brak miejsca w ramce uratował twórcę oryginalnej ramki przed trudnymi do zdiagnozowania problemami 🙂

Dnia 3.11.2020 o 10:25, piotr-jarosz napisał:

Wow, to jest wspaniałe. 
Zamawiam ekran i RPI Zero. A zanim przyjdzie.. Widział ktoś, jakiś emulator e-INK po SPI? zwirtualizowałbym to z chęcią i zaczął pisać widok 🙂
A może @TPReal, udostępniasz kod źródłowy na GitHubie? 🙂 z chęcią bym podejrzał.
 

@piotr-jarosz, jak chcesz, obejrzyj kod mojej małej stacyjki. Architektura jest zbudowana pod ekran z przyciskami i umożliwia przełączanie trybów na dodatkowe ekrany. Dodatkowo oprogramowałem automatyczne rozpoznawanie, czy skrypty działają na Raspberry czy na PC i w zależności od tego działają nieco inaczej (na przykład na PC generuje ekrany do pliku, na Raspberry - na e-paper; na PC dodałem też opcję symulowania wciskania przycisków, żeby móc łatwo testować rozwiązanie).

Jeżeli chcesz uruchomić na PC, to:

1. Zainstaluj Pythona

2. Zadbaj o doinstalowanie odpowiednich pakietów. Na PC chyba wystarczy Pillow, w katalogu z Pythonem uruchom:

python.exe -m pip install Pillow

3. Załóż konto na openweathermap.org i utwórz klucz API (trzeba go wpisać w weathermodule.py)

4. Uzupełnij współrzędne geograficzne

5. Upewnij się, że ścieżki w fileoutput.py wskazują na istniejące miejsce

W tej chwili działa tylko przycisk 1, wpisz w konsoli "1" i wciśnij Enter żeby przełączyć tryb. Wciśnięcie samego Enter zakończy działanie.

Niedługo opublikuję na mojej stronie internetowej (https://spooksoft.pl) edytor czcionek, z którego skorzystałem, żeby poprawić trochę wygląd tekstu na ekranie. Python daje sobie oczywiście radę z czcionkami TrueType, ale problem polega na tym, że próbuje renderować je z antyaliasingiem, a na ekranie e-papierowym mamy tylko czarny i biały. Nawiasem, edytor ten pozwala też na generowanie czcionek dla Teensy/ILI9341_t3, jeżeli ktoś korzysta.

Możecie mnie trochę pogonić, bo już dawno miałem ten edytor opisać i opublikować, ale zajmuję się jakimis stacjami pogodowymi czy coś 😉

Aha, jeżeli będziesz potrzebować pomocy z jakimś fragmentem skryptu, to pisz w tym wątku, postaram się pomóc.

RaspberryDisplay.zip

Edytowano przez spook
  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

@spook O kurczę, to faktycznie miałem trochę szczęścia. Testowałem przez HAT i działało, ale na Pi 2, więc bym faktycznie się zdziwił że mi nie działa na Zero.

Natomiast jeżeli przyczyną problemów jest podpięcie zasilania 5V, to chyba nie chodzi o wydajność prądową, bo piny 5V są bezpośrednio połączone ze źródłem zasilania Pi, więc można z nich brać duży prąd o ile tylko zasilacz tyle daje (no, 5A bym nie polecał, ale 0.5A spokojnie). Do tego na stronie piszą że moc jest 38mW przy 3.3V..5V, to wychodzi jakieś 12mA. Więc w sumie nie rozumiem na czym polega problem.

Przyjemnie wygląda ta twoja rameczka 🙂

  • Lubię! 2

Udostępnij ten post


Link to post
Share on other sites

@TPReal, też się trochę zdziwiłem, ale tak pisze ekipa z Waveshare. Może ekran powoduje chwilowy przysiad, który destabilizuje RPi? Nawet w przypadku tego małego ekraniku wystarczyło, żeby położyć sesję zdalną. Skończyłem używając RPi 3.

I jeszcze jedna wskazówka dla tych, którzy chcą skonstruować podobną ramkę. Warto rozważyć, czy nie warto poświęcić 3 kolorów na rzecz szybszego odświeżania: mam tu na myśli fakt, że trójkolorowe ekrany potrzebują na to mnóstwo czasu. Mały ekranik, z którego korzystam, wykonuje pełny cykl odświeżania 16 sekund (z zegarkiem w ręku). Dla porównania dwukolorowy ekran e-paper 7.5", 800x480 na pełny cykl odświeżania potrzebuje "zaledwie" 5 sekund. To daje trochę więcej miejsca manewru podczas programowania - można poszaleć i renderować ekran częściej.

Żeby było jasne: nie mówię wielokolorowym ekranom nie. Ale jestem przekonany, że jest to istotna kwestia do rozważenia. Ja zdecydowałem się w końcu właśnie na ekran dwukolorowy - jak skończę go projektować, to pewnie podrzucę jakiś opis.

  • Lubię! 2

Udostępnij ten post


Link to post
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...