CamScripterin käytön aloittaminen#
Yleiskatsaus#
Mikä se on?#
CamScripter on työkalu, joka auttaa sinua kirjoittamaan ja korjaamaan mukautettuja skriptejä CMUcam3:lle. Se mahdollistaa skriptien kirjoittamisen Lua -ohjelmointikielellä. Tätä kieltä ja CMUcam3:lle tarjottua Lua-APIa käyttämällä voit mukauttaa kameran lähes mihin tahansa käyttöön, jonka voit keksiä. Tässä opastuksessa käymme kanssasi läpi asennusprosessin ja kehitämme sitten esimerkkiskriptin kameralla ajettavaksi.
Ennen kuin aloitat#
Tämä opastus olettaa:
Sinulla on jo CMUcam3
You’ve already gotten the camera working, using either the Quick Start Guide or the
SDK installation guideSinulla on kaikki tarvittava kameran liittämiseksi tietokoneeseesi
Asennus, osa 1: Lua, sarjaporttiviestintä#
Lua#
CamScripterin avulla voit ohjelmoida CMUcam3:a Lua-ohjelmointikielellä. Ennen kuin voimme tehdä sen, meidän täytyy asentaa tämä kieli tietokoneellesi.
Download the appropriate ZIP binary. (For Windows: Lua-Windows or for other users https://luabinaries.sourceforge.net/download.html)
Pura Lua-binääri hakemistoon
C:\luaAvaa komentokehote (Windowsissa valitse ”Run…” Käynnistä-valikosta ja kirjoita ’cmd’).
cd sinne, minne purit Lua-tiedostot. Minun kohdallani kirjoitan ’cd C:lua’
Kirjoita ’luax.x.exe -v’, missä x on Lua-versio
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).
Windowsissa cygwinin alla käytä seuraavia rivejä kääntämiseen:
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)#
CamScripter tarvitsee Java Runtime Environmentin (versio 6 tai uudempi). Jos sinulla ei ole vielä JRE:tä asennettuna, voit ladata ja asentaa sellaisen täältä.
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.
Asentaaksesi (vain Windows - muille käyttöjärjestelmille seuraa rxtx INSTALL -tiedoston ohjeita):
Pura RXTX-lataus ja siirry syntyneeseen kansioon
Kaksoisnapsauta Windows
Kaksoisnapsauta i368-mingw32
Nyt sinun on selvitettävä, missä Java Runtime -ympäristösi sijaitsee. Se on todennäköisesti hakemistossa
C:\Program Files\Java\jre<version number>. Minulla se esimerkiksi sijaitsee hakemistossaC:\Program Files\Java\jre1.6.0_01. Kopioi tiedostotrxtxSerial.dlljarxtxParallel.dllRXTX i368-mingw32 -kansiosta kansioonjre/bin. Omassa esimerkissäni laitoin siis nuo kaksi tiedostoa kansioonC:\Program Files\Java\jre1.6.0_01\bin.
Asennus, osa 2: Eclipse#
Selvä, olemme melkein valmiita! Vain muutama asia tehtävänä.
Jos sinulla ei ole sitä vielä, asenna Eclipse (versio 3.2 tai uudempi). Voit asentaa sen osoitteesta http://eclipse.org/downloads. Eclipse Classic on varma valinta, vaikka mikä tahansa muistakin luetelluista paketeista pitäisi toimia yhtä hyvin. Asentaaksesi pura valitsemasi paketti yksinkertaisesti hakemistoon C:\Program Files\eclipse.
Nyt kun Eclipse on asennettu, meidän on asennettava CamScripter Eclipse-laajennuksena:
Avaa Eclipse kaksoisnapsauttamalla eclipse.exe:tä hakemistossa
C:\Program Files\eclipse\Paina Enter hyväksyäksesi oletustyötilan
Avaa Install/Update-ohjattu toiminto valitsemalla Help -> Software Updates -> Find and Install
Valitse valintanappi ”Search for new features to install” ja napsauta Next.
Napsauta painiketta ”New Remote Site…”
For name, enter Camscripter, and for URL enter
http://cmucam.org/~juanpablo/. Click OK.Varmista, että Camscripterin vieressä oleva ruutu on valittuna, ja napsauta ”Finish”-painiketta.
Valitse asennettavaksi ominaisuudeksi ”Camscripter” ja napsauta Next.
Hyväksy lisenssisopimus ja napsauta Seuraava
Napsauta Finish - Eclipse lataa laajennuksen puolestasi
Napsauta ”Install” asentaaksesi Camscripter-laajennuksen.
Napsauta Yes käynnistääksesi Eclipse-alustan uudelleen
Eclipse käynnistyy sitten uudelleen, Camscripter-laajennus asennettuna puolestasi. Varmistaaksesi, että se on asennettu, valitse Window -> Show View -> Other…
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äkymä
Konsolipaneeli, jossa tekstiviestit näytetään
Palautepaneeli, jossa kuva- ja grafiikkaviestit näytetään
Suorittaa Lua-koodia. Voit suorittaa joko koko tiedoston tai vain valitut koodirivit.
Asentaa Lua-koodin CMUcam3:n SD/MMC-kortille
Asennus#
Olemme asentaneet kaiken! Vain pari määritysvaihetta, ja alamme ohjelmoida CamScripteriä.
Lataa camscripter-projekti kameraan#
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.
Aseta CamScripter-asetukset#
Palaa nyt Eclipseen ja avaa CamScripterin asetusnäyttö: 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.Kiinnostuneille: luac vain kääntää lua-koodin, kun taas luax.x.exe todella tulkitsee ja suorittaa koodin. Käännämme koodin Eclipsessä ja suoritamme sen sitten kameralla – siksi luac.
Anna sen sarjaportin nimi, johon kytket kamerasi. Voit napsauttaa ”See Serial Ports” -painiketta nähdäksesi luettelon käytettävissä olevista sarjaporteista.
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.
Nimeä projektisi ”Hello” ja napsauta Finish-painiketta. Luo sitten uusi tiedosto napsauttamalla File –> New –> File (Eclipse 3.3:ssa se on File –> New –> Other –> General –> File). Kirjoita tiedostonimikenttään ”hello_world.lua”, ja aseta Hello isäntäkansioksi. Napsauta Finish-painiketta.
Tarkista vielä, että kamerasi on kytketty tietokoneesi sarjaporttiin. Ennen kuin kytket kameran päälle, on tärkeää ymmärtää kaksi tilaa, joita kamera tukee:
Itsenäinen (Standalone): kamera ei odota lainkaan vuorovaikutusta PC:n kanssa. Oletuksena kamera käynnistyy tässä tilassa.
Vuorovaikutteinen (Interactive): kamera vastaanottaa käännettyä Lua-koodia Eclipsessä toimivalta CamScripterilta ja palauttaa palautetta. Asettaaksesi kameran vuorovaikutteiseen tilaan, kytke se päälle ja kun näet oranssin LEDin syttyvän, paina kameran painiketta (sinulla on 3 sekuntia aikaa painaa painiketta). Tässä vaiheessa oranssi LED vilkkuu useita kertoja ilmoittaen, että olemme siirtymässä vuorovaikutteiseen tilaan. Jos kaikki meni hyvin, näet viestin Welcome to CamScripter Interactive mode. Click the execute button to run a script.
Käynnistetään kamera vuorovaikutteisessa tilassa, jotta voimme suorittaa ensimmäisen Lua-ohjelmamme.
Kirjoita editori-ikkunaan koodirivi:
print("Hello, World!");
Tallenna tiedosto ja napsauta Execute-painiketta CamScripter-näkymässä. Ja voilà!! Koodisi on kulkenut johtoa pitkin kameralle, joka suoritti sen ja lähetti takaisin tulostamasi viestin.
Kokeillaan nyt jotakin hieman mielenkiintoisempaa. Lisää kolme uutta koodiriviä, niin että tiedostosi hello_world.lua sisältää:
print("Hello, World!");
take_picture("pic_name");
print_picture("pic_name");
print("It's a picture!");
Napsauta nyt Execute-painiketta uudelleen. Suoritus kestää tällä kertaa kauemmin, koska kuvien lähettäminen sarjaportin kautta on melko aikaa vievää. Kun se kuitenkin valmistuu, sinun pitäisi nähdä kaksi viestiäsi CamScripterin konsolialueella ja kameralla ottamasi kuva palautealueella (poistithan objektiivin suojuksen, etkö poistanutkin?)
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.
Hyödyllisiä linkkejä#
CamScripter on nyt täysin asennettu ja määritetty, ja olet nähnyt pienen esimerkin, joka esittelee sen toiminnallisuutta. Jos haluat nähdä joitakin suurempia CamScripteria käyttäviä esimerkkejä, tutustu camscripter/examples-hakemistoon sisältyviin esimerkkiohjelmiin. Muutamia muita huomautuksia ja linkkejä, jotka voivat auttaa sinua:
CamScripter Lua API kuvaa CMUcam3-funktiot, joita voit käyttää Lua-ohjelmissasi ohjaamaan CMUcam3:n toimintoja.
Tässä on joitakin linkkejä, jotka auttavat sinua aloittamaan Luan käytön. Huomaa, että ulkoisia kirjastoja, kuten string- ja math-kirjastoja, ei ole sisällytetty CMUcam3:een asennettuun Lua-versioon. Ne oli poistettava, jotta Lua-tulkki mahtuisi CMUcam3:n rajalliseen tilaan.
Lua Tutorial Opastus, joka auttaa sinua pääsemään alkuun.
Lua Reference Manual: Luan täydellinen dokumentaatio.
Lua Wiki Hyödyllinen paikka löytää vastauksia. Esimerkkikoodia, usein kysyttyjä kysymyksiä ja linkkejä muihin resursseihin.
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.