Memulai dengan CamScripter#
Ikhtisar#
Apa itu?#
CamScripter adalah alat untuk membantu Anda menulis dan men-debug skrip khusus untuk CMUcam3. Ia memungkinkan penulisan skrip menggunakan bahasa pemrograman Lua. Menggunakan bahasa ini dan Lua API yang disediakan untuk CMUcam3, Anda dapat menyesuaikan kamera untuk hampir semua penggunaan yang dapat Anda pikirkan. Dalam tutorial ini kami akan memandu Anda melalui proses instalasi dan kemudian mengembangkan skrip contoh untuk dijalankan di kamera.
Sebelum Anda Memulai#
Tutorial ini mengasumsikan:
Anda sudah memiliki CMUcam3
You've already gotten the camera working, using either the Quick Start Guide or the
SDK installation guideAnda memiliki semua yang dibutuhkan untuk menghubungkan kamera ke komputer Anda
Instalasi, Bagian 1: Lua, Komunikasi Port Serial#
Lua#
CamScripter memungkinkan Anda memprogram CMUcam3 menggunakan bahasa pemrograman Lua. Sebelum kita dapat melakukan itu, kita perlu menginstal bahasa ini di komputer Anda.
Download the appropriate ZIP binary. (For Windows: Lua-Windows or for other users https://luabinaries.sourceforge.net/download.html)
Unzip biner Lua ke
C:\luaBuka command prompt (di Windows, pilih "Run..." dari menu Start, dan ketik 'cmd').
cd ke mana pun Anda meng-unzip file Lua. Bagi saya, saya ketik 'cd C:lua'
Ketik 'luax.x.exe -v' di mana x adalah versi Lua
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).
Di windows di bawah cygwin, gunakan baris berikut untuk mengompilasi:
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)#
Java Runtime Environment (versi 6 atau lebih tinggi) diperlukan untuk CamScripter. Jika Anda belum memiliki JRE terpasang, Anda dapat mengunduh dan memasangnya di sini.
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.
Untuk menginstal (Windows saja - untuk OS lain, ikuti instruksi dalam file INSTALL rxtx):
Unzip unduhan RXTX, dan navigasi ke folder yang dihasilkan
Klik ganda pada Windows
Klik ganda pada i368-mingw32
Sekarang Anda harus mencari tahu di mana Java Run-time environment Anda berada. Kemungkinan ada di
C:\Program Files\Java\jre<version number>. Milik saya, misalnya, terletak diC:\Program Files\Java\jre1.6.0_01. Salin berkasrxtxSerial.dlldanrxtxParallel.dlldari folder RXTX i368-mingw32 ke folderjre/bin. Jadi dalam contoh saya, saya menempatkan kedua berkas tersebut di folderC:\Program Files\Java\jre1.6.0_01\bin.
Instalasi, Bagian 2: Eclipse#
Baiklah, kita hampir siap! Hanya beberapa hal yang tersisa untuk dilakukan.
Jika Anda belum memilikinya, pasang Eclipse (versi 3.2 atau lebih baru). Anda dapat memasangnya dari http://eclipse.org/downloads. Eclipse Classic adalah pilihan yang aman, meskipun paket lain yang tercantum juga seharusnya bekerja. Untuk memasang, cukup unzip paket pilihan Anda ke C:\Program Files\eclipse.
Sekarang setelah Eclipse terpasang, kita perlu memasang CamScripter sebagai plugin Eclipse:
Buka Eclipse dengan mengklik ganda eclipse.exe di
C:\Program Files\eclipse\Tekan Enter untuk menerima workspace default
Buka wizard Install/Update dengan memilih Help -> Software Updates -> Find and Install
Pilih tombol radio "Search for new features to install", dan klik Next.
Klik tombol "New Remote Site..."
For name, enter Camscripter, and for URL enter
http://cmucam.org/~juanpablo/. Click OK.Pastikan kotak di sebelah Camscripter dicentang, dan klik tombol "Finish".
Pilih "Camscripter" sebagai fitur yang akan dipasang, dan klik Next.
Terima perjanjian lisensi, dan klik Next
Klik Finish - Eclipse akan mengunduh plug-in untuk Anda
Klik "Install" untuk memasang plug-in Camscripter.
Klik Yes untuk memulai ulang Eclipse Platform
Eclipse kemudian akan memulai ulang, dengan plugin Camscripter terpasang untuk Anda. Untuk memastikan itu terpasang, pilih 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.
Tampilan CamScripter
Panel konsol tempat pesan teks ditampilkan
Panel umpan balik tempat pesan gambar dan grafik ditampilkan
Menjalankan kode Lua. Anda dapat menjalankan seluruh berkas atau hanya baris kode yang dipilih.
Memasang kode Lua pada kartu SD/MMC CMUcam3
Penyiapan#
Kami telah menginstal semuanya! Hanya beberapa langkah penyiapan dan kita akan memprogram CamScripter.
Muat proyek camscripter ke kamera#
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.
Atur Preferensi CamScripter#
Sekarang kembali ke Eclipse, dan buka layar CamScripter Preferences: 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.Bagi yang tertarik, luac hanya mengompilasi kode lua, sedangkan luax.x.exe sebenarnya menafsirkan dan menjalankan kode. Kami mengompilasi kode di Eclipse, lalu menjalankannya di kamera -- karenanya, luac.
Berikan nama port serial tempat Anda menghubungkan kamera Anda. Anda dapat mengklik tombol "See Serial Ports" untuk melihat daftar port serial yang tersedia.
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.
Beri nama proyek Anda "Hello", dan klik tombol Finish. Kemudian buat berkas baru dengan mengklik File --> New --> File (Di Eclipse 3.3 itu adalah File --> New --> Other --> General --> File). Di kotak nama berkas, masukkan "hello_world.lua", dengan Hello sebagai folder induk. Klik tombol Finish.
Periksa kembali bahwa kamera Anda terhubung ke port serial komputer Anda. Sebelum Anda menyalakan kamera, penting untuk memahami dua mode yang didukung kamera:
Standalone: kamera tidak mengharapkan interaksi apa pun dengan PC sama sekali. Secara default kamera memulai dalam mode ini.
Interaktif: kamera menerima kode Lua yang telah dikompilasi dari CamScripter di Eclipse dan mengembalikan umpan balik. Untuk menempatkan kamera dalam mode interaktif, nyalakan dan ketika Anda melihat LED oranye menyala, tekan tombol kamera (Anda memiliki 3 detik untuk menekan tombol). Pada saat itu, LED oranye akan berkedip beberapa kali memberi tahu Anda bahwa kita memasuki mode interaktif. Jika semuanya berjalan dengan baik, Anda akan melihat pesan Welcome to CamScripter Interactive mode. Click the execute button to run a script.
Mari mulai kamera dalam mode interaktif sehingga kita dapat menjalankan program Lua pertama kita.
Di jendela editor, masukkan baris kode:
print("Hello, World!");
Simpan berkas dan klik tombol Execute di tampilan CamScripter. Dan Voila!! Kode Anda akan telah dikirim melalui kabel ke kamera, yang mengeksekusinya, dan mengirim kembali pesan yang Anda cetak.
Sekarang mari coba sesuatu yang sedikit lebih menarik. Tambahkan tiga baris kode tambahan, sehingga berkas hello_world.lua Anda berisi:
print("Hello, World!");
take_picture("pic_name");
print_picture("pic_name");
print("It's a picture!");
Sekarang klik tombol Execute lagi. Kali ini akan memakan waktu lebih lama untuk dieksekusi, karena mengirim gambar melalui port serial cukup memakan waktu. Namun, setelah selesai, Anda seharusnya melihat kedua pesan Anda di area Console CamScripter, dan gambar yang Anda ambil dengan kamera di area Feedback (Anda sudah melepas tutup lensa, bukan?)
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.
Tautan Berguna#
CamScripter sekarang telah terinstal dan terkonfigurasi sepenuhnya, dan Anda telah melihat sebuah contoh kecil yang menunjukkan fungsionalitasnya. Jika Anda ingin melihat contoh yang lebih besar menggunakan CamScripter, lihat program contoh yang disertakan dalam direktori camscripter/examples. Beberapa catatan dan tautan lain yang mungkin membantu Anda:
CamScripter Lua API menjelaskan fungsi-fungsi CMUcam3 yang dapat Anda gunakan dalam program Lua Anda untuk mengendalikan tindakan CMUcam3.
Berikut adalah beberapa tautan untuk membantu Anda memulai menggunakan Lua. Perhatikan bahwa pustaka eksternal seperti pustaka string dan math tidak disertakan dalam versi Lua yang dipasang pada CMUcam3. Pustaka-pustaka tersebut harus dihilangkan agar interpreter Lua dapat muat dalam ruang terbatas pada CMUcam3.
Lua Tutorial Tutorial untuk membantu Anda memulai.
Lua Reference Manual: Dokumentasi lengkap Lua.
Lua Wiki Tempat yang berguna untuk menemukan jawaban. Kode contoh, FAQ, dan tautan ke sumber daya lainnya.
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.