Xiaomi Mi Band 4 – WF skórki – teoria, software, wstęp do praktyki

Teoria

Na początek dla osób które nie wiedzą czym jest WF – jest to skrót często używany a oznacza WatchFace czyli na nasze można określić to ogólnie jako skórka (skin jak kiedyś zwano podobne) a dokładniej to chodzi o tarczę zegarka bo tylko tego dotyczy podmiana czy edycja. Pozostałe elementy jak ikony w menu pozostają niezmienione a przynajmniej na stan dzisiejszy nic o tym nie wiem (mam MiBanda od lekko ponad 3 dni – idzie czwarty).

Skoro skrót WF mamy omówiony o możemy zacząć od początku czyli od tego czym jest WF i z czego jest zbudowany.

WF jest binarnym plikiem zasobów dostarczanym bardzo często jako jedyny plik do zgrania tak jest np w serwisie amazfitwatchfaces.com gdzie po kliknięciu na pozycję “Download” otworzy nam się okienko z linkiem na jeden lub wiele plików bin (czasami kilkanaście lub więcej). Każdy z tych plików to osobna wersja skórki i nie należy ich używać jednocześnie (dokładniej opiszę to czy można czy nie dalej). Klikając na taką pozycję pobierzemy za każdym razem jeden plik o rozszerzeniu .bin – plik ten zawiera w sobie informacje o innych plikach (graficznych i pliku json).

Każdy poprawnie zbudowany plik binarny skórki (.bin) można rozpakować za pomocą dedykowanych aplikacji które można znaleźć w necie. Ja znalazłem na razie 2 i używam jednej która działa prawidłowo. Jest to wspomniana w poprzednim wpisie aplikacja MiBandWFTool.

Software – MiBandWFTool

MiBandWFTool jest aplikacją posiadającą prosty interfejs dla użytkownika. Po jej zgraniu i rozpakowaniu ukaże nam się nowy folder z dwoma podfolderami (PaletteImageMode i RawImageMode) oraz plikiem README.txt zawierającym informacje o zmianach w aplikacji i o dokładnym opisie aplikacji w każdym z podfolderów.

Różnice w wersjach aplikacji MiBandWFTool

Posiłkując się plikiem README.txt i konsolą można się dowiedzieć, że obie wersje (ja zgrałem wersję 1.4.2) uruchamiają się z identycznymi poleceniami jednakże wpływają na wygląd i wielkość plików .bin:

  • Wersja PaletteImageMode:
    • Można użyć dla obrazów graficznych posiadających od 5 do 10 kolorów
    • w niektórych przypadkach może zmniejszyć wagę pliku .bin poprzez okrojoną paletę kolorów
    • Coś czego nie używałem i nie wiem czy dobrze rozumiem ale: Utworzenie pliku raw.cfg z zawartością bliską zawartości pliku .json, możemy wymusić tryb raw (bez kompresji) dla obrazków oznaczonych w pliku raw.cfg dzięki czemu powinniśmy uzyskać lepszą jakość tylko wybranych plików graficznych (np tło) redukując rozmiar pliku.bin (ta opcja może inaczej działać – nietestowane)
    • Jeżeli w palecie będzie więcej niż 254 kolory to obraz zostanie skompresowany
  • RawImageMode:
    • zapewnia lepszą jakość obrazu dzięki większej palecie kolorów
    • działa z obrazami 32- i 16-bitowymi, wygląd bez kompresji. Może znacznie zwiększyć rozmiar pliku .bin

Z uwagi na to, że tworzymy projekt graficzny (zazwyczaj z obrazkowym tłem) to powinniśmy używać wersji RawImageMode. Nie znalazłem informacji o maksymalnej wielkości pliku .bin ale skoro zależy nam na obrazie to jeżeli nie robimy wersji kontrastowych lub kilku kolorowych to nie uważam aby opcja PaletteImageMode była lepsza chyba, że zależy nam na jak najmniejszej wielkości pliku.

Parametry aplikacji MiBandWFTool – Windows

Nie uruchamiałem aplikacji na Windowsie ponieważ od wielu lat nie posiadam tego systemu. Jednakże z tego co czytałem wystarczy przeciągnąć na plik wykonywalny .exe plik z rozszerzeniem .bin aby aplikacja rozpakowała skórkę w katalogu z plikiem .bin lub przeciągnąć na aplikację plik z rozszerzeniem .json aby aplikacja spakowała skórkę do pliku .bin w katalogu z plikiem json. Podobna sytuacja powinna zachodzić w konsoli. Po podaniu ścieżki do pliku wykonywalnego aplikacji należy podać dodatkowy parametr którym jest ścieżka do pliku .json lub .bin. Aplikacja zadziała odpowiednio do wykrytego rozszerzenia pliku z pierwszego parametru.

c:\sciezka\do\pliku\WatchFace.exe c:\sciezka\do\plik.json
# OR:
c:\sciezka\do\pliku\WatchFace.exe c:\sciezka\do\plik.bin

Parametry aplikacji MiBandWFTool – Linux (Debian)

Na Linuxie siedzę od kilku lat i podobnie jak inni użytkownicy chwalę sobie ten system. Niestety w przypadku Linuxa cała operacja z pozoru będzie troszkę trudniejsza. Z pozoru bo potem już może być tylko łatwiej 🙂

W przypadku Linuxa musimy troszkę skonfigurować swoje środowisko. Najprostsze rozwiązanie to instalacja pakietu Wine oraz ewentualnie dodanie aliasu do pliku ~/.bashrc wskazującego na aplikację wine uruchamiającą plik wykonywalny aplikacji MiBandWFTool.

Instalacja Wine w Debian / Ubuntu:

$ sudo apt-get install wine-stable

Dodanie aliasu do pliku ~/.bashrc (należy najpierw skopiować aplikację do /usr/local/bin/ posiadając do tego wymagane uprawnienia)

$ alias MiBandWFTool='wine /usr/local/bin//MiBandWFTool_1.4.2/RawImageMode/WatchFace.exe'

Dalsze operacje są już łatwiejsze niż w Windows. Aplikację MiBandWFTool można uruchamiać w terminalu, skryptach Pythonowych czy w skryptach bashowych podając tylko jej nazwę (właśnie ‘MiBandWFTool’) a po niej ścieżkę do pliku .bin lub .json lub bezpośrednio do folderu z plikami graficznymi i plikiem json (nie trzeba wtedy podawać nazwy pliku .json) np:

Rozpakowywanie pliku binarnego *.bin:

$ MiBandWFTool /home/username/Pulpit/my_first_wf/my_first_wf.bin

Natomiast aby spakować nasz skin należy wydać identyczne polecenie jednakże ścieżka do pliku musi wskazywać na plik .json lub na folder zawierający plik .json i pliki graficzne np:

$ MiBandWFTool /home/username/Pulpit/my_first_wf/my_first_wf.json
# or just:
$ MiBandWFTool /home/username/Pulpit/my_first_wf/

To tyle jeśli chodzi o teorię. Długa, może i męcząca ale kto wytrwał może napisze poniżej czy mu to pomogło czy nie.

W następnym wpisie, który będzie TUTAJ opiszę proces tworzenia prostej skórki na praktycznym przykładzie krok po kroku.

Leave a Reply

Your email address will not be published. Required fields are marked *