Raspberry Pi – sterowanie LED i odczyt temperatury CPU i dysku

Parę dni temu zamówiłem opisywanego wcześniej Banana Pi, którego mam nadzieję użyć jako następcę Raspberry Pi w NAS. Nie wiem co stanie się z obecnym rpi, więc dla pamięci zapiszę parę przydatnych rzeczy, których używam.

Oczywiście do Raspberry Pi można podłączyć LEDy, termometry i ogólnie cuda na kiju (czy tam raczej na GPIO), ale warto też wiedzieć, że jest wbudowany czujnik, z którego można czytać temperaturę CPU. Podobnie jak LED, którym można sterować. Wszystko z wiersza poleceń Linuksa, bezpośrednio z powłoki, bez dodatkowych skryptów czy też bibliotek.

Temperatura CPU

Nie pamiętam już źródła, ale temperaturę CPU w Raspberry Pi odczytać można z /sys/class/thermal/thermal_zone0/temp Jednostka w której jest podawana to tysięczne stopnia Celsjusza, więc pewnie warto będzie zamienić na coś bardziej ludzkiego, np. na stopnie Celsjusza z dokładnością do jednej dziesiątej stopnia (zaokrąglanie):

awk '{printf("%.1f\n",$1/1e3)}' /sys/class/thermal/thermal_zone0/temp

Temperatura dysku

Skoro już sprawdzamy temperaturę, to warto też czytać ją z dysku, o ile taki mamy podłączony do Raspberry Pi. Główna zaleta jest taka, że mniej podatna na chwilowe zmiany i bardziej związana z temperaturą otoczenia. Praktycznie każdy dysk ma czujnik temperatury i można czytać z niego dane przy pomocy S.M.A.R.T. Pobranie samej wartości w stopniach Celsjusza z /dev/sda:

/usr/sbin/smartctl -A /dev/sda | grep -i temp | awk '{print $10}'

Ponieważ zdarzyło mi się raz, że nazwa dysku podczas pracy zmieniała się z /dev/sda na /dev/sdb (nie mam pojęcia czemu) i miałem dziurę w logach, to w skrypcie do logowania obu tych danych stosuję na to obejście (przy okazji pozwoli na czytanie z większej ilości dysków). Cały skrypt (który uruchamiam z crona co godzinę):

#!/bin/bashlogger -t temperature "RPi `awk '{printf("%.1f\n",$1/1e3)}' /sys/class/thermal/thermal_zone0/temp`"for i in `ls /dev/sd?`; dologger -t temperature "Disk `/usr/sbin/smartctl -A $i | grep -i temp | awk '{print $10}'`"done

Sterowanie LED

Większość opisów sterowania LED przy pomocy Raspberry Pi dotyczy tych podłączanych przez GPIO, ale samo rpirównież umożliwia użytkownikowi sterowanie jednym z wbudowanych LEDów. Od razu ostudzę zapał – jest to jedna zielona dioda z kilku LEDów w różnych kolorach świecących się i migających podczas pracy, więc użyteczność OOTB jest mierna. Można się oczywiście bawić w zasłonięcie pozostałych LEDów czy wyprowadzenie na obudowę „światłowodem” tej jednej, albo wyprowadzenie jej w określone miejsce na obudowie, co niewątpliwie zwiększy czytelność, ale to już trochę inna bajka. Polecenia przepisane z wpisu Raspberry Pi – Control the on board LED lights (polecam wpis; blogi znikają, wolę mieć backup).

Wyłączenie triggera (domyślnie pokazuje aktywność mmc0):

echo none > /sys/class/leds/led0/trigger

Zapalenie LED:

echo 1 >/sys/class/leds/led0/brightness

Zgaszenie LED:

echo 0 > /sys/class/leds/led0/brightness

Nie wykorzystuję tego w praktyce z uwagi na wspomnianą małą widoczność. Można w prosty sposób oprogramować i sygnalizować… cokolwiek, w dodatku na minimum 3 stanach (zgaszony/migający/zapalony). Przy odrobinie chęci można dodać obsługę częstotliwości migania. Jeśli chodzi o potencjalne zastosowania, to pierwsze co mi przyszło do głowy, to sygnalizacja temperatury z poprzednich akapitów. Wersja z kilkoma częstotliwościami świetnie nadaje się do informowania o aktualnym zużyciu pasma.

