Zrobiłem właśnie prosty eksperyment: wszedłem na Forum elektroda.pl -> Artykuły -> Newsy, otworzyłem szybkie szukanie na stronie i wpisałem hasło "jednopłytkowy". Od 17 maja do 6 czerwca było osiem newsów zawierających to słowo w tytule. Wpisanie tego słowa w wyszukiwarkę działu Newsy daje 675 wyników. Pierwsze 30 wyników obejmuje czas od 10 marca do 5 czerwca. Od 1 stycznia było ich już 37, średnio 6,6 newsa na miesiąc. Krótka wizyta na stronie TME pokazuje 177 różnych "jednopłykowców" w katalogu, z czego 53 modele są dostępne "od ręki". Czyżby zapotrzebowanie na te małe komputery było aż tak wielkie? Czy są one wręcz niezastąpione i każde gospodarstwo domowe i zakład pracy są nimi naćkane, jak dobra kasza skwarkami, że zacytuję klasyka? A może rynek komputerów jednopłytkowych jest przesycony, i większość z nich nie nadaje się do użytku? Może producenci z Chin zwyczajnie żerują na sukcesie Raspberry Pi i robią nieudolne kopie stosując tanie "chłyty matetingowe" by trochę zarobić na naiwnych fanach nowości?
Nihil novi
Pierwszy komputer jednopłytkowy został zaprezentowany w czasopiśmie Radio-Electronics w maju 1976 roku pod nazwą dyna-micro. Oparty był o chipset Intela z procesorem C8080A. W tym samym roku został przemianowany na MMD-1 (Mini-Micro Designer 1) i przez jakiś czas był dość popularny. Z kolei firma MOS Technology wypuściła swój komputer jednopłytkowy, KIM-1, też w 1976 roku. Oparty był o ich własny mikroprocesor, MOS 6502, który został stworzony przez ludzi odpowiedzialnych za mikroprocesor Motorola 6800. MOS 6502 był wtedy najtańszym mikroprocesorem na rynku, co przyczyniło się do jego ogromnego sukcesu. Zilog stworzył niemal równolegle swój mikroprocesor, Z80, będący programowo kompatybilnym rozwinięciem układu Intel 8080. Praktycznie wszystkie wczesne komputery domowe od Commodore od Commodore, Atari i Sinclair, oraz komputery edukacyjne Acorn Electron czy BBC Micro były komputerami jednopłytkowymi. Podobnie można potraktować konsole do gier, choć technicznie rzecz biorąc nie działały bez dołączenia kartridża, w którym znajdowała się pamięć (E-)PROM, a czasem dodatkowe układy rozszerzające możliwości konsoli.
Wraz z popularyzacją komputerów osobistych komputery jednopłytkowe niemal wymarły, ograniczając się do systemów przemysłowych, jak standard PC/104 czy zestawów edukacyjnych z procesorami 8051. W Elektronice dla Wszystkich 8/97 przedstawiono kit AVT-2250, czyli komputer edukacyjny na bazie procesora 8051. W Elektronice Praktycznej 12/97 z kolei pokazano kit AVT-399, który był bardziej rozbudowaną, wielopłytkową wersją komputera, też na 8051. Nie są to do końca komputery jednopłytkowe, gdyż w obu przypadkach płytka bazowa jest oddzielona od płytki klawiatury i wyświetlacza, ale teoretycznie płytka bazowa może pracować bez niej. Swego czasu na wielu polskich uczelniach technicznych królował dość drogi, jednopłytkowy komputer też oparty o procesor 8051. Skąd taka popularność akurat tej platformy? Stąd, iż układy rodziny '51 były i wciąż są popularne w najróżniejszych urządzeniach: od sprzętu przemysłowego przez AGD po zabawki. Obecnie są to rozwiązania jednoukładowe, czyli mikrokontrolery, ale w latach dziewięćdziesiątych mikrokontrolery były praktycznie niemal nieznane. Dopiero pojawienie się w Polsce pierwszych układów Atmel oraz kursu Bascom w Elekltronice dla Wszystkich przyczyniły się do ich rozpowszechnienia. USA zaś miało tańsze układy Microchip PIC w wielu konfiguracjach, ale z dużo droższymi programatorami i narzędziami. Oczywiście, jest więcej rodzin mikrokontrolerów na świecie, niż PICi i Atmele, ale o większości hobbyści wtedy nie słyszeli, a i teraz są one raczej produktami niszowymi, bądź skierowanymi do zastosowań profesjonalnych, a przez to poza zasięgiem amatorów. Amatorom zostały PICi i Atmele, a "próg wejścia" uległ drastycznemu obniżeniu.
Arduino
Arduino to była istna rewolucja - płytka z mikrokontrolerem, którą po prostu podłączało się do komputera i programowało z pomocą dedykowanego środowiska programistycznego i języka C++ z tak licznymi uproszczeniami i "tyłkochronami", iż każdy mógł stworzyć coś sensownego w jedno popołudnie. Arduino nie było pierwsze - wcześniej był Basic Stamp czyli mikrokontroler PIC z interpreterem BASIC i niewielkim miejscem na program. Arduino nie było też najlepsze - już wtedy były dostępne lepsze układy i zestawy uruchomieniowe, a dodatkowo projekt płytki był tak skopany, że nie dało się Arduino do płytki stykowej podłączyć. Ale Arduino wtedy miało najlepszy miks cech: rozsądna cena, większe możliwości niż konkurencja i prostota użycia z darmowymi narzędziami. Arduino wygrało i wymiotło konkurencję.
Oczywiście dość szybko pojawiły się klony Arduino, które były tańsze od oryginału, absolutnie z nim zgodne i kompatybilne - w końcu Arduino to otwarty projekt. Równolegle zarówno wielkie firmy, jak i małe start-upy niemal od samego początku próbowały stworzyć swoje Arduino-killery, czyli platformy obiecujące więcej mocy, więcej możliwości, lepszą jakość czy korzystniejszą cenę. Sam mam przedstawiciela tego gatunku, czyli całkiem udaną platformę ChipKIT Max32 od Digilent.
Ale czy ktoś kojarzy ChipKITy? Czy ktoś kojarzy jakiegokolwiek Arduino-killera? Nawet Arduino ma kilka takich "killerów" na swoim koncie - warianty zbyt drogie, zbyt słabe, zbyt różne lub niedopracowane. Pojawiły się szybko i szybko zniknęły, podczas gdy Arduino UNO oraz Mini wciąż cieszą się popularnością. Zwłaszcza dzięki tanim klonom z Chin.
Raspberry Pi - król komputerów jednopłytkowych
Był mały. Był tani. Był potężny. Ale, co najważniejsze, był pierwszy. Raspberry Pi jako pierwszy komputer jednopłytkowy oferował wydajność zbliżoną do zwykłego komputera w malutkiej obudowie i w cenie dużo niższej niż podobnej wielkości urządzenia oparte o mikroprocesory zgodne z x86 czy x86-64. Wszystko za sprawą przyzwoitego procesora ARM, stosownej ilości pamięci RAM i obcięcia kosztów, gdzie się dało. RPi dostało własny system operacyjny, Raspbian, oparty o rodzinę Debian, bardzo popularny odłam Linuxa. Ten manewr sprawił, że RPi od samego początku miało dostęp do sporej biblioteki oprogramowania. Ale prawdziwy sukces polegał jednak na czymś innym - Raspberry Pi miało porty i linie IO, do których dostęp z poziomu oprogramowania był bardzo łatwy.
Raspberry Pi pozwalało robić wszystko to, na co pozwala platforma Arduino, ale z dużo większą wydajnością, plus wszystko to, co da się zrobić z kilkuletnim pecetem pod kontrolą Linuxa. Kolejne generacje i modele Raspberry Pi tylko ulepszały bazową platformę. Od domowej automatyki opartej o protokół MQTT po odtwarzacz filmów i radio internetowe. Od retrokonsoli do grania w hity sprzed 20-40 lat po kontroler armatki wodnej ostraszający kota sąsiadów, którego rozpoznaje za pomocą uczenia maszynowego i kamerki podłączonej bezpośrednio do płytki. Raspberry Pi rządzi.
Królobójstwo to ciężka i brudna robota
Nie trzeba było długo czekać, by najróżniejsze firmy wyczuły dochód i rzuciły się na nowo odkryty rynek komputerów jednopłytkowych. Ale skopiować RPi nie jest tak łatwo, jak skopiować Arduino. Sprzęt jest bardziej skomplikowany, zwłaszcza gdy producent głównego układu ma umowę z fundacją Raspberry Pi, więc zakup układu do bezpośredniego klona jest utrudniony. Trzeba zatem wszystko robić od zera, na innym układzie. Tych na szczęście nie brakuje. Pojawia się jednak inny problem - trzeba skompilować, a czasem i przerobić oprogramowanie by działało na nowej platformie. Z taniego "skoku na kasę" robi się bardziej skomplikowane wyzwanie. Nawet Raspberry Pi miewa z tym problemy.
Najlepszym przykładem nieudanego królobójstwa jest Asus Tinker Board. Ów konkurent dla Raspberry Pi 3 oferował najlepszą platformę sprzętową pośród wszystkich pretendentów. Asus jednak wywalił się na oprogramowaniu i dokumentacji. Nawet kilka miesięcy po premierze były problemy z oprogramowaniem, jak na przykład sterowniki obrazu. Nie wiem, jak sobie radzą teraz, ale przy tak silnej konkurencji jedynym sposobem by wygrać jest być dobrym od samego początku, a nie pół roku później.
Rynek "jednopłytkowców" podzielił się. Mamy więc alternatywy w rodzaju BananaPi, OrangePi czy inny owoc z dopiskiem -Pi, które są mniej lub bardziej udanymi komputerami jednopłytkowymi, często z lepszą specyfikacją ale gorszą ceną, do tego cierpiące z powodu wolniej rozwijanego oprogramowania. Mamy też potężne miniaturowe pecety oparte o energooszczędne i mniej wydajne odmiany procesorów Intel i AMD, z chipsetami graficznymi o wydajności sprzed 2-4 generacji, które z powodzeniem mogą zastąpić komputer biurowy czy dodać funkcje "smart" do telewizora. Cena tych sprzętów znacząco odbiega od RPi, ale i tak może być niższa, niż cena najtańszego laptopa czy peceta. Przy tym są faktycznie energooszczędne, a niektóre modele nie potrzebują nawet aktywnego chłodzenia. Co ciekawe, działają one często pod kontrolą systemu Windows, ze wszystkimi tego zaletami i wadami. Trzecią, mniejszą grupę stanowią komputery typu HDMI Stick, czyli efekt chowu wsobnego między klonami RPi i miniaturkami pecetów. W zamian za zawyżoną cenę oferują niską wydajność procesorów ARM pod kontrolą niedopracowanej dystrybucji Linuxa, niedopracowanego portu Androida albo pozbawionej części sterowników wersji Windows. Resztę rynku "zjadają" wszelkie szroty projektowane za miskę ryżu i oparte o chipsety, do których producent miłościwie sam przygotował port kernela Linuxa albo port Androida. Spora ich część używa procesorów dla budżetowych smartfonów. To właśnie one zapełniają dział Newsów Elektrody. Niedopracowane, kalekie ofiary mody na komputery jednopłytkowe.
Czy zatem warto pisać i czytać o każdym kolejnym komputerze jednopłytkowym na rynku? Moim zdaniem nie. Większość platform jest albo przestarzała w chwili premiery, albo z niedopracowanym, słabym oprogramowaniem, albo pozbawiona dokumentacji. Często w połączeniu ze zbyt wysoką ceną. Większości wystarczy Raspberry Pi z w miarę dopracowaną rodziną dystrybucji, bogatą dokumentacją i ogromną liczbą użytkowników. Pragnący więcej mocy znajdą coś opartego o procesory Intel lub AMD. Profesjonaliści pracujący w przemyśle nadal mają komputery PC/104, kontrolery PLC, systemy SCADA albo w końcu pełnoprawne komputery przemysłowe zaprojektowane tak, by przetrwać nawet najgorsze warunki pracy, oczywiście ze stosowną ceną.
A czy Wam też się przejadły newsy o jednopłytkowcach? Czy ktoś z Was sięgnął po jakiegoś RPi-killera albo Arduino-killera? Jakie są Wasze doświadczenia z alternatywami do RPi? Piszcie!
Nihil novi
Pierwszy komputer jednopłytkowy został zaprezentowany w czasopiśmie Radio-Electronics w maju 1976 roku pod nazwą dyna-micro. Oparty był o chipset Intela z procesorem C8080A. W tym samym roku został przemianowany na MMD-1 (Mini-Micro Designer 1) i przez jakiś czas był dość popularny. Z kolei firma MOS Technology wypuściła swój komputer jednopłytkowy, KIM-1, też w 1976 roku. Oparty był o ich własny mikroprocesor, MOS 6502, który został stworzony przez ludzi odpowiedzialnych za mikroprocesor Motorola 6800. MOS 6502 był wtedy najtańszym mikroprocesorem na rynku, co przyczyniło się do jego ogromnego sukcesu. Zilog stworzył niemal równolegle swój mikroprocesor, Z80, będący programowo kompatybilnym rozwinięciem układu Intel 8080. Praktycznie wszystkie wczesne komputery domowe od Commodore od Commodore, Atari i Sinclair, oraz komputery edukacyjne Acorn Electron czy BBC Micro były komputerami jednopłytkowymi. Podobnie można potraktować konsole do gier, choć technicznie rzecz biorąc nie działały bez dołączenia kartridża, w którym znajdowała się pamięć (E-)PROM, a czasem dodatkowe układy rozszerzające możliwości konsoli.
Wraz z popularyzacją komputerów osobistych komputery jednopłytkowe niemal wymarły, ograniczając się do systemów przemysłowych, jak standard PC/104 czy zestawów edukacyjnych z procesorami 8051. W Elektronice dla Wszystkich 8/97 przedstawiono kit AVT-2250, czyli komputer edukacyjny na bazie procesora 8051. W Elektronice Praktycznej 12/97 z kolei pokazano kit AVT-399, który był bardziej rozbudowaną, wielopłytkową wersją komputera, też na 8051. Nie są to do końca komputery jednopłytkowe, gdyż w obu przypadkach płytka bazowa jest oddzielona od płytki klawiatury i wyświetlacza, ale teoretycznie płytka bazowa może pracować bez niej. Swego czasu na wielu polskich uczelniach technicznych królował dość drogi, jednopłytkowy komputer też oparty o procesor 8051. Skąd taka popularność akurat tej platformy? Stąd, iż układy rodziny '51 były i wciąż są popularne w najróżniejszych urządzeniach: od sprzętu przemysłowego przez AGD po zabawki. Obecnie są to rozwiązania jednoukładowe, czyli mikrokontrolery, ale w latach dziewięćdziesiątych mikrokontrolery były praktycznie niemal nieznane. Dopiero pojawienie się w Polsce pierwszych układów Atmel oraz kursu Bascom w Elekltronice dla Wszystkich przyczyniły się do ich rozpowszechnienia. USA zaś miało tańsze układy Microchip PIC w wielu konfiguracjach, ale z dużo droższymi programatorami i narzędziami. Oczywiście, jest więcej rodzin mikrokontrolerów na świecie, niż PICi i Atmele, ale o większości hobbyści wtedy nie słyszeli, a i teraz są one raczej produktami niszowymi, bądź skierowanymi do zastosowań profesjonalnych, a przez to poza zasięgiem amatorów. Amatorom zostały PICi i Atmele, a "próg wejścia" uległ drastycznemu obniżeniu.
Arduino
Arduino to była istna rewolucja - płytka z mikrokontrolerem, którą po prostu podłączało się do komputera i programowało z pomocą dedykowanego środowiska programistycznego i języka C++ z tak licznymi uproszczeniami i "tyłkochronami", iż każdy mógł stworzyć coś sensownego w jedno popołudnie. Arduino nie było pierwsze - wcześniej był Basic Stamp czyli mikrokontroler PIC z interpreterem BASIC i niewielkim miejscem na program. Arduino nie było też najlepsze - już wtedy były dostępne lepsze układy i zestawy uruchomieniowe, a dodatkowo projekt płytki był tak skopany, że nie dało się Arduino do płytki stykowej podłączyć. Ale Arduino wtedy miało najlepszy miks cech: rozsądna cena, większe możliwości niż konkurencja i prostota użycia z darmowymi narzędziami. Arduino wygrało i wymiotło konkurencję.
Oczywiście dość szybko pojawiły się klony Arduino, które były tańsze od oryginału, absolutnie z nim zgodne i kompatybilne - w końcu Arduino to otwarty projekt. Równolegle zarówno wielkie firmy, jak i małe start-upy niemal od samego początku próbowały stworzyć swoje Arduino-killery, czyli platformy obiecujące więcej mocy, więcej możliwości, lepszą jakość czy korzystniejszą cenę. Sam mam przedstawiciela tego gatunku, czyli całkiem udaną platformę ChipKIT Max32 od Digilent.
Ale czy ktoś kojarzy ChipKITy? Czy ktoś kojarzy jakiegokolwiek Arduino-killera? Nawet Arduino ma kilka takich "killerów" na swoim koncie - warianty zbyt drogie, zbyt słabe, zbyt różne lub niedopracowane. Pojawiły się szybko i szybko zniknęły, podczas gdy Arduino UNO oraz Mini wciąż cieszą się popularnością. Zwłaszcza dzięki tanim klonom z Chin.
Raspberry Pi - król komputerów jednopłytkowych
Był mały. Był tani. Był potężny. Ale, co najważniejsze, był pierwszy. Raspberry Pi jako pierwszy komputer jednopłytkowy oferował wydajność zbliżoną do zwykłego komputera w malutkiej obudowie i w cenie dużo niższej niż podobnej wielkości urządzenia oparte o mikroprocesory zgodne z x86 czy x86-64. Wszystko za sprawą przyzwoitego procesora ARM, stosownej ilości pamięci RAM i obcięcia kosztów, gdzie się dało. RPi dostało własny system operacyjny, Raspbian, oparty o rodzinę Debian, bardzo popularny odłam Linuxa. Ten manewr sprawił, że RPi od samego początku miało dostęp do sporej biblioteki oprogramowania. Ale prawdziwy sukces polegał jednak na czymś innym - Raspberry Pi miało porty i linie IO, do których dostęp z poziomu oprogramowania był bardzo łatwy.
Raspberry Pi pozwalało robić wszystko to, na co pozwala platforma Arduino, ale z dużo większą wydajnością, plus wszystko to, co da się zrobić z kilkuletnim pecetem pod kontrolą Linuxa. Kolejne generacje i modele Raspberry Pi tylko ulepszały bazową platformę. Od domowej automatyki opartej o protokół MQTT po odtwarzacz filmów i radio internetowe. Od retrokonsoli do grania w hity sprzed 20-40 lat po kontroler armatki wodnej ostraszający kota sąsiadów, którego rozpoznaje za pomocą uczenia maszynowego i kamerki podłączonej bezpośrednio do płytki. Raspberry Pi rządzi.
Królobójstwo to ciężka i brudna robota
Nie trzeba było długo czekać, by najróżniejsze firmy wyczuły dochód i rzuciły się na nowo odkryty rynek komputerów jednopłytkowych. Ale skopiować RPi nie jest tak łatwo, jak skopiować Arduino. Sprzęt jest bardziej skomplikowany, zwłaszcza gdy producent głównego układu ma umowę z fundacją Raspberry Pi, więc zakup układu do bezpośredniego klona jest utrudniony. Trzeba zatem wszystko robić od zera, na innym układzie. Tych na szczęście nie brakuje. Pojawia się jednak inny problem - trzeba skompilować, a czasem i przerobić oprogramowanie by działało na nowej platformie. Z taniego "skoku na kasę" robi się bardziej skomplikowane wyzwanie. Nawet Raspberry Pi miewa z tym problemy.
Najlepszym przykładem nieudanego królobójstwa jest Asus Tinker Board. Ów konkurent dla Raspberry Pi 3 oferował najlepszą platformę sprzętową pośród wszystkich pretendentów. Asus jednak wywalił się na oprogramowaniu i dokumentacji. Nawet kilka miesięcy po premierze były problemy z oprogramowaniem, jak na przykład sterowniki obrazu. Nie wiem, jak sobie radzą teraz, ale przy tak silnej konkurencji jedynym sposobem by wygrać jest być dobrym od samego początku, a nie pół roku później.
Rynek "jednopłytkowców" podzielił się. Mamy więc alternatywy w rodzaju BananaPi, OrangePi czy inny owoc z dopiskiem -Pi, które są mniej lub bardziej udanymi komputerami jednopłytkowymi, często z lepszą specyfikacją ale gorszą ceną, do tego cierpiące z powodu wolniej rozwijanego oprogramowania. Mamy też potężne miniaturowe pecety oparte o energooszczędne i mniej wydajne odmiany procesorów Intel i AMD, z chipsetami graficznymi o wydajności sprzed 2-4 generacji, które z powodzeniem mogą zastąpić komputer biurowy czy dodać funkcje "smart" do telewizora. Cena tych sprzętów znacząco odbiega od RPi, ale i tak może być niższa, niż cena najtańszego laptopa czy peceta. Przy tym są faktycznie energooszczędne, a niektóre modele nie potrzebują nawet aktywnego chłodzenia. Co ciekawe, działają one często pod kontrolą systemu Windows, ze wszystkimi tego zaletami i wadami. Trzecią, mniejszą grupę stanowią komputery typu HDMI Stick, czyli efekt chowu wsobnego między klonami RPi i miniaturkami pecetów. W zamian za zawyżoną cenę oferują niską wydajność procesorów ARM pod kontrolą niedopracowanej dystrybucji Linuxa, niedopracowanego portu Androida albo pozbawionej części sterowników wersji Windows. Resztę rynku "zjadają" wszelkie szroty projektowane za miskę ryżu i oparte o chipsety, do których producent miłościwie sam przygotował port kernela Linuxa albo port Androida. Spora ich część używa procesorów dla budżetowych smartfonów. To właśnie one zapełniają dział Newsów Elektrody. Niedopracowane, kalekie ofiary mody na komputery jednopłytkowe.
Czy zatem warto pisać i czytać o każdym kolejnym komputerze jednopłytkowym na rynku? Moim zdaniem nie. Większość platform jest albo przestarzała w chwili premiery, albo z niedopracowanym, słabym oprogramowaniem, albo pozbawiona dokumentacji. Często w połączeniu ze zbyt wysoką ceną. Większości wystarczy Raspberry Pi z w miarę dopracowaną rodziną dystrybucji, bogatą dokumentacją i ogromną liczbą użytkowników. Pragnący więcej mocy znajdą coś opartego o procesory Intel lub AMD. Profesjonaliści pracujący w przemyśle nadal mają komputery PC/104, kontrolery PLC, systemy SCADA albo w końcu pełnoprawne komputery przemysłowe zaprojektowane tak, by przetrwać nawet najgorsze warunki pracy, oczywiście ze stosowną ceną.
A czy Wam też się przejadły newsy o jednopłytkowcach? Czy ktoś z Was sięgnął po jakiegoś RPi-killera albo Arduino-killera? Jakie są Wasze doświadczenia z alternatywami do RPi? Piszcie!
Cool? Ranking DIY