• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Czy na Arduino można zarobić?
#11
(20-11-2019, 18:30)elvis napisał(a): To bardzo ciekawe, co rozumiesz przez "stosunek zysków do strat"? Wiem że chodzi o czas, ale co tyle czasu zajęło?

1. Jeśli chcesz precyzyjnie sterować silnikiem, to musisz działać na rejestrach. Zapomnij więc o Arduino IDE. Ja większość kodu pisałem w Atmel Studio, ale gdy trzeba było to zaimplementować do Arduino (wymagania kllienta) to tracisz możliwość debugowania (podgląd wartości zmiennych w czasie pracy programu, breakpointy itp.), więc musisz sobie dopisywać jakieś protezy w stylu zżuty na konsolę albo na LCD. Nie możesz oczywiście przesadzać, gdyż jesteśmy w okolicach przepełnienia stosu, bo to duży pamięciożerny projekt.

2. Sterowałeś kiedyś silnikiem krokowym na STM32? Wiesz dla czego na AVR krokowce głośno pracują, a na STM ich nie słychać? Wiesz że silnik krokowy powinno się sterować w przerwaniu od timera, a timer w Arduino ma (dlaTimera2) prescaler ustawiany na 8, 32, 64, 128, 256 i 1024, czyli 6 możliwości, gdzie w przypadku STM32 masz możliwości 65535? Musisz więc kombinować z tym AVR-kiem,a to kosztuje dużo czasu.

Jest oczywiście na Arduino wiele możliwości precyzyjnego generowania przerwań, nawet tu na forum przedstawiałem takie rozwiązania, ale tak jak napisałem wcześniej musisz pracować na rejestrach, a w STM masz tak zaawansowany HAL, że o rejestrach nie musisz nic wiedzieć.
Suma summarum, męczyłem się z tym bardzo długo.
Dochodzą jeszcze ciągłe zastrzeżenia i poprawki klienta, no i trzeba pamiętać o bieżącej aktualizacji dokumentacji.

O drugim przypadku może napiszę innym razem, bo czas mnie goni. (Tak, tak - czas to pieniądz)
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
#12
Jak chodzi o rejestry to wydaje mi się, że Arduino w niczym nie przeszkadza. Przecież zawsze można napisać krytyczny fragment programu odwołując się bezpośrednio do sprzętu. Więc ten argument nie przekonuje mnie do końca - chociaż oczywiście się zgodzę, że znając "tylko" biblioteki Arduino nie uda się wszystkiego zrobić.
Co do debuggera to bardzo często muszę pracować nie mając takiego luksusu, więc tutaj również nie traktowałbym jego braku w Arduino jako największej możliwej wady. To czasem nawet może być zaleta - bo zmusza do pomyślenia zamiast używania narzędzi, co czasem się przydaje.
Na STM32 nie sterowałem silnikiem krokowym, ale na MSP430 i LPC2138 całkiem sporo, więc chyba wiem trochę o problemach z tym związanych. Ale jak napisałem wcześniej - nic nie stoi na przeszkodzie, żeby sterowanie silnikiem było oparte na rejestrach. Czasem też używa się bardziej rozbudowanych sterowników i wtedy nawet z poziomu Arduino nie ma problemu ze sterowaniem silnikiem krokowym, więc wszystko zależy od projektu.
Natomiast polegania na HAL-u bym nie polecał. Jak dla mnie biblioteki Arduino wcale tak dużo nie różnią się jakością kodu od tego co ST nazwało HAL-em (bo warstwą abstrakcji sprzętu raczej nazwać tego nie można).
 