Software RAID i wypadnięcie dysku – HOWTO

Coś złego zaczęło dziać się z jednym z dysków w jednym z desktopów. Wygląda, jakby startował, a następnie robił restart. Głośne cyknięcie, rozkręcanie się dysku, a w tym czasie system stoi. Albo umiera zasilacz, albo dysk. Albo coś gdzieś nie styka.

Ponieważ w moje ręce wpadł inny dysk, postanowiłem podłączyć go do sprawnego komputera, zdiagnozować, wyzerować i zamienić z dyskiem w padającym desktopie.

Wszystko byłoby fajnie, ale w komputerze, w którym chciałem dokonać diagnostyki jest już software RAID. Po podłączeniu dysku do diagnostyki (IDE) system wstał, ale… tylko z jednym dyskiem (zdegradowany RAID). Podłączanego dysku też nie widział. Efekt był taki, że po odpięciu dysku do diagnostyki i uruchomieniu systemu, przywitał mnie rozjechany RAID (md0):

cat /proc/mdstat 
Personalities : [raid1]
md127 : active (auto-read-only) raid1 sda1[0]
      57584256 blocks super 1.2 [2/1] [U_]
     
md0 : active raid1 sdb2[1]
      57584256 blocks super 1.2 [2/1] [_U]

Natomiast w dmesg widoczny był wpis:

md: kicking non-fresh sda1 from array!

Wszystko jak najbardziej OK, tylko jak teraz poskładać to do kupy? TBH liczyłem, że system sam wykryje, że dysk będący częścią RAID wrócił i że ma stare dane. Czyli zrobi synchronizację. No niestety, nic nie dzieje się automagicznie. Chwila z wyszukiwarką i znalazłem rozwiązanie:

mdadm --stop /dev/md127
mdadm --add /dev/md0 /dev/sda1

Po takich komendach RAID rozpoczął synchronizację, której postęp można sprawdzić przez cat /proc/mdstat.

Tyle w kwestii podłączania dziwnych dysków do desktopa z software RAID. Przyczyną dziwnego zachowania okazało się… moje czytanie instrukcji. Nie zapakowałem dysku jak przyszedł (zlimitowany do 32GB), tylko zmieniłem zworką tryb na auto select. Znaczy tak mi się wydawało, gdyż wszystko wskazuje na to, że opis należy czytać odwrotnie. Jakichkolwiek oznaczeń gdzie dół a gdzie góra oczywiście brak.

Nanoblogging

Szedłem sobie do pracy, po części ciesząc się pięknym porankiem, a po części dumając nad upadkiem blogów w ogólności, a μblogów w szczególności i wpadłem na pomysł: nanoblogging. Powody są dwa. Pierwszy: to pisanie μbloga nie jest jakieś specjalnie wygodne, zwł. z telefonu. Po drugie, i tak wiele komunikacji międzyludzkiej sprowadza się do hasłowych zwrotów, czasem tagów.

No to zasady: treść wpisu składa się z informacji o autorze (login), miejscu (koordynaty GPS), timestampa (AKA czas) i… tagów. Zwanych czasem hashtagami, zupełnie nie wiem czemu. Ale ja stary jestem i z Blipa, tam zawsze tagi były z hashem… I tyle. No, jeszcze miejsce na login innego użytkownika lub URL do jego nanowpisu. Hm, i URLe do zewnętrznych serwisów, oczywiście automagicznie skracane.

Piszący nie wpisuje sam tagów, tylko wybiera je z predefiniowanej listy. Do namysłu, czy tylko gotowe dostają użytkownicy i muszą boczkiem prosić autorów serwisu o dodanie nowych, czy mogą jakoś w oddzielnym trybie tworzyć własne tagi. Część tagów może być podpowiadana na podstawie pozycji GPS.

Zdziwiłbym się, gdybym był pierwszy, który wpadł na taki pomysł, więc wpisałem nanoblogging w wyszukiwarkę. I faktycznie, już 5 lat temu było o serwisie Flutter. Oto świetny film o nim.

