Prof Creative Commons License 2016.08.22 0 0 2067

Sziasztok,

Szó volt itt párszor arról, hogy hol is vannak az Arduino határai, lehetőségei, mire jó, mire nem stb. Rendszeresen felmerül, hogy milyen alternatívák vannak, és hogy azok közül mégis melyik és hogyan.

Igen, való igaz, hogy az Arduino alapvetően egy komplex rendszer (hardver, szoftveres fejlesztői környezet, háttér), az egész alapvetően oktatásra, tanulásra van kihegyezve, úgyhogy a dolog számos méregfogát kihúzták és taposóaknákkal helyettesítették. A rendszer magja, az Atmel valamelyik (rendszerint mega) lapkája pompásan ellát bizonyos feladatokat, de azért ahogy számításigényes(ebb) feladatok felé megyünk, úgy egyre inkább bajunk van a számítási sebességgel, komplexebb feladatoknál pedig a memóriával. De a legnagyobb baj mégsem ez, hanem hogy lényegében minden olyan lehetőséget kivettek a fejlesztők kezéből, amivel komoly (nevezzük mondjuk iparinak) feladat megoldható lenne. Például: körülményes a bootloader kiváltása, csökött, logikátlan és sokszor félrevezető az egyszerűsített nyelv, vannak szarul megírt a könyvtárak, a debug kimerül a Serial.print-ben, és persze még lehetne sorolni. Ezeknek a korlátoknak egy része kiváltható azzal, hogy az IDE-t (vagyis a szoftveres fejlesztői környezetet) lecseréljük egy kompatibilis darabra, mondjuk az Atmel Studiora. Ezzel elveszítjük az Arduinora írt könyvtárak egy jelentős részét (pontosabban részben-egészben át kell őket írni, mert a szintaktikájuk némileg eltérhet), kapunk egy bazi nagy és elképesztően komplikált cuccot, ami viszont nagy vonalakban tényleg mindent tud, amit addig a cucc nem tudott. De. Attól a kártya még kb. ugyanaz marad, és mivel maga a kártya (maga az MCU) ugyanaz, sok választási lehetőségünk nincs.

Itt jön képbe az, amit Vargham írt még korábban, hogy aszongya mbed. Eddig nagyjából pompásan elvoltam az on-line felülettel (annak minden idiótaságával együtt). Nagyobb kódokat Notepad++-ban bevertem, bemásoltam, ellenőriztem, oszt csá. Nagyjából minden olyan benne, mint a „natív” C++-ban, persze a felhasznált könyvtárakhoz kötődő rengeteg kiegészítéssel együtt. Megy, faja, az eszközök pedig azonos (sőt, olcsóbb) áron messze verik az Arduinok javát (kivéve, hogy ugye szegények 3V-os logikai jelekkel mennek és erősen észnél kell lenni a lábakra való kötögetésnél, mert valamivel kevésbé toleránsak, mint az Arduino). Eddig fasza. A hétvégén gondoltam egyet és letöltöttem a Keil-t, az mbed anyukájának (ARM) saját IDE fejlesztői csomagját (sajnos csak az ingyenes, erősen limitált változatot). Új világ. Lényegében minden háttéradatot on-line szed le (előre), ezek állapotát figyeli (szól, ha változás van). Van alap debugger (a Nucleo és az NXP kártyákon is van alap USB debugger chip), ezen keresztül futás közben lehet ellenőrizni a változók állapotát (vagy felülírni azokat, ha szükséges). Megfelelő hardverrel (fejlesztőkártya + debugger csatoló) nagyjából a processzor időjelének ciklusáig pontosan lehet követni a szoftver futásának szálait (melyik függvény meddig ketyeg, mi történik, hogy mennek a hívások stb.). Viszont ez már vastagon a fejlesztői kategória. Nagyon ott kell lenni fejben, hogy mi miért van, mi micsoda és mit hogyan kell/érdemes használni. A differencia kb. annyi, mint egy jobb mikrohullámú sütő és egy professzionális (mármint éttermi) konyha között.

És most jön a nagy kérdés... A „mi lett volna, ha...” Fogalmam sincs. Amikor elkezdtem az Arduinóval foglalkozni (lassan 3 éve), akkor rengeteg időm volt. Most nagyon kevés szabadon felhasználható időm van (nem csak fejlesztésre, mindenre). A kezdeti bukdácsolások után létrehoztam pár egészen jó dolgot is, ráadásul a kódok olyan elvek szerint épültek fel (teljesen saját kútfőből). Valószínű, hogy e nélkül az alap tapasztalás nélkül lett volna bajom az mbeddel, ugyanakkor mivel mindig inkább a professzionális, „ipari” megoldások híve voltam, alighanem az Arduino egy pár hetes gyorstalpaló után végleg feledésbe merült volna az mbed javára. Most asszem még mindig több itthon az Atmel kártyás fejlesztői kártya, mint az mbed, de nem sokkal. :-D

Cserébe viszont csináltam mbed fórumot, tessék jönni!

Ennyit a platformok harcáról (részemről), többit a helyén... :-)

Prof