Odpowiedź
#13
No wiesz, Arduino to też warstwa abstrakcji nałożona na AVR-GCC. Skoro masz wiedzę aby pisać pod AVR bez tej warstwy, to nie rozumiem po co zadałeś pytanie z tytułu tego wątku? Może chodziło Ci o sprzęt, czyli te małe płytki z procesorem i innymi peryferiami? Bo jeśli tak, to niestety ale też się nie opłaca. Zaprojektowanie gotowego urządzenia zawierającego w sobie uC + peryferia towarzyszące + jakieś czujniki, sterowniki itp. zawsze wyjdzie taniej niż klecenie tego z gotowych modułów. A jeśli zamiast AVR wlutujesz tam STM, czy jak wolisz LPC, to raczej będą same plusy. (Szybciej, łatwiej, przyjemniej, bardziej niezawodnie, taniej itp) A pisać w Arduino tylko dla bibliotek, to już wolę sobie napisać własne.
Dla AVR mogę napisać bibliotekę dla każdego sprzętu (pod warunkiem dostępności dokumentacji) szybciej niż Google szuka arduinowej w internecie i gwarantuję, że będzie od niej lepsza.
Jeśli masz problem z kodem lub sprzętem, zadaj pytanie na forum. Nie odpowiadam na PW, jeśli nie dotyczą one spraw forum lub innych tematów prywatnych.

[Obrazek: SsIndaG.jpg]
 
Odpowiedź
#14
Ja ostatnio zacząłem doceniać biblioteki Arduino właśnie za dostarczanie warstwy abstrakcji sprzętu. No i o wiele szybsze pisanie programów - wiem że wszystko można napisać samemu i od podstaw. Tyle że to zajmuje mnóstwo czasu i nie zawsze działa tak dobrze jak się w pierwszej chwili wydaje.
A pytanie zadałem bo mnie to po prostu zaciekawiło - każdemu Arduino kojarzy się z początkującymi i nauką. A mnie zaciekawiło czy komuś zdarzyło się używać bibliotek Arduino w bardziej zaawansowanym projekcie.
Ale jak na razie nie widzę zbyt dobrych doświadczeń w tym względzie Sad
 
Odpowiedź
#15
[quote pid='14413' dateline='1574362693']
Co do debuggera to bardzo często muszę pracować nie mając takiego luksusu, więc tutaj również nie traktowałbym jego braku
[/quote]
Typowo amatorskie podejście!.

A wyglądało, że jesteś PRO!. Myliłem się!
 
Odpowiedź
#16
To używanie lub nie debuggera jest kryterium profesjonalizmu? Zabawne stwierdzenie, ale jak widać nie zawsze jestem pro.
 
Odpowiedź
#17
To powiedz jak bez debuggera zrobić szybko projekt i sprawnie? wychwycić błędy itd... Nie ma takiej możliwości wtedy odkłada to się na "CZAS poświęcony pracy, testy" Chyba logiczne że lepiej zrobić projekt w 30h niż 60h i zarobić tyle samo??
Arduino zostało wymyślone po to, by robić dobrze jedną prostą rzecz – migać diodą. 
 
Odpowiedź
#18
Zacznijmy od tego że ja nigdzie nie twierdzę, że debuger jest niepotrzebny, zbyteczny itd. Jest to bardzo ważne narzędzie, ale nie najważniejsze - i co więcej nie do wszystkiego można je wykorzystać, a na pewno można bez niego tworzyć zaawansowane projekty.
Podstawowy problem z debuggerem to zaburzenie pracy układu - po prostu ma on wpływ na funkcjonowanie mikroprocesora. Często ten wpływ można pominąć, ale nie zawsze. I wtedy pojawia się problem, jak sobie poradzić. Dlatego uważam że przećwiczenie takich sytuacji bywa przydatne, bo później gdy nie można użyć debugera to zamiast paniki jest normalna praca.
Natomiast co do realizacji projektów bez debugera to najpierw trzeba się zastanowić do czego jest nam to narzędzie potrzebne. Z tego co wiem najczęściej jest ono używane do podglądania zmiennych oraz śledzenia wykonywania programu - w takiej sytuacji, czyli szukaniu błędów w logice aplikacji, znacznie lepiej sprawdzają się testy jednostkowe. Zamiast debugera można po prostu błędów nie robić.
Kolejne częste zastosowanie, to sprawdzanie gdzie program się "wysypał", czyli czy został w wyjątku krytycznym, niespodziewanym przerwaniu itd. To dla odmiany jest przykład błędu w programie maskowanego narzędziem - bo zamiast debugera powinno się zaimplementować odpowiednią obsługę takich sytuacji.
Więc jak napisałem - nie twierdzę że debuger jest niepotrzebny, ale uważam że jest mocno nadużywany.

