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 guide

  • Sinulla 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.

  1. Download the appropriate ZIP binary. (For Windows: Lua-Windows or for other users https://luabinaries.sourceforge.net/download.html)

  2. Pura Lua-binääri hakemistoon C:\lua

  3. Avaa komentokehote (Windowsissa valitse ”Run…” Käynnistä-valikosta ja kirjoita ’cmd’).

  4. cd sinne, minne purit Lua-tiedostot. Minun kohdallani kirjoitan ’cd C:lua’

  5. 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):

  1. Pura RXTX-lataus ja siirry syntyneeseen kansioon

  2. Kaksoisnapsauta Windows

  3. Kaksoisnapsauta i368-mingw32

  4. 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 hakemistossa C:\Program Files\Java\jre1.6.0_01. Kopioi tiedostot rxtxSerial.dll ja rxtxParallel.dll RXTX i368-mingw32 -kansiosta kansioon jre/bin. Omassa esimerkissäni laitoin siis nuo kaksi tiedostoa kansioon C:\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:

  1. Avaa Eclipse kaksoisnapsauttamalla eclipse.exe:tä hakemistossa C:\Program Files\eclipse\

  2. Paina Enter hyväksyäksesi oletustyötilan

  3. Avaa Install/Update-ohjattu toiminto valitsemalla Help -> Software Updates -> Find and Install

  4. Valitse valintanappi ”Search for new features to install” ja napsauta Next.

  5. Napsauta painiketta ”New Remote Site…”

  6. For name, enter Camscripter, and for URL enter http://cmucam.org/~juanpablo/. Click OK.

  7. Varmista, että Camscripterin vieressä oleva ruutu on valittuna, ja napsauta ”Finish”-painiketta.

  8. Valitse asennettavaksi ominaisuudeksi ”Camscripter” ja napsauta Next.

  9. Hyväksy lisenssisopimus ja napsauta Seuraava

  10. Napsauta Finish - Eclipse lataa laajennuksen puolestasi

  11. Napsauta ”Install” asentaaksesi Camscripter-laajennuksen.

  12. 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.

  1. CamScripter-näkymä

  2. Konsolipaneeli, jossa tekstiviestit näytetään

  3. Palautepaneeli, jossa kuva- ja grafiikkaviestit näytetään

  4. Suorittaa Lua-koodia. Voit suorittaa joko koko tiedoston tai vain valitut koodirivit.

  5. 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.