Patrząc na metody komunikacji, wygląda, że dla wielu osób byłoby to całkowicie wystarczające. Zaspokaja informacyjne ADHD i ekstrawertyzm, a o ileż prostsze w użyciu… W sumie szkoda, że Flutter to tylko żart. Chętnie popatrzyłbym na jakieś statystyki użycia tagów per osoba i per ogół ludzi. Ciekawe ile „wyrazów” by (nam) wystarczyło do „komunikacji”?

Kiedy nadejdzie era IPv6?

Dziś zobaczyłem sondę w serwisie Slashdot, dotyczącą czasu wdrożenia IPv6:

kiedy ipv6 sonda

Dotychczasowe wyniki:

Kiedy IPv6 - wyniki sondy.

W porównaniu z tym co słychać na Plnog i z okolic RIPE, proponowane w sondzie terminy raczej odległe (najwcześniejszy to przed 2020 z wynikiem 28%, kolejny 2020-2024 – 20%). I sporo pesymistów, którzy powątpiewają w masowość IPv6 kiedykolwiek (never – 11%, when we build a new internet – 26%).

Użytkownicy Slashdot są raczej techniczni, więc wpływ USA (mniejszy problem z brakującymi adresami IPv4) czy głos rozsądku?

UPDATE: Zniknęła z bieżącej ankiety na Slashdocie, więc „zakończona”. Łącznie 17434 głosy, wyniki bez istotnych zmian.

Stanowisko UKE w sprawie CAPTCHA i Aero2

Prezes Urzędu Komunikacji Elektronicznej zbadał sprawę wprowadzenia CAPTCHA przez Aero2 i zaprezentował swoje stanowisko. Jak można było przypuszczać, decyzja jest przyzwalająca na stosowanie mechanizmu CAPTCHA. O ile nie jestem zaskoczony samą decyzją, to sformułowania pojawiające się w uzasadnieniu są co najmniej dziwne. Szczególnie prezentowane przez urząd, który za zadanie ma m. in.:

zapewnienie użytkownikom, także użytkownikom niepełnosprawnym, osiągania maksymalnych korzyści w zakresie cen oraz różnorodności i jakości usług,

efektywne inwestowanie w dziedzinie infrastruktury oraz promocję technologii innowacyjnych,

zapewnienie wszystkim obywatelom dostępu do usługi powszechnej,

identyfikację potrzeb określonych grup społecznych, w szczególności użytkowników niepełnosprawnych

Żeby nie było, że sobie wymyśliłem – tu jest źródło. Podkreślenia moje.

Osoby niepełnosprawne

Czytamy w stanowisku UKE:

Z przedstawionych przez Spółkę Aero2 wyjaśnień wynika, iż po konsultacjach z organizacjami zrzeszającymi osoby niepełnosprawne, Spółka wprowadziła możliwość wyłączenia mechanizmu captcha dla użytkowników z dysfunkcją wzroku (niewidomi, słabo widzący oraz głucho-niewidomi).

Więc nie UKE identyfikował samodzielnie potrzeb, tylko zdał się na wyjaśnienia podmiotu, który konsultował z „organizacjami”. Wygodne i mało pracochłonne, prawda?

Swoją drogą, ciekawe czy jest dostępna gdzieś lista organizacji, z którymi była przeprowadzana konsultacja, oraz treść tejże konsultacji? Chętnie bym zerknął.

Ciekawa jest też definicja osoby niepełnosprawnej. Otóż na stronie Aero2 z informacją o dostępnie do BDI dla osób niedowidzących (BTW skopany link w stanowisku UKE) mamy jasno określone, komu przysługuje prawo wyłączenia CAPTCHA:

a. ważne orzeczenie potwierdzające znaczny lub umiarkowany stopień niepełnosprawności z powodu stanu narządu wzroku, wydane przez zespół orzekający o stopniu niepełnosprawności, na podstawie przepisów prawa polskiego – skan orzeczenia;

b. Legitymacja Polskiego Związku Niewidomych – Imię i nazwisko, adres zamieszkania stwierdzająca znaczny lub umiarkowany stopień niepełnosprawności z powodu stanu narządu wzroku – skan legitymacji;

c. ważna legitymacja wydana przez właściwy organ, dokumentująca znaczny lub umiarkowany stopień niepełnosprawności z powodu stanu narządu wzroku zgodnie ze wzorem określonym przez Ministra Gospodarki, Pracy i Polityki Społecznej – skan legitymacji.

