Elektroda.pl
Elektroda.pl
X
Elektroda.pl
Computer ControlsComputer Controls
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Wybór płytki do nauki programowania na ARM

19 Dec 2014 09:51 1980 27
  • User removed account  
  • Computer ControlsComputer Controls
  • Level 38  
    Polecam waveshare. Tanio bardzo uniwersalne wiele możliwości.
  • MCUs specialist
    SAM7 ciut przestarzały. Do STM32F discovery lub NUCLEO, podobnie jak do wielu innych nowych płytek różnych producentów, nie potrzebujesz programatora, bo mają wbudowany interfejs do debugowania i programowania. A pytań takich jak Twoje i odpowiedzi na nie znajdziesz tutaj mnóstwo - wystarczy przejrzeć forum.
  • Moderator of Microcontroller designs
    Jeśli wcześniej miałeś kontakt z AVR to polecam ci ARMy od Atmela, na początek np. proste z rodziny SAMD n. D20/21. Też płytki z wbudowanym programatorem/debuggerem, znane środowisko Atmel Studio - brak potrzeby jakiejkolwiek konfiguracji, tysiące przykładów dołączonych do Atmel Studio.
  • Level 15  
    erykko wrote:
    Hej!
    Jak w temacie, poszukuję płytki, która pomoże mi w nauce programowania w C na ARM-ach.

    Jako początkujący w ARM mogę podzielić się uwagami na temat Nucleo. Ja mam Nucleo F103. Zestawy Nucleo zrobione są z myślą o platformie Mbed (m.in.). Środowisko uruchamiane przez www, żadnej instalacji, konfiguracji, logujesz się, piszesz program, wgrywasz i jest. Oczywiście ma to swoje ograniczenia, ja spróbowałem i przesiadłem się na CooCox. Po wpięciu płytki do komputera dostajesz oczywiście programator i debugger, oprócz tego pojawia się niewielki dysk, który działa w ten sposób, że jak wgrasz do niego skompilowany program to jest on od razu wysyłany do procka (potrzebne właśnie dla platformy mbed).
    Na płytce nie ma zewnętrznego kwarcu, jest na niego miejsce. Ja się na tym przejechałem bo masa przykładów w necie jest z konfiguracją RCC na zewnętrzny kwarc, próbując odpalić takie programy oczywiście nic nie działało bo konfiguracja zegara kończyła się błędem. Po wlutowaniu kwarcu i zmianie konfiguracji na płytce (trzeba parę zworek zrobić i parę wylutować) wszystko działa.
    To co mi natomiast najbardziej w tej płytce przeszkadza to rozrzucone po wszystkich goldpinach wyjścia z procesora. Porty nie idą po kolei ale tak, jak w platformach, do których są przeznaczone (arduino, i jeszcze jakaś druga, nie pamiętam). Chcąc wykorzystać wyjścia podłączając je np. do płytki stykowej trzeba posiłkować się opisem płytki i szukać pinów po wszystkich stronach. Ja dokleiłem kartki z opisem pinów po obu stronach żeby szybciej wyszukiwać potrzebne piny. Dioda i przycisk na płytce są podłączone na stałe pod konkretne piny co w pewnych przypadkach też jest wadą.
    Podsumowując, płytka ciekawa, szczególnie jak ktoś przesiada się z arduino bo ma gotowe złącza. Do platformy mbed też będzie ok, ale jak zaczynamy tworzyć w innym środowisku to widać powyższe wady (może nie wady a cechy).
    I jeszcze jedno, ta wersja procesora STM32F103RBT6 jest w obudowie lqfp64 i nie posiada FSMC czyli kontrolera wykorzystywanego bardzo często do obsługi LCD. Mowa o lcd sterowanych równolegle a nie wykorzystujących SPI, I2C itd. Tanie dostępne wyświetlacze właśnie dobrze jest sterować wykorzystując FSMC, tutaj tego zrobić się nie da.
  • Level 22  
    Najprościej jest zacząć od aplikacji na Androida. Oprogramowania masz dostatek, urządzeń nie brakuje (np tablety, ostatnio w jednym z marketów wdziałem za 99zł niestety bez OTG) ;-) Wybierz te, które mają OTG, łatwiej jest się podłączyć z ewentualnymi modułami. To tak półżartem półserio, ale to właśnie zabawa z ARM i fajnym SDK i API. Osobiście od tygodnia zabrałem się za TIZEN'a od kliku dni jest dostępne SDK, a klienci pytają już o możliwość sterowania, bramą, oświetleniem czy nawadnianiem za pomocą Samsunga Gear S, a to też ARM ;)
  • Level 12  
    Możesz to rozwinąć? Co mają wspólnego aplikacje na androida z programowaniem mikrokontrolera? Współpraca tabletu/smartfona niekoniecznie na androidzie z mikrokontrolerem to rozumiem.
  • Level 26  
    No przeca tablety to też głównie ARM. Tyle tylko, że moce obliczeniowe jakby większe ;)
  • Level 27  
    Wydaje mi się, że kolega Autor powinien odrobinę doprecyzować czy bardziej chce iść w stronę związaną z:
    erykko wrote:
    podłączaniem diody czy czujników
    do mikrokontrolera i zabawą na "gołym metalu" czy jednak:
    erykko wrote:
    uruchomić jakiegoś Linuxa czy Windowsa
  • Computer ControlsComputer Controls
  • Level 12  
    alagner wrote:
    No przeca tablety to też głównie ARM. Tyle tylko, że moce obliczeniowe jakby większe ;)

    To zapytam, czy pisałeś coś na tableta. Na androida, z tego co wiem(mam doświadczenie, piszę aplikacje) pisze się w javie. Na mikrokontrolery w C, C++, lub asemblerze i jeszcze jakieś inne co nie znam(bascom?).
    Na androida można też pisać w html5, w C też można.
    Może się mylę, ale jest to jakby inny poziom dostępu, smartfon/mikrokontroler. Smartfon/tablet ma już system, obsługę itd. Mikrokontroler jest goły.
    Dlatego inaczej pisze się aplikacje na androida i inaczej na płytkę z mikrokontrolerem.
    ps.
    Dlatego nigdy nie nie chciałem się nauczyć ASM, C, C++(jakieś zegary, rejestry, stosy itd). Pisałem sobie spokojnie w VB (z Visual Studio) z 20 lat. Przyszedł czas na androida to nauczyłem się javy.
    Niestety lub na szczęście przyszedł czas na C i się uczę.
    Mam przed sobą książkę "C++ w 24 godziny" wydawnictwo Sams z 1998r. C C++ podobne. Dochodzi do tego czytanie manuala od płytki i jakoś leci do przodu.
  • Level 22  
    tobiasz54 wrote:
    alagner wrote:
    No przeca tablety to też głównie ARM. Tyle tylko, że moce obliczeniowe jakby większe ;)

    To zapytam, czy pisałeś coś na tableta. Na androida, z tego co wiem(mam doświadczenie, piszę aplikacje)


    Widocznie taki język odpowiada Tobie i takie mmasz potrzeby. Ja piszę w C i Mintoris Basic. Oba języki dostępne zarówno bezpośrednio z tableta jak i z Eclipse.
    W Basic wolę pisać soft pod Sterowniki PLC i WiFi bo jest spory zestaw gotowych funkcji, a w C kiedy potrzeba odrobinę więcej nietypowych zastosowań gdzie w Basic brakuje rozkazów, bo to jeszcze mlode projekty. Od kilku dni od chwili ukazania się SDK dla Tizen, bawię się w naukę bo trudno odmówić wwłaścicielowi systemu operacyjnego skoro zaprosił do zapoznania się z SDK. Co do załączenia diod, przekaźników, RS232/485 jak wcześniej wspomniałem wystarczy tablet/smartphone z OTG.
  • Level 12  
    Pewnie się nie zrozumieliśmy Mam płytkę 1769 LpcXpressoBoard. Mam pisać soft na androida? Najpierw piszę w C i wgrywam na płytkę. Obsługa softu na płytce to inna para kaloszy, mogę sterować z PC po usb, po rs, po lpt. Ze smartfona, jak napisze aplikację - po usb, BT, wifi. Lub jeszcze śmieszniej, bez PC, bez smartfonu - wkładam karte sd. Soft na LPC wykrywa zdarzenie i czyta konfigurację z karty i rozpoczyna swoje procedury.
    To mnie zaciekawiło
    Quote:

    Ja piszę w C i Mintoris Basic. Oba języki dostępne zarówno bezpośrednio z tableta jak i z Eclipse.

    Masz zainstalowany eclipse na tablecie?
  • Level 22  
    napisałeś :... Mam płytkę 1769 LpcXpressoBoard...
    A autor pyta się o programowanie za pośrednictwem OS mobilnych. Chyba niezrozumiales intencji autora. Jeśli się w czytasz ze zrozumieniem, szuka gotowych procedur wskazuje na Basic i C i podobieństwa z AVR. Mintoris Basic jest idealny dla takich osób bo ma funkcję, procedury zgodne z Bascom i AVR. autor Mintoris Basic jest też programistą AVR więc wie jak ułatwić życie programistom hobbistom :). Twoje sugestie choć intencyjny bardzo rozsądne z wielu powodów, które popieram, nie idą w parze z oczekiwaniami autora tematu.
    Eclipse jest na PC, ale przez kabel USB edytuje bezpośrednio w Tablecie. Odrazu uruchamiam na Tablecie bo w locie kompiluje. Kompilacja odbywa się na Tablecie nie W Eclipse. W Eclipse natomiast pakuje się gotową aplikację do *. apk. Z tableta też wygrasz jeśli jest taka potrzeba soft do AVR
  • Level 12  
    Autor pyta
    Quote:

    Jak w temacie, poszukuję płytki, która pomoże mi w nauce programowania w C na ARM-ach.

    Konkretnie, szuka płytki ARM którą można
    Quote:

    Teraz chciałbym coś co częściej jest wykorzystywane na platformach mobilnych, czyli coś o większych możliwościach i ARM-y powinny się w tym sprawdzić.

    Chyba dobrze zrozumiałem, chodzi mu o płytkę na ARM, która współpracowała by np z tabletem. Zaproponowałeś mu tablet, i stąd moje pytanie.

    Polecano STM32F - w necie jest najwięcej przykładów na tę płytkę. Dużo przykładów komunikacji po wifi lub bt.
    Nie poleciłem mu mojej, bo jest droższa i mniej znana. Są też inne, od razu z wyświetlaczem itp. ale soft i tak trzeba napisać lub wgrać gotowy przykład w C. Na płytkę. Komunikacja z urządzeniem mobilnym jak napisałem wyżej to drugi soft który trzeba uruchomić np. na tablecie.
    Co do eclipse
    Quote:

    Eclipse jest na PC, ale przez kabel USB edytuje bezpośrednio w Tablecie.

    Mi nie udało się edytować na tablecie.
    Jak zrobie debug w eclipse, to wybieram, czy to ma być tablet(urządzenie zewnętrzne) czy symulator. Wybiorę tablet i plik apk jest instalowany. Nie mam możliwości edycji kodu. Aplikacja jest zainstalowana bez podpisu.
  • Level 10  
    Dzień dobry

    Zaciekawił mnie temat wykorzystania smartphone-ów. Możecie napisać o zestawach smartphone + środowisko programowania + moduły zewnętrzne.

    Dziękuje
  • Level 22  
    Potrzeba dowolny smartphone/tablet najlepiej jeśli jest to urządzenie z Androidem - pod tym systemem jest najwięcej oprogramowania i sprzętu, można też wykorzystać IOS, choć tu napotkasz schody stawiane przez Apple. Windows Mobile i BlackBerry pominę bo bo nie ma oczy pisać. Moduły? Większość modułów masz wbudowanych w SmartPh/tablet. Jeśli chcesz sterować np wł/wył przekaźnikami to masz wybór, po kablu - wówczastrzeba konwerter np 2302, FT232 lub każdy inny.Bezprzewodowo - Bluetooth i WiFi. Reszta to twoja inwencja programowa. Podstawą do programowania jest Eclipse + SDK android, ale też można bezpośrednio lub pośrednio w Basic i C. Prosty przykład :
    Chcesz sterować przekaźnikami 8szt przez WiFi
    Potrzeba do tego np:
    Hardware:
    1.Dowolny Tablet z WiFi
    2.Moduł ESP8266
    3.ARDIUNO MINI PRO lub własny AVR, PIC , STM, i inne pomysły
    4.Gotowy moduł przekaźników
    wszytko dostępne na portalach aukcyjnych i sklepy

    Software :
    Dla tableta pobierasz np dowolny Basic lub C, z Google Play, polecam Mintoris Basic, bo ma gotowe procedury i funkcje zwłaszcza do amatorskich konstrukcji i modułów z wykorzystaniem AVR'ów. Za pomocą tych aplikacji napiszesz i uruchomisz program bezpośrednio w tablecie. drugi sposób to jak wyżej w postach przeczytasz Eclipse + SDK tu opisywać nie będę bo są filmy na YouTube jak to wszystko zainstalować i obsługiwać, oglądania jest na dobre kilka godzin. Trzeci sposób to gotowe aplikacje napisane juz pod android, łączysz moduły wygrywasz soft i działa. Nie musisz znać się na programowaniu. Do tego posłuży aplikacja z Google play np UDP/TCP Server Free, jest ich setki innych jeśli ta nie będzie Tobie odpowiadać

    Pytanie zadales trudne i bardzo rozległe do opisania to i odpowiedź jest bardzo, bardzo ogólna.
  • User removed account  
  • Level 10  
    Dzień dobry

    Dziękuje i za tą ogólną odpowiedz dotyczącą tablet-ów/smartphone-ów.
    Jeszcze dwa pytania doprecyzowujące:
    1) Jeżeli chciałbym to wszystko połączyć po kablu to urządzenie z Androidem musi posiadać tzw USB Host?
    2) Wygaszenie ekranu/naciśnięcie przycisku wyłączania nie spowoduje zawieszenia działania programu?
  • Level 22  
    Jeśli ma to być Android to faktycznie Eclipse i Java, ale alternatywa to jak już pisałem w Google Play do pobrania PŁATNY (3zł-swiateczna promocja ) Mintoris Basic i C4Droid. Jest też Java ale wszystko wcześniej czy później wróci do Eclipse i Android SDK.
    W tabletkach może być dyskomfort zabawy z przetworniki , bo tego nikt nie wyprowadza, trzeba by zewnętrzne moduły, a to już raczej zostanie własna inwencja, gotowcow łatwo nie zdobędziesz.

    Dodano po 2 [minuty]:

    666w wrote:
    Dzień dobry

    Dziękuje i za tą ogólną odpowiedz dotyczącą tablet-ów/smartphone-ów.
    Jeszcze dwa pytania doprecyzowujące:
    1) Jeżeli chciałbym to wszystko połączyć po kablu to urządzenie z Androidem musi posiadać tzw USB Host?
    2) Wygaszenie ekranu/naciśnięcie przycisku wyłączania nie spowoduje zawieszenia działania programu?



    1. OTG
    2. zależy od programu jaki napiszesz i w czym napiszesz.
  • User removed account  
  • Level 19  
    Zawsze obowiązuje zasada. Najlepszy jest ten komputer na który znajdziesz najwięcej oprogramowania.
  • Level 10  
    hmm ... jeżeli policzyć Raspberry Pi + zasilacz + obudowa + monitor to nie lepiej wykorzystać tablet + moduł pośredniczący z elektroniką?
  • Level 22  
    Raspberry Pi, ma ogrom Sampli i dodatkowych modułów nie wspomnę nawet o obudowach. Tyle, że jako nauka prowadzi do martwego punktu. Załóżmy nawet, że poznasz platformę ARM to co dalej? Zamierzasz uruchomić produkcję? Czy robisz to dla siebie dla zabawy dla mikro własnych projektów? Bo jesli to drugie to Smartphone jest tu bardziej praktyczny. Choć można też założyć, że oba rozwiązania mogą ze sobą współpracować:)

    Dodano po 3 [minuty]:

    666w wrote:
    hmm ... jeżeli policzyć Raspberry Pi + zasilacz + obudowa + monitor to nie lepiej wykorzystać tablet + moduł pośredniczący z elektroniką?


    No właśnie nie zawsze ;)
  • User removed account  
  • Level 22  
    Każdy wybór będzie dobry, najmniej wydasz na Androida, bo pewnie nosisz go w kieszeni :) Choć programowanie w systemie, a to co jest w modułach OEM to trochę różnica, ale ogólne zasady są niemal niezmienne. Ważne by nabrać pewnych nawyków doświadczenia. Wiedzy gdzie i kiedy co stosować. W pracy zapewne i tak dostaniesz coś zupełnie innego niż to czym dziś się zajmiesz :)
  • User removed account  
  • Level 22  
    To masz pretekst do kupna;) Ostatnio w jednym z marketów kupiłem na wyprzedaży leciwy model OVERMAX Solution 7+2.0Y za szokujące 99zł. Trudno było nie kupic choć by właśnie dla zabawy :) Jak się okazało to bardzo fajny "telefon" :)
  • User removed account