Első lépések a CamScripterrel#
Áttekintés#
Mi ez?#
A CamScripter egy eszköz, amely segít a CMUcam3-hoz testreszabott szkriptek írásában és hibakeresésében. Lehetővé teszi szkriptek írását a Lua programozási nyelv használatával. Ennek a nyelvnek és a CMUcam3-hoz biztosított Lua API-nak a használatával a kamerát szinte bármilyen elképzelhető célra testreszabhatja. Ebben az oktatóanyagban végigvezetjük a telepítési folyamaton, majd kifejlesztünk egy mintaszkriptet a kamerán való futtatáshoz.
Mielőtt hozzákezdene#
Ez az oktatóanyag feltételezi:
Már van egy CMUcam3-a
You’ve already gotten the camera working, using either the Quick Start Guide or the
SDK installation guideMindene megvan, ami a kamera számítógéphez való csatlakoztatásához szükséges
Telepítés, 1. rész: Lua, soros port kommunikáció#
Lua#
A CamScripter lehetővé teszi a CMUcam3 programozását a Lua programozási nyelv használatával. Mielőtt ezt megtehetnénk, telepítenünk kell ezt a nyelvet a számítógépére.
Download the appropriate ZIP binary. (For Windows: Lua-Windows or for other users https://luabinaries.sourceforge.net/download.html)
Csomagolja ki a Lua binárist a
C:\luamappábaNyisson meg egy parancssort (Windowsban válassza a „Run…” lehetőséget a Start menüből, és gépelje be a «cmd»-t).
cd oda, ahová kicsomagolta a Lua fájlokat. Én a «cd C:lua»-t gépelem be
Gépelje be a «luax.x.exe -v»-t, ahol az x a Lua verzió
Assuming everything went smoothly in your installation, you should see the Lua version number printed out on your screen.
If possible, you should install lua from the CMUcam3 web site. If you want to recompile it on your own, you need to first patch the normal lua source to not use floating point (lua-5.1-no-fp.patch).
Windowson cygwin alatt a következő sorokkal fordíthat:
cd src
make LUAC_T=luac.exe MYCFLAGS=-mno-cygwin MYLDFLAGS=-mno-cygwin luac.exe
...
make LUA_T=lua.exe MYCFLAGS=-mno-cygwin MYLDFLAGS=-mno-cygwin lua.exe
Java Runtime Environment (JRE)#
A CamScripterhez Java Runtime Environmentre (6-os vagy újabb verzió) van szükség. Ha még nincs telepítve JRE, letölthet és telepíthet egyet itt.
RXTX#
The CamScripter uses the RXTX serial communication library to communicate with the CMUcam3 over your computer’s serial port. This library will have to be installed on your computer. First, download RXTX (at least version 2.1). Version 2.1.7 is here: http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip.
A telepítéshez (csak Windows - más operációs rendszerek esetén kövesse az rxtx INSTALL fájlban lévő utasításokat):
Csomagolja ki az RXTX letöltést, és navigáljon a kapott mappába
Kattintson duplán a Windows mappára
Kattintson duplán az i368-mingw32 mappára
Most ki kell derítenie, hogy hol található a Java futtatókörnyezete. Valószínűleg a
C:\Program Files\Java\jre<verziószám>mappában van. Az enyém például aC:\Program Files\Java\jre1.6.0_01mappában található. Másolja arxtxSerial.dllésrxtxParallel.dllfájlokat az RXTX i368-mingw32 mappából ajre/binmappába. Tehát az én példámban ezt a két fájlt aC:\Program Files\Java\jre1.6.0_01\binmappába tettem.
Telepítés, 2. rész: Eclipse#
Rendben, majdnem készen állunk! Már csak néhány tennivaló van hátra.
Ha még nincs meg, telepítse az Eclipse-t (3.2-es vagy újabb verzió). Telepítheti a http://eclipse.org/downloads oldalról. Az Eclipse Classic biztos választás, bár a felsorolt többi csomag bármelyike is működnie kell. A telepítéshez egyszerűen csomagolja ki a választott csomagot a C:\Program Files\eclipse mappába.
Most, hogy az Eclipse telepítve van, telepítenünk kell a CamScriptert Eclipse pluginként:
Nyissa meg az Eclipse-t az eclipse.exe fájlra való dupla kattintással a
C:\Program Files\eclipse\mappábanNyomja meg az Entert az alapértelmezett munkaterület elfogadásához
Nyissa meg a Telepítés/Frissítés varázslót a Help -> Software Updates -> Find and Install kiválasztásával
Válassza a „Search for new features to install” választógombot, és kattintson a Next gombra.
Kattintson a „New Remote Site…” gombra
For name, enter Camscripter, and for URL enter
http://cmucam.org/~juanpablo/. Click OK.Győződjön meg róla, hogy a Camscripter melletti négyzet be van jelölve, és kattintson a „Finish” gombra.
Válassza a „Camscripter”-t telepítendő funkcióként, és kattintson a Next gombra.
Fogadja el a licencszerződést, és kattintson a Next gombra
Kattintson a Finish gombra - az Eclipse letölti Önnek a plug-int
Kattintson az „Install” gombra a Camscripter plug-in telepítéséhez.
Kattintson a Yes gombra az Eclipse Platform újraindításához
Az Eclipse ezután újraindul, telepítve az Ön számára a Camscripter plugint. Hogy megbizonyosodjon a telepítésről, válassza a Window -> Show View -> Other… menüpontot.
Click the plus sign next to CMUcam3, select „CamScripter”, and click OK. You should see the CamScripter view at the bottom of Eclipse (the area surrounded in red). You can expand the bottom area if it is too small.
CamScripter nézet
Konzol ablaktábla, ahol a szöveges üzenetek megjelennek
Visszajelző ablaktábla, ahol a kép- és grafikus üzenetek megjelennek
Lua kódot hajt végre. Végrehajthat egy egész fájlt, vagy csak a kód kiválasztott sorait.
Telepíti a Lua kódot a CMUcam3 SD/MMC-kártyájára
Beállítás#
Mindent telepítettünk! Már csak néhány beállítási lépés, és programozni fogjuk a CamScriptert.
Töltse be a camscripter projektet a kamerára#
Now that we have everything installed, we need to load the camera with our CamScripter project. Run make on the camscripter project located in projects/camscripter (in the source code tree you checked out in Quick Start Guide), and then load the hex file onto the camera. Turn the camera off once the file is loaded.
A CamScripter beállításainak megadása#
Most menjen vissza az Eclipse-be, és nyissa meg a CamScripter beállítások képernyőt: Window –> Preferences –> CamScripter Setup.
Set the Luac location to point to your
luacx.x.exe(where x is the Lua version) file (note the «c») wherever you installed Lua in Installation, Part 1: Lua, Serial Port Communication.Az érdeklődők számára: a luac egyszerűen lefordítja a lua kódot, míg a luax.x.exe ténylegesen értelmezi és futtatja a kódot. Az Eclipse-ben fordítjuk a kódot, majd a kamerán futtatjuk – innen a luac.
Adja meg annak a soros portnak a nevét, amelyhez a kameráját csatlakoztatja. A „See Serial Ports” gombra kattintva megtekintheti az elérhető soros portok listáját.
Hello, World!#
Now that we have everything installed and configured properly, let’s tackle the obligatory Hello, World program. First, you’ll have to create a new project. Select File –> New –> Project… You’ll get a box allowing you to select the type of project you’d like to create. Double-click „General”, select „Project”, and click the Next button.
Nevezze el a projektjét „Hello”-nak, és kattintson a Finish gombra. Ezután hozzon létre egy új fájlt a File –> New –> File gombra kattintva (Eclipse 3.3-ban ez a File –> New –> Other –> General –> File). A fájlnév mezőbe írja be a „hello_world.lua” nevet, a Hello szülőmappával. Kattintson a Finish gombra.
Ellenőrizze, hogy a kamera csatlakoztatva van-e a számítógép soros portjához. Mielőtt bekapcsolná a kamerát, fontos megérteni azt a két módot, amelyet a kamera támogat:
Önálló (standalone): a kamera egyáltalán nem vár interakciót a PC-vel. Alapértelmezés szerint a kamera ebben a módban indul.
Interaktív: a kamera lefordított Lua kódot fogad a CamScriptertől az Eclipse-ben, és visszajelzést ad. A kamera interaktív módba helyezéséhez kapcsolja be, és amikor látja, hogy a narancssárga LED világít, nyomja meg a kamera gombját (3 másodperce van a gomb megnyomására). Ekkor a narancssárga LED többször felvillan, jelezve, hogy interaktív módba lépünk. Ha minden jól ment, megjelenik a Welcome to CamScripter Interactive mode. Click the execute button to run a script. üzenet.
Indítsuk el a kamerát interaktív módban, hogy végrehajthassuk az első Lua programunkat.
A szerkesztőablakban írja be a következő kódsort:
print("Hello, World!");
Mentse el a fájlt, és kattintson az Execute gombra a CamScripter nézetben. És íme!! A kódja átment a vezetéken a kamerához, amely végrehajtotta azt, és visszaküldte az Ön által kiírt üzenetet.
Most próbáljunk ki valami egy kicsit érdekesebbet. Adjon hozzá három további kódsort, hogy a hello_world.lua fájlja a következőt tartalmazza:
print("Hello, World!");
take_picture("pic_name");
print_picture("pic_name");
print("It's a picture!");
Most kattintson újra az Execute gombra. Ezúttal tovább fog tartani a végrehajtás, mivel a képek soros porton keresztüli küldése meglehetősen időigényes. Amint befejeződik azonban, látnia kell a két üzenetét a CamScripter konzolterületén, valamint a kamerával készített képet a visszajelző területen (levette a lencsevédőt, ugye?)
You’ll notice that it’s a pretty low resolution image. The camera is set to take low resolution pictures by default in the CamScripter, as it takes quite a bit longer to send high resolution images through the serial port. However, you can change the camera to high resolution using function LuaApiFunctions.
Hasznos hivatkozások#
A CamScripter most teljesen telepítve és konfigurálva van, és látott egy kis példát, amely bemutatja a funkcionalitását. Ha szeretne néhány nagyobb példát látni a Camscripter használatával, tekintse meg a camscripter/examples könyvtárban található mintaprogramokat. Néhány további megjegyzés és hivatkozás, amelyek segíthetnek:
A CamScripter Lua API leírja azokat a CMUcam3 függvényeket, amelyeket a Lua programjaiban használhat a CMUcam3 műveleteinek vezérléséhez.
Itt van néhány hivatkozás, amely segít elkezdeni a Lua használatát. Vegye figyelembe, hogy a külső könyvtárak, például a string és a math könyvtár nem szerepelnek a CMUcam3-ra telepített Lua verzióban. Ki kellett venni őket, hogy a Lua értelmező elférjen a CMUcam3 korlátozott helyén.
Lua oktatóanyag Egy oktatóanyag, amely segít elkezdeni.
Lua referencia kézikönyv: A Lua teljes dokumentációja.
Lua Wiki Hasznos hely a válaszok megtalálásához. Mintakód, GYIK és hivatkozások más forrásokhoz.
LuaEclipse is a useful Eclipse plug-in that you may find helpful. It provides syntax highlighting and other facilities to make writing Lua code easier.