Kolejny update - porównałem 3 konfiguracje pod względem poboru mocy i czasów kompilacji oraz rekompilacji przykładowego projektu (wziąłem roboczą wersję projektu z użyciem sensorów i wyświetlacza e-ink by był dość rozbudowany) dla ESP8266, od razu powiem, że to nie jest miarodajne porównanie, bo konfiguracje nie były możliwie identyczne (no niestety nie mogę sobie pozwolić np. na 3 jednakowe ssd, które mógłbym jednocześnie poświęcić nawet na chwilowe testy w 3 urządzeniach, być może będzie jakiś ciąg dalszy, bo czekam na dostawę ssd do drugiego egzemplarza NUCa, ale zależy ile czasu będzie trwało klonowanie konfiguracji z kart microSD i czy w związku z tym czasu mi na to wystarczy zanim zacznie mi się urwanie tyłka w pracy).
Póki co konfiguracje testowe są niesprawiedliwe
(swoją drogą póki co wystarcza 1GB RAMu na to co mam nawet w sporo bardziej rozbudowanej konfiguracji niż tu użyta do testów, ba przeważnie mieszczę się poniżej 512MB)
- NUC6CAYH, 4GB RAM, ssd Corsair MX500
- Raspberry Pi 4B, 2GB RAM, TF Eaget32GB
- Raspberry Pi 3B+, 1GB RAM, TF Samsung 64GB
osiągi tych kart można sprawdzić tam:
http://forum.jdtech.pl/Watek-testy-wydaj...estawienie
w przypadku RPi3B+ prawdopodobnie użycie ssd nie będzie miało istotnego wpływu (porty USB to USB2.0)
być może w przypadku RPi4B ssd wpłynie na wydajność (są dostępne porty USB3.0 a dysponuję obudową hdd z wsparciem UAS), jakkolwiek nie obiecuję ciągu dalszego
Dodatkowo w ramach emulacji obciążenia peryferiami każdy test był z wykorzystaniem dongla z-wave USB Aeotec Z-Stick S2 (oficjalnie nie jest wspierany przez HA, ale działa, choć jest przestarzały), natomiast RPi dodatkowo z dopiętym budżetowym ssd w obudowie USB3 (ale nie w celu wykorzystania przez system… i to jest właśnie ten kawałek niesprawiedliwości, bo użyłem systemowy ssd wyjęty z działającego komputera, więc nie ma mowy o użyciu go do testów w innym charakterze niż jako obciążenie zasilania).
Potwierdzam to co już napisałem wcześniej, przy czym tu niesprawiedliwość na niekorzyść NUCa, bo warunki mam takie, a nie inne i NUC ma mierzony pobór mocy brutto wraz ze stratami w zasilaczu, a RPi to moc netto bez strat w zasilaczu (o ile mam zasilacz dedykowany do RPi4 to nie mogłem znaleźć odpowiedniego dla RPi3 więc oba Pi były testowane na zasilaczu wieloportowym, jeśli będzie kolejna tura testów, a NIE obiecuję, to każde urządzenie będzie miało własny zasilacz, aby pomiary były bardziej porównywalne)
oto wyniki:
NUC6CAYH 5,5W momentami w trakcie kompilacji skacze do 15W ale przeważnie to okolice 7W
RPi4B 4,7W momentami do 8W (większość czasu w trakcie kompilacji to ~7,5W)
RPi3B+ 4,6W w trakcie kompilacji koło 7,4W
No i oprócz wspomnianego użycia na RPi kart TF jest jeszcze jedna niesprawiedliwość - mam tam systemy 32-bitowe (arm7hf) i nie wiem czy w razie dalszych testów będę miał zdrowie na kolejne jedynie testowe przesiadki na wersję arm64, natomiast NUC korzysta natywnie z architektury amd64 - nawet nie ma HassOS w wersji 32bitowej x86
(a napisałem "jedynie testowe", bo już na 100% jestem pewien, że moją ostateczną platformą dla HA będą NUCe, mimo, że prawdopodobnie produkuje je dla intela… ECS, czyli chińska firma niegdyś słynna, a może raczej niesławna ze stosowania sfałszowanych komponentów udających inne bądź nawet generalnie coś działającego, choć były wlutowywane układy zawierające tylko nóżki i plastik obudowy, ale pozbawione wnętrza
)
Niestety byłem zmuszony chwilowo przerwać testy - mimo zasilacza dającego na wyjściu 5,1V i bardzo przyzwoitych kabli w konfiguracji z dopiętym ssd w obudowie w obu przypadkach RPi doczekałem się problemów ze spadkami napięcia (undervoltage), więc i był "piorunek" na chwilowo dopiętym monitorze i wpisy w logach jądra… mierzę także napięcie na portach USB w RPi i spadało do ~4,8V/
Nie mierzyłem tego wcześniej, ale "dedykowany" zasilacz dla RPi4 ma prawie 6V na wyjściu i to dzięki temu nie ma problemów ze spadkami przy jego wykorzystaniu…
Czasy kompilacji (pojedynczy pomiar, na "czystym" środowisku):
NUC6CAYH 55 sek.
RPi4B 116 sek.
RPi3B+ 230 sek.
Czasy rekompilacji:
NUC6CAYH 8,5-9 sek.
RPi4B 10-13,5 sek.
RPi3B+ 21-28 sek.
Oczywiście powinienem każdy pomiar powtórzyć z 10x bo pojedynczy pomiar nie jest wystarczająco wiarygodny, ale niektóre z nich (rekompilacje, które mniej "rzeźbią" po karcie/ssd) powtórzyłem po kilka razy by się przekonać o tym czy realnie są wystarczająco powtarzalne.
edit: raczej nie ma szans na dalsze testy - muszę ogarnąć systemy by zaczęły działać "produkcyjnie" (czyli RPi idą w odstawkę) - zaczyna mi się młyn w robocie… jakkolwiek RPi4 daje całkiem przyjemne rezultaty, więc na wydajność nie można narzekać (poza generalnymi wadami tej platformy)
Ciekawostka - w architekturze amd64 otrzymuję minimalnie lepiej zoptymalizowany plik binarny i to pod 2 względami - zajmuje nieco mniej miejsca we flashu ESP8266 i lepiej wykorzystuje pamięć, w porównaniu do kompilacji pod arm7hf.
I jeszcze jedno - odnośnie wieszaka VESA - tak jak mi się wydało NUC na nim jest montowany "bokiem", czyli w strony góra-dół mamy slot SD oraz kratki wlotów powietrza, a na boki mamy panel tylny i przedni, czyli urządzenia wpięte do portów USB wypadną poziomo choć obrócone "na bok".