Darmowe platformy sprzętowe na rynku elektroniki

| Prezentacje firmowe

Czas szybko płynie - w tym roku Linux obchodzi swoje 20-lecie obecności na rynku. W 1991 roku fiński programista Linus Torvalds wypuścił pierwszą wersję tworzonego przez siebie małego i otwartego systemu operacyjnego Linux. Z perspektywy dwóch dekad można przyjąć, że Linus zainicjował konkurencję dla komercyjnych systemów operacyjnych i oprogramowania.

Darmowe platformy sprzętowe na rynku elektroniki

System Linux i całe bezpłatne oprogramowanie potrzebowały dłuższego czasu i wielkiego nakładu pracy, aby ostatecznie wyrobić sobie mocną pozycję na rynku komputerów biurowych, ale bazując na wielu lat doświadczeń, wolne oprogramowanie bardzo szybko zdobywa rynek systemów embedded. Szczególnie kryzys finansowy i poszukiwanie wszelkich możliwych oszczędności spowodował wzrost zainteresowania darmowym oprogramowaniem oraz także darmowymi platformami sprzętowymi.

Platformy sprzętowe open-source

Sukces Linuksa zapewnił popularność idei otwartego oprogramowania. Projekty te zachwiały systemem patentów i dostępnej za pieniądze technologii, wpłynęły również na szybki rozwój wielu dziedzin elektroniki konsumenckiej.

Dzięki darmowemu oprogramowaniu zaczęło się powstawanie otwartych projektów urządzeń, które zawierają schemat, projekt PCB, wykaz elementów oraz oprogramowanie. Dziedzina ta rozwija się od dawna, jednak dopiero rozwój gotowych platform, które można kupić w kilku produkowanych wersjach i dopasować do własnych potrzeb, spowodował, że przekroczona została konieczna do rozwoju masa krytyczna zainteresowania.

W 2005 roku Massimo Banzi i David Cuartielles opracowali projekt uniwersalnej platformy sprzętowej o nazwie Arduino (arduino.cc). Pierwotnym przeznaczeniem miały być systemy sterowania wspomagające tworzenie studenckich projektów wykonywanych w trakcie studiów, takie które byłyby tanie w porównaniu do komercyjnych platform deweloperskich i leżące w zasięgu ich możliwości technicznych i finansowych. Arduino jest projektem udostępnianym bezpłatnie i wykorzystuje oprogramowanie dostępne na licencji open-source.

Część sprzętowa bazuje na procesorach z rodziny Atmel AVR, a więc na popularnych i tanich mikrokontrolerach, które wspomagane są przez proste układy interfejsowe. Jako projekt open hardware udostępniany jest bezpłatnie schemat sterownika i projekt płytki drukowanej, co pozwala na modyfikację projektu oraz włączenie go do swojego specyficznego rozwiązania (rys. 1). Oprogramowanie Arduino programuje się za pomocą specjalnego języka opartego na środowisku Wiring i przypominającego trochę języki C/C++.

Interfejs użytkownika umożliwia zarówno pisanie programu, kompilację, zgrywanie programu na platformę jak i późniejszą komunikację z układem. Dostępny jest też bootloader umożliwiający bezpośrednie programowanie poprzez interfejs RS232 lub USB. Koszt realizacji sterownika bazującego na Arduino zaczyna się od około 50 dolarów, a użytkownicy mogą wybierać pomiędzy 12 platformami różniącymi się typem zastosowanego mikrokontrolera i tym samym wydajnością i ilością dostępnej pamięci.

Duży sukces Arduino, określany przez 200 tysięcy powstałych systemów tego typu, spowodował, że na rynku pojawiają się wariacje przygotowane pod inne procesory. Przykładem może być Amicus18 oparty na układach PIC firmy Microchip, dla którego koszt realizacji zaczyna się od około 40 dolarów (rys. 2). Innym przykładem jest Beagleboard bazujący na procesorach Cortex A8 OMAP TI (rys. 3).

Jest to gotowy mały komputer, na którym daje się uruchomić Linuksa, a także Androida. Beagleboard oferuje sprzętowe wsparcie dla grafiki i audio oraz pozwala na podłączenie myszek, klawiatur, kamer internetowych czy modułów Wi-Fi. Aktualnie udostępnionych jest ponad 200 oficjalnych projektów bazujących na platformie Beagleboard.

