Hej świetny film, sam pracuje z embedded 8 lat a zajmuje się nimi od technikum. Moim pierwszym uC był Intel 8051, programowany programatorem DIY Jakby ktoś nie wierzył: 1. Angielski!!!!!! 2. C C++ i Python, same mikrokontrolery w zasadzie C, Linux QNX inne OS C++, a po co Python? Testy, narzędzia, generatory (tak dużo kodu statycznego na MCU jest generowane) 3. Tak Arduino, raspberry itp. jako prototyp lub narzędzie, no i nauka jak jesteś programistą to musisz się rozwijać sam, nie zawsze w pracy będzie jak. Ale trzeba powiedzieć że raczej producenci dostarczają swoje płytki uruchomieniowe 4. IDE dedykowane to Eclipse z nakładkami, ale jednak Visual Studio Code zaczyna wypierać. Dużo narzędzi dzisiaj zaczyna opierać się na skryptach i coraz mniej jest GUI. Ja np. do kompilacji używam wiersza poleceń a do debugowania Trace32 (polecam zobaczyć, drogie ale potężne) 5. Umiejętność pracy z hardware jest ważna, to można udawać że jest inaczej ale nie. Albo to lubisz i nie masz problemu z łączeniem kabelków mierzeniem itp. albo na pewnym etapie dojdziesz do ściany 6. Trzeba wiedzieć jak działa sprzęt i co to Assembler, czasem problem ujawnia się dopiero patrząc na pojedyncze instrukcje, bardzo ważne są zależności czasowe więc print w kodzie zmienia wszystko, trzeba analizować głębiej 7.Tak, jest praca i to dużo za całkiem dobrą płacę, ludzi który by chcieli się w tym rozwijać jest mało, a rynek z roku na rok rośnie. Na początku ciężko w to wejść ale z roku na rok jest łatwiej (dużo platform takich jak arduino), Kiedy zaczynałem było dużo gorzej, ofert pracy prawie wcale nie było. Dobra wybaczcie za długi komentarz ale często takie filmiki mówią dużo bzdur, tu jest merytorycznie. A może chciałbyś (nie wiem na ile to możliwe), pogadać więcej o narzędziach softwerowych? Pomiędzy byciem hobbystą a pracą zawodową to mnie najbardziej zdziwiło. Generatory kodu, analiza statyczna, dynamiczna, jakość kodu, wszelkiego rodzaju konfiguratory uC (to akurat hobbyści mają ale jak ktoś nie wie jak się z uC pracuję to może być ciekawe). Pozdrawiam
2 жыл бұрын
Dzięki i super komentarz, przypiąłem aż na górę :) Nie ukrywam, nie znałem Trace32 ale będę czytał co tam się kryje :) Faktycznie nie mówiłem tak o Assemblerze, ale w sumie dawno nie patrzyłem tak głęboko, choć np. podczas niektórych prelekcji z code::dive dało mi do zrozumienia, jakie potrafi mieć to znaczenie, kiedy patrzymy z tej perspektywy i co się ujawnia. O statycznej analizie kodu właśnie kończę krótki materiał, bo to świetne narzędzie dla każdego, a często na początku osoby z tego nie korzystają. Jak coś do rozmów najlepiej discord discord.gg/jZEEayaM tam sobie trochę dyskutujemy :)
@eR-MIK2 жыл бұрын
Programator 8051 sam zaprojektowałeś?
@set1990 Жыл бұрын
Automatyka i Robotyka, WEEIA, PŁ@@jakub17
@laletrangere33058 ай бұрын
jakbyś miał zaczynać od jakiegoś mikrokontrolera to jakiego? STM32, RP, Arduino (jeśli ma jakiś sens jeszcze...) ? Czy znajomość mikropythona ma sens? jakbyś miał zaczynać w dzisiejszym świecie to jakbyś to zrobił?
@set19908 ай бұрын
Na szybko: STM to świetny pomysł, tanio i łatwo zacząć, duże pole do rozwoju, wykorzystywane komercyjnie A tak dłużej: 1. Arduino to jest coś świetnego żeby złapać zajawkę, osoba która pracuje z softem wyższego poziomu podejdzie jak i totalny laik. Warto pamiętać że "Arduino" to nie tylko sprzęt to przede wszystkim całe środowisko. No i to jest zaleta i wada. Dla mnie super sprawa bo mogę coś łatwo prototypować ale można nabrać złych wzorców, tam pod spodem jest mnóstwo kodu, biblioteki są niestety często bardzo kiepskiej jakości. Po prostu w ramach rozwoju trzeba zacząć zaglądać pod maskę a tam AVR. AVR do nauki pisania bare metal na pewno fajne bo tanie, jak go spalisz to nie szkoda, ale czy ktoś jeszcze tego używa? No właśnie używa, często są to jakieś małe pomocnicze urządzenia, jakaś elektronika użytkową. Osobiście nie spotkałem projektu na nich ale wiem że jest seria AVR EB do starowania silnikami bez szczotkowymi. Raspberry Pi przedstawiciel SOC ja wolę BeagleBone bo ma sporo ciekawych układów wewnątrz ale to powiedzmy kolejny stopień magii, tylko tutaj znowu bez zaglądania pod maskę, bez np. budowy własnego linuxa (Yocto, BuildRoot) to nic się człowiek nie rozwinie. ESP32 rodzina mikrokontrolerów na którą łatwo przesiąść się z arduino (kompatybilna z całym środowiskiem) to jest bardzo fajna platforma, tania, można z nią zacząć i rozwijać się w całkiem profesjonalną stronę, tam naprawdę jest mnóstwo modułów np. ze sprzętowym akceleratorem kryptograficznym. Uwielbiam tę chińszczyznę, w szufladzie kilka leży i czeka aż staną się częścią mojego IoT STM32 to jest chyba najbardziej profesjonalna ogólnie znana i dostępna platforma, myślę że na tym można najwięcej się nauczyć takiego niskopoziomowego podejścia, da się postawiać RTOS. Mają świetne środowisko IDE, debuger jest na każdej płytce ewaluacyjnej. Myślę że każda z platform jest ciekawa, dzisiaj wbudowany Linux jest standardem, mikrokomputery (w stylu RsPi) są wszędzie, małe mikrokontrolery wykonujące jedno precyzyjne zadanie to zupełnie inna klasa urządzeń ciężko wskazać co jest najlepsze bo każdy wymaga innej wiedzy i służy do czegoś totalnie innego. :/ Tak wiem strasznie konkretnie 2. Co do microPython ja jestem sceptyczny, zwyczajnie nie widzę zastosowania, Python na czymś co ma OS z pełnym interpreterem to tak. Python to dobre narzędzie które na pewno się przyda jak nie język docelowy to jako generator, parsel albo inny tool. 3. Mam takie zamiłowanie do prostych rozwiązań, więc pewnie mimo że sam odradzam to zacząłbym bawić się arduino potem pewnie przerzucił się na kompatybilnego esp i z czasem zgłębiał co siedzi niżej. A tak z pragmatycznego punktu widzenia polecam C++ od 17 do góry. Ja mam już myślenie ułożone w taki sposób że pewne mechanizmy modern C++ są dla mnie nieintuicyjne. Myślę że rozwiązania najniższych warstw dalej będą w C bo specyfika tego kodu nie bardzo pozwala na podejście innymi językami (chociaż Rust jest podobno ciekawą alternatywą). Jednak pisanie w C++ i ewentualne przejście do C (choć bolesne) było by łatwiejsze. A zawsze można pójść w egzotykę i zacząć się interesować FPGA i Verilogiem albo tworzeniem algo w simulinku i generacją kodu w C, sam tworzyłem soft w LabView i to też było ciekawe. Jak się już wejdzie to tej rzeki to nurt sam prowadzi. Tylko warto pamiętać że tam na dole dalej (przynajmniej do tej pory) jest prosta para komplementarna tranzystorów która nawet dodawać nie potrafi. @eR-MIK Co do programatora to były kiedyś wyjścia równoległe i wystarczyło dwa rezystory dolutować a potem były konwertery RS232/LPT tak więc: nie nic nie zaprojektowałem tylko skleciłem z instrukcji (przepraszam że tak późno)
@rezzo47443 жыл бұрын
Świetny materiał! Chcę więcej. Fajnie że opowiedziałeś jak to wygląda w praktyce.
3 жыл бұрын
Dzięki, cieszę się że może się przydać, będzie z pewnością więcej przy okazji kręcenia trochę o stanowisku pracy 🙂
@rezzo47443 жыл бұрын
Tak koniecznie ograj jak wygląda Twoje stanowisko, w co jest wyposażone. Które urządzenia, narzędzia są przydatne, a czy okazało się że jakieś jest zbędne.
@luki-fg6qr3 жыл бұрын
Świetny materiał. Właśnie jestem na studiach i planuję mój rozwój w tym kierunku :D
3 жыл бұрын
Dzięki 🙂 Życzę sukcesu! Jeśli już masz jakiś plan, co po studiach, to jest super i znacznie ułatwia przejście ze studiów na ścieżkę zawodową, zapewne nie będzie problemów 🙂
@jakubopieka8107 Жыл бұрын
Siemano, fajnie że podzieliłeś się swoim doświadczeniem. Sam jestem na stażu lecz typowo w Javie, apki biznesowe. Obserwuję rynek i przesyt developerów w web (backend,frontend) w porównaniu do ilości projektów na rynku i wzrostu wydajności spowodowanej AI jest obecnie przetłaczający, zawsze ciągnęło mnie też w stronę elektroniki, jestem jeszcze na studiach ( Informatyka na polsl). Jak z twojej perspektywy wygląda rynek embedded dev obecnie? Tak samo trudno znaleźć pracę w komercyjnym środowisku? W końcu nie słyszy się o ludziach ciągnących do embedded masowo czy bootcampach w tym temacie. Póki co pozostaje przy Javie, ale kto wie co będzie za jakiś czas.
Жыл бұрын
Hej, tak embedded jest specyficzne, mało ludzi po przekwalifikowaniu, ewentualnie po czymś nie tak odległym, jak u mnie elektrotechnika. Jest trochę ludzi, którzy już na studiach zaprzyjaźnili się z C++ i potem wpadli w embedded. Branża nie tak zagrożona przez AI, działy gdzie bezpieczeństwo jest ważne (to spory kawał emebedded) tam AI będzie przydatnym narzędziem, ale daleko do jakiegoś zastępowania, bardziej wpychanie AI na małe platformy, to będzie ternd z pewnością ;) Takich bootcampów nie ma dużo, bo nie ma na nie takiego popytu, do tego łatwiej nauczyć kogoś JS niż C/C++ i użycia tego w embedded d: Są za to fajne kursy, po których naprawdę można nieźle w to wejść, np. te organizowane przez @msalamon
@mrlukasz3 жыл бұрын
Dobry filmik pozdrawiam !
3 жыл бұрын
Dzięki, również pozdrawiam 🙂
@TaksieZyjeNaTejWsi3 жыл бұрын
O kurcze, super się to oglądało. Zanim przebranżowiłem się też programowałem embedded :) Ech to byly czasy. Dobry materiał kolego z youtuba!
3 жыл бұрын
Dzięki :) Można wiedzieć w co poszedłeś? Coś bliskiego embedded? Podpytuje, bo warto wiedzieć czy można się na coś łatwo przerzucić, jeśli człowiek by się kiedyś z tym wypalił 😅
@TaksieZyjeNaTejWsi3 жыл бұрын
@ wiesz co, może to dziwnie zabrzmi ale poszedłem w coś totalnie innego. Kilkanaście lat technologii związanych z jvm-java, potem kotlin. Tak jakoś wyszło;)
@TaksieZyjeNaTejWsi3 жыл бұрын
@ a co do wypalenia, to polecam software housy, czyli firmy, które robią różne projekty, w różnych technologiach dla różnych firm. Wtedy wewnątrz jednej firmy możesz zmieniać projekty, klientów, otoczenie, frameworki itp.
3 жыл бұрын
Na szczęście teraz tak mam 🙂 faktycznie to trochę daje i się nie nudzę. Dzięki za odpowiedź, po embedded podkładka jest dobra do wielu rzeczy, więc nie brzmi dla mnie dziwnie 😀
@alexios43922 жыл бұрын
Dobry film. Też programuję, ale aplikacje/strony internetowe.
@eR-MIK3 жыл бұрын
To, że uczeń nie odróżniał diody od rezystora to jeszcze jakoś można przeżyć ale to, że wykładowca twierdził, że uszkodzenia mostka prostowniczego (złożonego z pojedynczych diod) nie da się sprawdzić bez rozlutowania to już żenada. Nie pierwszy raz się okazało, że uczeń był mądrzejszy od nauczyciela.
@UC4B0MmPudx13b400xwk2 жыл бұрын
Starsze osoby naprawiające alternatory samochodowe też tak twierdzą;)
@barciu112 жыл бұрын
Dodałbym jeszcze umiejętności specyficzne dla branży. Embedded jest często w automotive, lub w urzadzeniach biomedycznych. W takim automotive często bez znajomości protokołów CAN czy LIN, oraz toolchainem z nimi zwiazanmi może być ciężko. Diagnostyka, Functional safety, cybersecurity, też są mile widziane. Ja też pracuję w embedded i lubię to, ale czasami się zastanawiam, czy ilość wiedzy i umiejętności która jest potrzebna w tej branży, jest adekwatna do zarobków w porównaniu do np. web developera, fronta, czy backenda. Ilość ofert pracy też znacząco mniejsza niż np. programista Java + frameworki.
2 жыл бұрын
Tak, embedded ma kilka specyficznych działek, telco, automotive lub inne z wymaganym wysokim bezpieczeństwem. Gdzie bardzo specyficznie wygląda sam proces powstawania produktu, sporo wiedzy domenowej oraz charakterystycznych dla kodu MISRA itd. Też wydaje mi się embedded trochę nie do końca adekwatna, skoro jest sporo wiedzy, zapotrzebowanie duże, więc stawki powinny być większe.
@robomaniak3 жыл бұрын
Dobry vlog, podobał się 😁🤖
3 жыл бұрын
Cieszę się 🙂 To dla mnie nowość, ale lubię eksperymentować 😄
@irukard3 жыл бұрын
1:58 Windows 97 powiadasz... ciekawe, ciekawe...
3 жыл бұрын
Racja, to musiał być 98. Pierwszy komputer dostałem z 95 i potem instalowałem tam nowy system, jakoś w pamięci zapadł mi 97, nie wiem dlaczego, ale widać 98 to był.
@karolantonkiewicz81384 ай бұрын
Z całym szacunkiem. Tworzę naprawdę duzo skomplikowanego kodu na przerwaniach, pod np freertosem z pełną obsługą DMA, głownie na Cortexach M3 M4. Choć znam assembler ARM całkiem znośnie to nie stosuje go w czystej formie nigdzie. No może poza inline-ami do wyłączania przerwań albo przy szukaniu faulta. Konia z rzedem jak programista wygeneruje coś takiego jak bardziej wydajny kod od kompilatora. Jak potrzeba wydajnosci ogólnie to szukać szybszego zegara. Jak peryferia niedomagają to wspomniane DMA na dyskryptorach. Trudne do opanowania ale najszybsze.
4 ай бұрын
Zgodzę się, jak jest możliwość, coś niedomaga, to zmiana hw często jest najsensowniejsza, choć wiadomo, to zależy jak ktoś potem policzy ewentualnie koszty, czy chce więcej wydawać na R&D czy dolicza do produkcji, choć czułbym ryzyko, że nawet jeśli, to potem trzeba coś zaktualizować, zabraknie znowu i będzie niezły kłopot 😅 Właśnie taka sprawa jak ktoś już zamknie HW i nie ma szans na zmianę to czasem wpada kreatywna zabawa 😅 IMO Assembler jest nice to have żeby przeczytać i porównać co dane rozwiązania wypluły, lub jak wspomniałeś szukać jakiś faultów.
@nowy57 ай бұрын
Czyli w sumie robota jak hydraulik czy elektryk, tylko ci nie muszą CV pisać by robotę dostać.
7 ай бұрын
W sumie z doświadczeniem w elektrotechnice, mogę powiedzieć, że coś wspólnego jest 😅 i czyja wiem z tym CV, zamiast tego jest ogłoszenie, tam też często widzę jak elektryk/hydraulik pisze ile ma doświadczenia i co potrafi 😀
@gruzuser5442 жыл бұрын
Jaką płykę typu arduino kupić w podobnej cenie, ale żeby pisać na nią w czystym c/c++?
2 жыл бұрын
Tak naprawdę na każdą płytkę można pisać bez biblioteki od Arduino. Dla prostych AVR, ogranie to kompilator avr-gcc, i z tanim programatorem takie Arduino będzie dla nas tym czym jest, czyli Atmegą na gotowej płytce. Dla części wystarczy dorzucić odpowiednie SDK do projektu, tutaj np. od ESP www.espressif.com/en/products/software/esp-sdk/overview albo tutaj pokazuje materiał z Pi Pico i ich SDK, kzbin.info/www/bejne/nIGVemqcobhkmNk które obecnie wychodzi też stosunkowo dość dobrze cenowo :) Można pisać z bibliotekami Arduino, albo tak jak pokazałem z SDK od nich. Warto sobie powiedzieć czym jest to czyste C/C++, mówił o tym Mateusz tutaj kzbin.info/www/bejne/rX2bdJ16epmlg6s
@ageronin77963 жыл бұрын
w pracy posłucham może kiedyś zrobimy projekt, czujników mam mase hobbistycznie gorzej z czasem bo wyjechałem zarobić troche hajsu za granicą (ale pisze własne biblioteki w c bo w c ale zawsze cos) . Programujesz także programy na pc? w stylu okienkowe jeżeli tak to poleciłbyś jakiś tytuł lub materiały
3 жыл бұрын
Jak masz jakiś pomysł/zajawkę na projekt najlepiej wrzucić na discord discord.gg/G85avyZD ;) C zawsze spoko, więc kibicuje z biblioteką :) Jeśli chodzi o aplikacje desktopowe, pisałem kiedyś w C# winForm i WPF, teraz głównie C++ z Qt. Materiały, to zależy głównie od języka, jaki framework dobrać.
@przemekfirek33493 жыл бұрын
czy twoim zdaniem warto zaczynać naukę od prostych ale przestarzałych mikrokontrolerów jak 8051, czy lepiej od razu przeskoczyć do czegoś współczesnego i pomimo większego poziomu skomplikowania od razu ogarniać np. stm32? na studiach nam mówili że mam właśnie 8051 żeby lepiej zrozumieć architekturę i podstawowe peryferia na taki prostszym układzie. Czy w dzisiejszych czasach to dobra droga?
3 жыл бұрын
Moja opinia jest taka - wybrałbym STM32. Nauka, szczególnie jak się zaczyna, nie może zniechęcać. O STM32 znajdziemy obecnie znacznie więcej materiałów i ludzi w sieci, którzy z tym pracują na co dzień i będą w stanie pomóc. Z pewnością jest to umiejętność, którą szybko będzie można przedstawić w pracy. Architekturę i tak trzeba poznać, ale można to robić stopniowo, dla różnych mikrokontrolerów. Zaczynając na 8051, to i tak potem trzeba przejść na STM32 żeby być na bieżąco lub coś innego, na czym się obecnie buduje projekty. Ja zaczynałem od biednych AVR i było to na pewno jakoś dobre, ale nim się zbudowało coś fajnego, to bez mocnego zapału, człowiek czuł trochę zniechęcenie. Pewnie teraz zacząłbym sobie od jakiś Arduino, potem przeszedł na STM32 i na ARMy żeby łatwiej czuć efekty swojej pracy. Jeszcze jeśli chodzi o STM32 mogę polecić Mateusza, który jest dobry w te tematy i miał fajną prelekcję na Arduino & Raspberry Pi day w takim temacie kzbin.info/www/bejne/onvGYYlujtR_qLM
@yeeezooo2 жыл бұрын
Czy dostajesz czas w firmie/projekcie aby np: się rozwijać czyli przerabiać jakiś kurs/tutorial chodzi mi bardziej o coś co zajmuje więcej czasu aby się tego nauczyć np: z 2h dziennie prze miesiąc?
2 жыл бұрын
Różnie, teraz w innej firmie już jestem w projekcie telco, to kilka tygodni było żeby ogarniać wiedzę domenową i tylko to robiliśmy, bez tego nie mieliśmy jak zacząć pracy nad kodem. Jeśli chodzi o coś czysto z umiejętności programistycznych, to część rzeczy człowiek uczy się po korku na bieżąco, np. trzeba zastosować jakąś bibliotekę, której nigdy człowiek nie używał, to wiadomo że zajmie parę dni nauki tego, ale to jest potrzebne w projekcie, traktowane jest jak normalne zadanie. Jeśli chce się coś przerobić poza tym, tak bez powodu, np. teraz ogarniam elementy C++20, który nie jest stosowany w projekcie, to niestety poza godzinami pracy, oczywiście często firmy wspierają takie coś, mogą kupić kurs itd. ale to musi być też w jakiejś linii z tym co się robi i być potrzebne na przyszłość ;)
@johnphysique6283 Жыл бұрын
Czy programowanie embeded przyda się przy programowaniu kamer termo i nokto wizyjnych?
Жыл бұрын
Chodzi o same kamery czy jakieś ich użycie i konfiguracje w jakimś zastosowaniu? Bo w samej kamerze to już jest embedded, na pewno siedzi tam jakiś mikrokontroler, zastanawiam się czy jest tam miejsce też dla FPGA ale nie znam się aż tak na takich kamerach. Tak czy owak, to już jest embedded, trzeba myśleć odpowiednio ograniczonymi zasobami, będzie współpraca z dokumentacją danego procka itd.
@johnphysique6283 Жыл бұрын
@ Chodzi o przełożenie informacji o obiekcie z detektora promieniowania na wyświetlacz i przy okazji analizę kształtu obiektu. Wiem, że informacja z detektora zostanie zamieniona na sygnał elektryczny, przechodząc przez mikrokontroler. Czy analiza danych będzie się odbywać w języku Python i C++ czy jeszcze jakimś o którym nie wiem?
Жыл бұрын
Jeśli nie ma FPGA, a sam mikro, to raczej wątpię że będzie tam Python, bo pewnie trzeba baterie oszczędzać. Więc pewnie głównie się spotkasz z C/C++ ;)
@johnphysique6283 Жыл бұрын
@ No masz rację Python odpada, bo to na własnym zasilaniu więc zużycie energii trzeba minimalizować. Czyli jeśli FPGA to VHDL i C/C++ dla mikro. Trochę to zawiłe wydaje mi się że konstrukcja kamery od podstaw to praca dla kilku osób :)
@t-bag52323 жыл бұрын
Cześć, mam płytkę ewaluacyjną nxp s32k144evb i muszę zaimplementować program, którego jedną z funkcji jest generator sygnału cyfrowego o częstotliwości 1000hz ( sygnał kwadratowy) Mam do tego wykorzystać pin tylko z funkcją gpio nie ftm i później mam odczytać sygnał z tego pinu używając FTM z innego pinu. Pomożesz jak się za to zabrać, dasz jakieś wskazówki z czego skorzystać, masz może jakiś podobny program? Generalnie mam cały układ połączony i jak wgrywam inny program np. hello.c ze strony nxp do tego urządzenia serii s32k144, którego zadaniem jest zapalenie diody na płytce po wciśnięciu przycisku sw2 na płytce to działa.
@Cyklonus3 жыл бұрын
👍
@coder_one2 жыл бұрын
👍
@kamilakowalska793 жыл бұрын
Ale trzeba przyznac że Ty to masz łep do takich spraw Programowanie jest dla mnie czarną magią może dlatego że słabo u mnie z angielskim
3 жыл бұрын
Dzięki 🙂 Jeśli wydaje się czarną magią to nauka programowania sprawia olbrzymią frajdę, poznajemy w końcu tajniki magii 😅 (i tak naprawdę nie jest to tak trudne). Nauka angielskiego za to przydaje się zawsze i warto nad tym siąść, ponieważ otwiera to wiele bram 😉
@kain31453 жыл бұрын
Fajny kot
3 жыл бұрын
Dzięki :) Przekazałem także Jeremkowi, myślę że mu miło ;)
@zbysiu1003 жыл бұрын
taki sam jak mój Feluś, wypisz, wymaluj, z wyjątkiem jednego, mój ma biały wąsik, jeden jak na razie
3 жыл бұрын
To razem z Jeremkiem pozdrawiamy Felusia 😉
@zbysiu1003 жыл бұрын
@ Dziękuję bardzo, Feluś również dziękuje i pozdrawia. Wszystkiego dobrego!!!
@majtej2403 Жыл бұрын
Co za gówno. Nie ma nic z realem. Nie potrzeba więcej komentarza moim zdaniem.