A jeszcze jak chodzi o to gdzie się nie nadaje - używanie debugera najczęściej wymaga zmianę opcji optymalizatora oraz sprawia problemy z wieloma zabezpieczeniami. W projekcie gdzie pracuję, podłączenie debugera wymaga wyłączenia wszystkich mechanizmów zabezpieczeń, bo jeśli są włączone to podłączenie debugera zostanie wykryte i wszystkie dane, a w szczególności klucze kryptograficzne będą natychmiast usunięte, co uniemożliwi działanie. Więc chcąc używać debugera muszę przygotować specjalną wersję kodu - taka wersja ma inne problemy niż "produkcyjna" i tylko niektóre błędy daje się za pomocą debugera diagnozować. Dla pozostałych trzeba uciekać się do tych amatorskich metod na które niektórzy się krzywią Smile Ja akurat mniej pracuję w warstwie aplikacyjnej, ale cały zespół właściwie debugerów nie używa - więc niejako "dowód przez przykład", że da się.
 
Odpowiedź
#19
@Elvis, jak czytam Twoje wypowiedzi to stwierdzam, że jesteś "wychowankiem" pożal się boże Kardasia.

Albo jesteś amatorem od a do zet, albo robisz sobie "jaja".. Kardaś pewni nigdy nie robił, nie robi i nie bedzie robił takich projektów co ja, bo na ta chwilę, to nie jest zabawa ze względu na obowiązujące prawo a konkurencja tylko czyha aby kogoś podje....ć. Trochę nawiązuję do https://forbot.pl/forum/topic/17155-sprz...ent-139364 ale trzeba być świadomym, ze czasem koncesja kosztuje kilka mln zł na 6 lat! To musi się zwrócić!
Chyba już wiesz co robię? Czy nie wiesz i nadal będziesz poniżał mnie ze względu na moje wykształcenie? Jeśli tak, to stajemy do konkurencji, kto szybciej i lepiej zrobi interfejs SAS. Startujesz? Dam Ci namiary do firmy, która chce ten interfejs. Publicznie nie mogę napisać, bo można to potraktować jak reklamę a to jest zabronione prawem. Może teraz powiążesz fakty i domyślisz się, dlaczego na pewien czas wycofałem sia z forów internetowych.
 
Odpowiedź
#20
Nie jestem wychowankiem p. Kardasia, prawdę mówiąc przygodę z mikrokontrolerami zaczynałem już po skończeniu studiów, więc niejako z większych systemów przesiadałem się na mniejsze, co czasem bywa interesujące.
Jaj sobie z nikogo nie robię, po prostu opisuję jak wygląda sytuacja w moim przypadku - i nadal uważam że nie zawsze mogę sobie pozwolić na luksus używania debuggera. Co więcej nie zawsze jego użycie daje jakiekolwiek sensowne rezultaty - kiedyś też uważałem że debugger to absolutna podstawa, więc to chyba wynik pewnego doświadczenia, a nie braku umiejętności używania.
Jak chodzi o produkcję urządzeń to mam pewne doświadczenie, co prawda dla urządzeń medycznych ale CE jest tak samo wymagane, chociaż dla dyrektywy medycznej trochę trudniej i drożej jest CE uzyskać, ale wszystko da się zrobić.
@semi Nie mam pojęcia o jakiej koncesji piszesz, ani jakie interfejsy teraz implementujesz. Ja mam swoją pracę i jestem z niej zadowolony. Więc nie mam czasu ani ochoty bawić się w jakieś idiotyczne zawody - wybacz ale w pewnym wieku wypada dorosnąć, a nie zachowywać się jak 5-latek. Natomiast co do poniżania, to nigdy nie miałem takiego zamiaru. Chociaż jak widzę masz straszne kompleksy, jedyne co mogę doradzić to zapisanie się do terapeuty, albo na studia - obie opcje mają wiele zalet. Pierwsza może pomogłaby w znalezieniu sobie porządnej pracy zamiast zaśmiecania wszystkich forów, a druga sprawiła że przestaniesz wypisywać głupoty i naginać prawa fizyki. A co do znikania z forów to bardziej obstawiałem że to ma związek z długami wystawionymi na sprzedaż w sieci niż z mega fajną pracą, ale może się myliłem.
 
Odpowiedź
  


Skocz do:


Przeglądający: 7 gości