Wśród nich znajdziemy w pełni funkcjonalny moduł dla Androida z wyświetlacz z panelem dotykowym. Kolejną platformą open-source jest Hawkboard, wykonana na procesorze o niskim poborze mocy i kosztująca poniżej 140 dolarów. Następna to Bug 2.0 firmowana przez Bug Labs (www.buglabs.net) wykonana na tym samym procesorze co Beagleboard, ale upakowana w mniejszej objętości, wynoszącej jedynie 2×13×6,5cm.

Jest ona reklamowana jako idealne rozwiązanie dla programistów tworzących oprogramowanie dla systemów wbudowanych. Bug 2.0 pozwala im na szybkie prototypowanie projektów, a koszt całości narzędzi szacowany jest na 1500 dolarów - ułamek tego co kosztują profesjonalne platformy prototypowe.

Innowacyjność wspólnej pracy

Jednym z ważniejszych czynników ułatwiających powstawanie platform open hardware i bezpłatnego oprogramowania open-source jest znacząca rola społeczności inżynierskiej i hobbystów zgromadzonych wokół forów dyskusyjnych, którzy nie tylko kreują kształt powstających produktów, ale czynnie włączają się w prace nad ich powstawianiem. Termin ten określa się jako crowdsourcing i oznacza on wspólną pracę wielu osób na dodatek rozproszonych po całym świecie nad realizacją projektu.

Takie rozproszone działania oparte o grono w dużej mierze przypadkowych osób niesie za sobą ryzyko błędów i braku optymalności, niemniej gdy grupa pracująca nad projektem dobierze się trafnie i skupi osoby kompetentne, często wynik ich pracy ma charakter innowacyjny. Takim pozytywnym przykładem jest właśnie projekt Arduino Uno, który skupił się na tym, aby dostępne oddzielne projekty open sourcowych funkcji obsługi myszki i klawiatury włączyć do projektu Arduino.

Innym projektem jest Mintyboost - przenośna ładowarka USB, która została zrealizowana wspólnie przez grupę hobbystów. W odróżnieniu od wielu komercyjnych firm, które podczas tworzenia oprogramowania bazują na hierarchicznej strukturze podziału obowiązków, zespoły tworzące aplikacje i platformy open source mają zwykle strukturę poziomą, a brak zależności formalnych pomiędzy członkami pozwala im pracować szybciej.

Przykładem może być wypuszczenie w tydzień po premierze urządzenia do bezdotykowego sterowania konsolą do gier Microsoft Kinect przez grupę ambitnych hakerów sposobu połączenia go z odkurzaczem iRobot Roomba tak, że za jego pomocą robot może "widzieć". Peter Semmelhack, założyciel i prezes Bug Labs, korzyści z takiej pracy upatruje w krótkim czasie pojawiania się produktów na rynku.

Jego zdaniem, o ile do niedawna takie produkty były obiektem zainteresowania grup społecznościowych skupionych wokół portali i hobbystów, to obecnie coraz częściej są postrzegane przez biznes jako tanie i innowacyjne narzędzie projektowe. Widać to chociażby po tym, że platformy open hardware są akceptowane w biznesie. Verizon Wireless pozwala na ich wykorzystanie w swojej sieci komunikacyjnej bez konieczności przechodzenia przez czasochłonną i kosztowną certyfikację.

Dla firm oznacza to obniżkę kosztów na poziomie minimum 50 tys. dolarów i skrócenie czasu przygotowania produktu o min. 4 miesiące. Są to już wymierne korzyści dla firm pozwalające im ocenić, co mogą osiągnąć zmieniając nastawienie i postrzeganie do produktów o otwartej architekturze. Lista dostępnych pozycji układów open hardware szybko rośnie. Są na niej syntezery głosu, odtwarzacze mp3, wzmacniacze i efekty gitarowe, a nawet wysokiej jakości routery voice-over-IP.

W ten sposób układy te przestają być domeną hobbystów, studentów i entuzjastów elektroniki. Największymi problemami tych aplikacji jest kłopot z tworzeniem przez zespoły twórców dokumentacji w standardowej i zunifikowanej formie. Wprawdzie na odbywającym się w zeszłym roku Open Hardware Summit dyskutowano długo nad definicją standardu dla takich projektów (Open Source Hardware Definition, www.freedomdefined.org/OSHW), niemniej droga do wdrożenia w życie tego projektu jest jeszcze daleka.

Emocje budzą też zagadnienia związane z licencjonowaniem, w których chodzi o zapewnienie bezpłatnego dostępu do projektu przy jednoczesnym poszanowaniu praw twórców. Z pewnością oba te tematy będą szeroko omawiane na kolejnych spotkaniach.

Jeff Hamilton
dyrektor marketingu portalu element14
Farnell

www.farnell.com/pl