Gdyby ktoś był ciekaw, czym jest umiarkowany stopień niepełnosprawności w przypadku wzroku, to (podaję za jednooczni.org):

Do II grupy inwalidów (umiarkowany stopień niepełnosprawności) zalicza się osoby, u których ostrość wzroku po korekcji w lepszym oku wynosi od 6% do 10% normalnej ostrości oraz osoby z zawężonym polem widzenia do około 30 stopni.

Dla jasności, wyłącza to osoby z lekkim stopniem niepełnosprawności, czyli (źródło jak wyżej):

Do III grupy inwalidów (lekki stopień niepełnosprawności) kwalifikują się osoby z obuoczną bezsoczewkowością, osoby jednooczne oraz osoby, których ostrość wzroku w lepszym oku po korekcji szkłami nie przekracza 25% normalnej ostrości. Osoby te nie są prawnie uznawane za niewidome.

Czyli ci z lekką niepełnosprawnością się pogimnastykują z CAPTCHA, a pozostali będą zmuszeni do gimnastyki z urzędami/komisjami i papierkologią. Bo oczywiście nie wystarczyło zrobić oświadczenia, że jest się osobą z wadą wzroku. W przypadku nieprawdziwego oświadczenia opłata za nieuprawnione korzystanie z usługi plus standardowe konsekwencje prawne. Piękny przykład niesłychanie irytującego mnie podejścia udowodnij, że nie jesteś złodziejem[1].

Nawiasem, obecne rozwiązanie, czyli CAPTCHA z możliwością wyłączenia dla wybranych osób nie chroni operatora. Skoro już wcześniej – o czym mowa w uzasadnieniu – handlowano kartami i wykorzystywano je do komunikacji machine to machine[2] to teraz po prostu nastąpi większy popyt na karty z uprawnieniami do korzystania bez CAPTCHA. A operator będzie wydawał kolejne karty.

Promocja technologii innowacyjnych

Obszerny cytat z uzasadnienia będzie, podkreślenia tradycyjnie moje:

Zgodnie z przyjętymi założeniami Prezesa UKE, dostęp do sieci Internet (usługa BDI) kierowana jest do osób wykluczonych cyfrowo, które dostęp wykorzystują do najprostszych działań jak np. przeglądania stron internetowych, przesyłania korespondencji e-mail za pośrednictwem bezpłatnych kont pocztowych, do przesyłania spraw za pośrednictwem portalu e-puap (wnoszenia skarg i wniosków w sprawach, które ich dotyczą), dzięki czemu zmniejsza się ich stopień wykluczenia cyfrowego. Najczęściej do tego typu działań wykorzystywane są urządzenia wykorzystujące typowe przeglądarki internetowe jak: FireFox czy Internet Explorer. Wg publikowanych przez Gemius S.A. rankingów przeglądarek, wskazane przeglądarki (FireFox, Internet Explorer) to najczęściej używane przeglądarki przez internautów w Polsce. Przeglądarki te umożliwiają wyświetlanie i kolejno rozwiązywanie kodu captcha. Osoby wykluczone cyfrowo, które poprzez BDI otrzymują po raz pierwszy dostęp do usługi Internetu, wykorzystują przede wszystkim, ale nie tylko, powszechnie dostępne na rynku urządzenia np. laptopy, które w prosty sposób umożliwiają tak połączenie się z siecią (poprzez modem) jak i korzystanie z usługi BDI za pośrednictwem typowej przeglądarki. Jeżeli dany użytkownik BDI decyduje się na korzystanie z usługi na innych urządzeniach takich jak: smartfony czy tablety, na których z racji np. małego ekranu, problemowe staje się rozwiązanie kodu, bądź też korzysta z dostępu do Internetu za pośrednictwem specjalnych przeglądarek, które dla urządzeń mobilnych typu smartfon zapewniają kompresję danych np. Opera Mini, pośrednio utrudniając wyświetlenie kodu, użytkownik ten korzysta z usługi BDI akceptując zasady jej świadczenia przez Aero2, w tym przyjmuje na siebie obowiązek rozwiązania kodu captcha, w celu uzyskania dostęp do sieci Internet.

