< Zawsze chciałem mieć takie coś...
Ostatnio na kanale YouTube "Rozpaczkowanie" natknąłem się na film o sprzęcie zwanym M5Cardputer. A raczej został mi on podesłany. Wysłano mi go dlatego, że... mam już to urządzenie. Tylko że na jakiś czas o nim zapomniałem. Film ten spowodował, że nie tylko sobie o nim przypomniałem, ale też spotkało mnie miłe zaskoczenie, a mianowicie: dowiedziałem się, że Cardputer doczekał się nowej rewizji - "Adv" - z większą ilością funkcji, dostępnej w preorderze w sklepie internetowym Botland. Oczywiście zamówiłem - z tego co pamiętam, mają dostarczyć 200 sztuk na 17 grudnia.

Oto mój egzemplarz Cardputera z napisanym przeze mnie prostym syntezatorem dźwięku, który nie obsługuje nawet akordów, nazwanym adekwatnie do reakcji osoby postronnej na dźwięk przez niego wydawany.
No dobra, ale co to właściwie jest, ten Cardputer? Otóż - Cardputer to platforma prototypowa oparta o płytkę rozwojową M5StampS3 z mikrokontrolerem ESP32S3, zamkniętą wraz z innymi podzespołami w obudowie o wysokości i szerokości karty płatniczej. W skład platformy wchodzą urządzenia takie, jak (teraz piszę z pamięci, więc mogę o czymś zapomnieć): wyżej wymienione ESP32S3 z obsługą Wi-Fi i Bluetooth, kolorowy wyświetlacz LCD, czytnik kart SD, głośnik, mikrofon, klawiatura i dioda podczerwieni. Jeśli chodzi o złącza, znajdziemy tu USB-C z obsługą OTG (możemy z Cardputera zrobić jakże wygodną klawiaturę USB do komputera), złącze Grove oraz również wyżej wymieniony czytnik kart SD. Na obudowie znajduje się przycisk Reset, jeden dowolnie programowalny przycisk i przełącznik ON/OFF. Do tego mamy baterie o łącznej pojemności 1520 mAh ładowane przez USB-C, a obudowa ma magnesy i jest kompatybilna z LEGO Technic. Całkiem sporo fajnych rzeczy, jak na takie urządzonko.
Nie ukrywam, że z tego wszystkiego najbardziej interesuje mnie łączność bezprzewodowa - daje to temu urządzeniu chyba najwięcej możliwości, od pentestingu sieci po zwykłe IoT, takie jak np. zdalne sterowanie urządzeniami przez Wi-Fi. Kiedyś zrobiłem sobie z niego "pilot WoL", który służył do zdalnego uruchamiania komputera przez Wake-on-Lan właśnie. Wyobraź sobie, że siedzisz sobie w kuchni, kończysz obiad i planujesz usiąść przy kompie. Wyciągasz Cardputera z kieszeni i wciskasz przycisk, a gdy jesteś już w pokoju, komputer czeka włączony. Totalnie bez sensu, zgoda, ale działa zgodnie z założeniami i to jest w tym wszystkim najfajniejsze xD.
Na Cardputera dostępne jest sporo porządnego oprogramowania zarówno do zabawy jak i do bardziej specjalistycznych zastosowań. Ja jednak kupując to urządzenie postawiłem raczej na pisanie swoich programów, więc nie testowałem zbyt wielu gotowców. Moją uwagę jednak przykuł "M5Launcher", pozwalający na przechowywanie i uruchamianie firmware'u z karty SD zamiast pamięci mikrokontrolera, przez co można naraz mieć na Cardputerze wiele programów. Muszę się zmotywować i go wreszcie kiedyś zainstalować. Interesujący dla mnie okazał się też być "Evil Cardputer" wspomniany w filmie, o którym słyszałem już wcześniej, ale nie za bardzo wiedziałem do czego służy (a służy w skrócie m.in. do pentestingu sieci).
A co nowego znajduje się w Cardputerze Adv? Otóż ma on: nieco lepszą baterię (1750 mAh), inną płytkę rozwojową - M5StampS3A z procesorem o taktowaniu do 240 MHz, czujnik ruchu, złącze audio jack 3,5mm i coś, czego najbardziej brakuje mi w podstawowej wersji - złącza GPIO, pozwalające na podłączanie do Cardputera różnych urządzeń peryferyjnych i własnych projektów.
W związku z tym, że przypomniałem sobie niedawno o Cardputerze, planowałem zacząć go znowu programować z użyciem Arduino IDE - lecz kłopot w tym, że na ThinkPadzie z Gentoo, którego obecnie głównie używam, nie miałem jeszcze skonfigurowanego środowiska pod programowanie go. Pół wczorajszego popołudnia zeszło mi na ustawianiu tego wszystkiego, ale się udało. Dlatego za niedługo w kategorii Rzeczy > Poradniki pojawi się wpis na dokładnie ten temat. Następne posty i poradniki poświęcę faktycznemu programowaniu i ciekawym firmware'om i zastosowaniom dla Cardputera. Oczywiście mile widziane będzie zasugerowanie w komentarzu jakiegoś nietypowego lub ciekawego zastosowania dla tego sprzętu - jeśli nie przerośnie mnie to programistycznie lub pod kątem zasobów sprzętowych - postaram się to wykonać.
Jak tylko przyjdzie Cardputer Adv, zajmę się też jego omawianiem.