Nie koncentruj się na płytce
Dobór płytki deweloperskiej na potrzeby utworzenia projektu to ważny, początkowy etap prac nad większością urządzeń elektronicznych. Prezentujemy ten temat z perspektywy doświadczonego inżyniera.
Być może będzie się to wydawać kontrowersyjne, ale wybór optymalnej płytki deweloperskiej do projektu nie powinien rozpocząć się od porównania poszczególnych modeli i zestawienia ich wad i zalet. Biorąc pod uwagę bogatą ofertę zestawów startowych na rynku, projektanci, a szczególnie hobbyści i twórcy niebędący zawodowcami, mogą łatwo poczuć się przytłoczeni koniecznością dokonania wyboru. W efekcie, uwaga projektanta może zostać rozproszona przez szereg ekscytujących nowych funkcji, lub może on skusić się na wybór najnowszego dostępnego modelu, tylko po to by mieć wymówkę, która pozwoli wypróbować jego zalety. W rzeczywistości dobra decyzja będzie zależeć od kilku istotnych czynników.
Jednostka centralna
Inżynierowie, twórcy i hobbyści – wszyscy oni chcieliby by ich dzieła osiągnęły sukces, ale ich zasoby i motywacja różnią się. A to właśnie one powinny mieć wpływ na dobór płytki deweloperskiej. Profesjonaliści często pracują pod presją – ich celem jest przygotowanie urządzenia zgodnie ze ściśle określoną specyfikacją. Jeśli mają dobrze sprecyzowane wymagania odnośnie funkcji, już na początku procesu projektowania, wybór płytki będzie się w ich przypadku koncentrował na jej wydajności, a więc głównym kryterium będzie rodzaj wbudowanego procesora. Naturalnie, konieczne będzie też, by płytka miała odpowiednio dużo wystarczająco szybkiej pamięci oraz by inne wymagane komponenty (takie jak np. jednostka GPU) mieściły się w zadanej specyfikacji.
Osoby pracujące jako elektronicy są także pod presją czasu – finalny produkt musi być gotowy jak najszybciej. Ci inżynierowie chętniej sięgną po procesor z rodziny, którą już znają, o ile tylko spełnia wymagania. Dzięki temu będą mogli wykorzystać wcześniej przygotowane biblioteki, materiały, a nawet posłużyć się narzędziami, które znają. Zmiana architektury mikrokontrolera względem dotychczas stosowanej może wymagać zatrudnienia nowych pracowników. To natomiast zawsze wiąże się z dodatkowym kosztem i zajmuje czas, ale bywa konieczne, jeśli tylko tak da się spełnić kryteria narzucone przez specyfikację.
Otwarte źródła
Drugim istotnym czynnikiem są funkcje płytki oraz dostępność jej źródeł. Zaawansowani inżynierowie będą preferowali wykorzystanie tych płytek, których pełne projekty są udostępnione do pobrania. Pomogą one w późniejszym przygotowaniu własnych schematów i layoutów płytek drukowanych dla gotowego produktu.
Natomiast fakt, że wraz z płytką dostarczane są przykładowe programy, będzie miał znacznie głównie dla hobbystów i innych twórców. Profesjonaliści prawdopodobnie będą mieli wystarczająco duże umiejętności, by cały kod do własnej aplikacji napisać samodzielnie i optymalnie, zamiast polegać na przykładach. Jeśli natomiast aplikacja ma pracować pod konkretnym systemem operacyjnym, bardzo cenne będzie wsparcie wybieranego zestawu deweloperskiego dla tego właśnie systemu. Oprócz tego profesjonalista oceni też, czy można pracować z wybraną płytką przy użyciu narzędzi i języków wykorzystywanych w firmie, w której jest zatrudniony. Zmiana przyzwyczajeń zawsze wymaga poświęcenia dodatkowego czasu, a często także i środków finansowych potrzebnych na zakup nowych narzędzi deweloperskich.
Podsumowując, ścieżka, jaką będzie kierował się inżynier pracujący nad nowym projektem w firmie sprowadzi się do oceny wymagań względem procesora i wymaganych funkcji, a następnie do sprawdzenia środowiska programistycznego pod kątem zgodności ze stosowanymi dotąd narzędziami. I będzie to słuszne niezależnie od rodzaju wykonywanego projektu, a więc zarówno gdy opracowywana jest nowa pralka, jak i gdy celem prac jest stworzenie zaawansowanego systemu automatyki.
Hobbyści
Dla niezależnych twórców podjęcie odpowiedniej decyzji jest tak samo ważne, ale są oni zazwyczaj mniej ograniczeni różnymi wymaganiami i czasem. Wybór wtedy może okazać się trudniejszy – większość takich osób ma mniejsze doświadczenie i częściej potrzebuje wsparcia. Dlatego ci hobbyści, którzy tworzą własne startupy często poszukują pomocy w społeczności twórców, by dowiedzieć się, jak realizowane były projekty podobne do przygotowywanych przez nich. Następnie oceniają wydajność, możliwości optymalizacji oraz koszt zestawu startowego.
Hobbyści preferują płytki, które cieszą się dużą popularnością wśród innych użytkowników, a przede wszystkim te, które podobni im ludzie z powodzeniem zastosowali w zbliżonych aplikacjach. Dzieje się tak dlatego, że zazwyczaj szukają pomocy właśnie wewnątrz społeczności użytkowników, zamiast odzywać się do producenta. Osoby zajmujące się tworzeniem tego typu rozwiązań zawodowo również preferują popularne płytki, ale chętniej korzystają z pomocy producentów oraz mniej im zależy na przykładach podobnych aplikacji. Niemałe znaczenie dla wszystkich niezależnych twórców ma natomiast dostępność sterowników do obwodów peryferyjnych. Mogą one mieć decydujące znaczenie, ze względu na czas i wiedzę, potrzebne do przygotowania własnego kodu.
Hobbyści często bazują swój wybór na dostępnych funkcjach i interfejsach komunikacyjnych. To dzięki temu produkty takie jak Raspberry Pi, dla których przygotowano ogromną liczbę różnych nakładek są tak popularne wśród twórców. Natomiast profesjonalistom bardziej zależy na wydajności, ilości pamięci i możliwości optymalizacji. Oczywiście dla wszystkich grup ważny jest też koszt, ale w ostatnim czasie ceny komputerów jednopłytkowych znacznie zmalały, więc straciło to na znaczeniu.
Wsparcie dla konkretnych zestawów narzędzi nie jest aż tak istotne w przypadku niekomercyjnych projektów, aczkolwiek dostępność darmowego środowiska programistycznego i bibliotek już tak. To właśnie dlatego, płytki takie jak należące do rodziny Arduino cieszą się bardzo dużą popularnością wśród twórców i hobbystów. Ich IDE jest nie tylko bezpłatne, ale i bardzo proste w użyciu.
Projekty IoT
Internet Rzeczy znacząco poszerzył spektrum projektów, jakie można z powodzeniem realizować oraz rozpalił wyobraźnię zarówno profesjonalistów, jak i hobbystów. Dzięki IoT wiele nowych projektów będzie miało szanse zaistnieć na rynku. I o ile technologie stojące za Internetem Rzeczy tak naprawdę nie są niczym nowym, koncepcja łączenia ze sobą wszystkich urządzeń i powszechne wykorzystanie czujników stanowi istotną innowację. Jeszcze 10 lat temu ani łączność bezprzewodowa ani cyfrowe czujniki nie były zbyt popularne, a tymczasem teraz świat IoT rozrasta się w niesamowicie szybkim tempie.
[internet-of-things (hi).jpg]Dla projektantów szukających płytki startowej, rosnąca popularność Internetu Rzeczy to bardzo dobra wiadomość. Kompletny zestaw funkcji potrzebnych do realizacji różnorodnych urządzeń IoT najczęściej jest dostarczany w postaci małego modułu, a czasem nawet pojedynczego układu scalonego. Dzięki temu nie trzeba wszystkiego samodzielnie projektować od zera, a to znowu oznacza, że twórcy bez wiedzy na temat sprzętu mogą opracowywać urządzenia z bez potrzeby projektowania skomplikowanych obwodów. Co więcej, oprogramowanie do prowadzenia komunikacji jest również bezpłatnie dostępne. To sprawia, że dla wszelkiego rodzaju hobbystów ich zadanie staje się znacznie uproszone. Mogą oni zaoszczędzić czas i skoncentrować się na funkcjach urządzenia oraz aspektach komunikacji na wysokim poziomie abstrakcji, zamiast programować niskopoziomowy kod dla protokołów takich jak Bluetooth Low Energy, Wi-Fi, czy stosu TCP/IP.