Innowacyjność to nie laptop (plus modem), tylko technologie mobilne. Do wysłania i odbioru maila czy przeczytania WWW, oraz obsługi portalu portalu e-puap powinien wystarczyć dowolny sprzęt z dostępem do sieci, bez wskazywania na konkretną technologię. Zwłaszcza laptopa, który w porównaniu z tabletem czy smartfonem jest zwyczajnie drogi, z wielu powodów: smartfon czy tablet może być jedynym urządzeniem, latpop raczej nie. W przypadku laptopa dochodzi zwykle w praktyce koszt systemu. I wspomnianego wcześniej modemu.

Plus, mam wrażenie, że gdyby faktycznie przy BDI chodziło tylko o osoby wykluczone cyfrowo, to można by zrobić z tego kryterium przy ubieganiu się o wniosek, a karty SIM byłyby „przywiązane” terytorialnie. No bo po co komu taka perwersja jak mobilny internet. W domu niech korzysta! Tymczasem na stronie Aero2 chwali się, że 99% użytkowników Polski w zasięgu i nie ma słowa o osobach wykluczonych cyfrowo.

Ciekawie jest też w zakresie dominujących przeglądarek. Z jednej strony Firefox[3] i Internet Eksplorer jako „najczęściej używane”. Z drugiej strony marginalizacja roli Opery (Mini), która jest świetna na urządzeniach mobilnych. Zresztą zwykła Opera z turbo mode, czyli wspomnianą kompresją mająca niedawno 9%, a obecnie ok. 4% rynku też jest świetnym rozwiązaniem, zwłaszcza na wolne łącza, takie jak BDI.

Jeśli chodzi o promocję technologii innowacyjnych to zwyczajnie jej w tym uzasadnieniu nie widzę. Widzę za to promocję wybranych, dominujących, często przestarzałych technologii.

Jak można było sprawę rozwiązać lepiej?

Mając powyższe na uwadze, a także podnoszone przez użytkowników BDI zastrzeżenia należy jednoznacznie wskazać, iż wykorzystywanie BDI przez użytkowników dla nawigacji samochodowej, monitoringu firmy, systemów komunikacji machine to machine, czy też ściągania dużego wolumenu danych, jest sprzeczne z celem regulacyjnym dotyczącym zobowiązania Aero2 do dostarczania usługi BDI.

Po pierwsze, można było wprowadzić opcjonalne kary umowne dla użytkowników łamiących regulamin. Brzydkie i nieefektywne, to fakt, ale z pewnością odstraszałoby potencjalnych abuserów, których zresztą łatwo wykryć.

Po drugie, jeśli BDI ma być – jak sugeruje UKE w uzasadnieniu – tylko dla osób wykluczonych cyfrowo, to należałoby to podkreślić przy składaniu wniosku. Moim zdaniem nie ma być (i nie jest wymagane!) i wtedy zdanie ze strony Aero2: Aero2 realizując projekt BDI ma istotny wpływ na rozwój społeczeństwa informacyjnego ma sens.

Po trzecie, jeśli UKE faktycznie uważa, że ściąganie dużego wolumenu danych[5] jest naruszeniem warunków korzystania, to zamiast utrudniania życia użytkownikom wystarczyłby prosty limit. UKE musiałoby się jednak wysilić nieco i nie rzucać ogólnikami. Plus, wg mojej wiedzy nie ma o tym mowy w warunkach uzyskania koncesji. Ojej.

Po czwarte, do samego wymuszenia rozłączenia połączenia i interwencji manualnej wystarczyłby captive portal (i szczerze mówiąc przypuszczałem, że tak to będzie od początku zrobione). Jasne, da się objeść automatem (czytaj dalej), ale – przy prawidłowej implementacji – działa na każdym systemie i przeglądarce. Także na przeglądarkach w pełni tekstowych. W połączeniu z punktem pierwszym (i ew. trzecim) bardzo skuteczne.

Skuteczność CAPTCHA

Na koniec wisienka: CAPTCHA stosowana obecnie przez Aero2[4] najprawdopodobniej trywialna do złamania przez automaty i tylko patrzeć, jak pojawią się aplikacje na Androida, które automatycznie rozwiążą kod i zrestartują połączenie. W ramach uzasadnienia (i dla chcących napisać taką aplikację) polecam lekturę tego tekstu, czemu CAPTCHA jest zła.

