Skip to content

 

Systemy wbudowane i projektowanie układów elektronicznych

Systemy wbudowane zyskują coraz większą popularność. Są to zazwyczaj dedykowane projekty elektroniczne wyposażone w mikrokontroler, dla którego zostało napisane oprogramowanie w języku C/C++. Obecnie najpopularniejszym rozwiązaniem wykorzystywanym zarówno w rozwiązaniach hobbystycznych, jak i przemysłowych są układy wyposażone w rdzeń ARM Coretx-M3/M4. Jeśli projekt jest wymagający i musi pracować pod kontrolą czasu rzeczywistego wówczas preferowanym rozwiązaniem jest wykorzystanie systemu operacyjnego FreeRTOS, który to spełnia wymogi dla systemu czasu rzeczywistego. Nie zawsze jednak jest konieczne wykorzystanie platformy opartej o rdzeń ARM. Jeśli aplikacja nie jest wymagająca bardzo często spotykanym rozwiązaniem jest mikrokontroler firmy Atmel sam bądź w oparciu o bardzo popularną platformę Arduino. W przypadku, kiedy zadanie wymaga większej mocy obliczeniowej zazwyczaj wykorzystywany jest komputer SBC (single board computer) lub nawet komputery PC. W tym przypadku rozwiązanie wymaga zazwyczaj stworzenia dedykowanego oprogramowania (sterownika), który zarządza niskopoziomową pracą całego układu.

Oferuję budowę systemów z wykorzystaniem powyższych technologi, jak również integrację systemu z już istniejącym rozwiązaniem. Posiadam duże doświadczenie w tworzeniu urządzeń pomiarowych, jak i urządzeń do akwizycji danych, które wykorzystują różne czujniki (temperatury, wilgotności, jakości powietrza, …). Projekty układów elektronicznych przygotowuję w programie KiCAD wraz z kompletną dokumentacją produkcyjną. Dzięki temu czas od momentu zlecenie produkcji płytek drukowanych do gotowego produktu jest znacząco skrócony.

Strony internetowe i systemy webowe

W pracy związanej z technologiami webowymi oferuję projektowanie oraz wdrożenie kompletnych rozwiązań dla serwisów internetowych opartych o system zarządzania treścią, taki jak Wordpress. Dzięki niemu końcowy użytkownik zyskuje potężne, ale wciąż proste w obsłudze, narzędzie do edycji treści publikowanych na swoim portalu.

Ponadto, w przypadku chęci wdrożenia przez klienta systemu indywidualnie dopasowanego do potrzeb tworzę serwisy oparte o framework CodeIgniter, który może zostać dostosowany do konkretnych zastosowań i wymagań. Wówczas w oparciu o rozmowy z klientem tworzona jest koncepcja serwisu zaczynając od jego wyglądu, aż po funkcjonalność. Takie podejście gwarantuje, że efekt końcowy spełnia oczekiwania. Oferuję również integrację z już istniejącym ekosystemem dzięki czemu zmiany w działającej infrastrukturze nie są konieczne, a w efekcie uzyskujemy system, który spełnia oczekiwania klienta.

Oprogramowanie

Tworzę oprogramowanie na stacje robocze w języku C/C++ z wykorzystaniem frameworka Qt do tworzenia interfejsu użytkownika. Posiadam również doświadczenie związane z rozwojem sterowników do urządzeń zewnętrznych pod systemy standardowy system Linux, jak i z rozszerzeniem czasu rzeczywistego Xenomai. Podczas pracy administracyjnej w systemie Linux piszę skrypty w językach Python oraz Bash, które pomagają w kontroli i automatyzacji pracy. Ponadto interesuję się przetwarzaniem obrazów oraz uczeniem maszynowym (Machine Learning), gdzie często korzystam z biblioteki OpenCV oferującej zaawansowane możliwości w zakresie przetwarzania obrazów.

Do tworzenia systemów robotycznych wykorzystuję framework ROS, który pozwala na wydajną integrację odrębnych elementów oprogramowania tzw. węzłów. Możliwości tego frameworka, można rozszerzyć przez zastosowanie innego frameworka — OROCOS. Pozwala on na tworzenie komponentów, które podobnie do węzłów można łatwo integrować.