Ale skoro już CAPTCHA, to czemu z takim naciąganym uzasadnieniem?

[1] Zawsze wtedy przychodzi mi do głowy własną miarą sądzą.

[2] Poważnie ktoś tak wykorzystywał? Odważnie. Pomijam fakt, że tani pakiet przez operatora komórkowego to koszt pojedynczych złotówek na miesiąc.

[3] Wypadałoby, żeby urzędnicy znali nazwę popularnej przeglądarki i jej prawidłową pisownię. Firefox, nie FireFox.

[4] W początkowej fazie stosowana była wersja, która wymagała ode mnie zwykle kilku prób (na smartfonie) lub ok. dwóch (na komputerze). Na szczęście poszli po rozum do głowy i obecnie dali coś, co prawie zawsze daje się odczytać…

[5] Prawdziwie profesjonalne sformułowanie. Precyzja aż bije po oczach. Czy pobranie aktualizacji systemu lub odsłuch radia internetowego to już ściąganie dużego wolumenu? Albo – o zgrozo – obejrznie filmu na YT. Przypominam, że niektóre studia filmowe zamieściły część swojego dorobeku na YT.

Hazard z użyciem Bitcoin – 100 BTC do wzięcia

Dawno temu pisałem, że można obejść ustawę hazardową za 5 euro miesięcznie. Stare dzieje. Powstały już serwisy, w których można uprawiać hazard i zakłady z użyciem Bitcoin, co doda kolejną warstwę anonimowości. Bo przecież niekoniecznie na blokadzie stron by się kończyło, a transakcje między wskazanymi kontami łatwo sprawdzić…

W każdym razie do ogródka powody do delegalizacji Bitcoin wpada kolejny kamyczek. We wcześniejszym wpisie można poczytać o wadach Bitcoin.

O całości piszę, bo serwis Cloudbet, który prowadzi hazardowo-zakładowy biznes, zrobił ciekawą zabawę związaną z nadchodzącym Pucharem Świata w Brazylii. Wystarczy założyć u nich za darmo konto i poprawnie typować zwycięzców poszczególnych spotkań i można wygrać 100 BTC (dead link). Czas na rejestrację do 12 czerwca. Wygląda, że no strings attached (pewnie poza spamem na podanego im maila ;-)).

Nie żebym promował/popierał specjalnie, bo nie mam złudzeń, to im się opłaci w postaci wciągniętych w niecny proceder hazardu duszyczek. Ale 100 BTC tak czy inaczej do wzięcia, więc tradycyjnie kibicuję wykorzystującym słabości systemu (powiedzmy, że taki metasport). Swoją drogą ciekawe, ile energii poświęconych będzie na wykrywanie nadużyć i jakie techniki będą stosowane. Niezły test na zachowanie anonimowości (w sumie bardziej: fałszywej tożsamości) w praktyce.

Kingdom Rush – Frontiers

Blisko dwa i pół roku temu zachwalałem Kingdom Rush. Po przyjeździe na urlop (pogoda różna, nie jest źle, ale bywało lepiej…) okazało się, że została wydana kolejna część. Gra nadal trzyma poziom, choć nie widzę wersji płatnej, a tylko darmową. I jakby trochę prostsza od części pierwszej jest.

Screenshot z Kingdom Rush Frontiers

Źródło: http://www.kingdomrushfrontiers.com/

Na poziomie trudności normal skończyłem bez problemu w trybie campaign. Wszędzie trzy gwiazdki, za wyjątkiem ostatniego etapu, gdzie dwie gwiazdki (póki co). Tryby dodatkowe (heroic challange, iron challange) również bez większych problemów na normal, za wyjątkiem etapu czwartego, którego nie udało mi się – póki co – zrobić na normal.

W każdym razie lekko licząc rozrywka na trzy wieczory zapewniona. A jeszcze nie koniec (choć przyznaję, że parcia na ukończenie na poziomie veteran nie mam.

Tutaj można zagrać online w Kingdom Rush Frontiers. W sumie offline też działa, tylko załadować się musi online.