เริ่มต้นใช้งาน CamScripter#
ภาพรวม#
มันคืออะไร?#
CamScripter เป็นเครื่องมือที่ช่วยคุณในการเขียนและดีบักสคริปต์แบบกำหนดเองสำหรับ CMUcam3 มันทำให้สามารถเขียนสคริปต์โดยใช้ภาษาโปรแกรม Lua ได้ การใช้ภาษานี้และ Lua API ที่จัดมาให้สำหรับ CMUcam3 คุณสามารถปรับแต่งกล้องสำหรับการใช้งานเกือบทุกอย่างที่คุณนึกออกได้ ในบทช่วยสอนนี้เราจะพาคุณผ่านกระบวนการติดตั้งแล้วพัฒนาสคริปต์ตัวอย่างเพื่อรันบนกล้อง
ก่อนที่คุณจะเริ่มต้น#
บทช่วยสอนนี้สมมติว่า:
คุณมี CMUcam3 อยู่แล้ว
You've already gotten the camera working, using either the Quick Start Guide or the
SDK installation guideคุณมีทุกอย่างที่จำเป็นในการเชื่อมต่อกล้องกับคอมพิวเตอร์ของคุณ
การติดตั้ง ตอนที่ 1: Lua, การสื่อสารพอร์ตซีเรียล#
Lua#
CamScripter ให้คุณโปรแกรม CMUcam3 โดยใช้ภาษาโปรแกรม Lua ก่อนที่เราจะทำเช่นนั้นได้ เราจะต้องติดตั้งภาษานี้บนคอมพิวเตอร์ของคุณ
Download the appropriate ZIP binary. (For Windows: Lua-Windows or for other users https://luabinaries.sourceforge.net/download.html)
แตกไฟล์ไบนารี Lua ลงใน
C:\luaเปิด command prompt (ใน Windows เลือก "Run..." จากเมนู Start แล้วพิมพ์ 'cmd')
cd ไปยังที่ที่คุณแตกไฟล์ Lua สำหรับผม ผมพิมพ์ 'cd C:lua'
พิมพ์ 'luax.x.exe -v' โดยที่ x คือเวอร์ชันของ 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).
ใน windows ภายใต้ cygwin ให้ใช้บรรทัดต่อไปนี้เพื่อคอมไพล์:
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 (เวอร์ชัน 6 หรือสูงกว่า) สำหรับ CamScripter หากคุณยังไม่ได้ติดตั้ง JRE คุณสามารถดาวน์โหลดและติดตั้งได้ ที่นี่
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.
ในการติดตั้ง (Windows เท่านั้น - สำหรับ OS อื่น ๆ ทำตามคำแนะนำในไฟล์ rxtx INSTALL):
แตกไฟล์ RXTX ที่ดาวน์โหลด และเข้าไปในโฟลเดอร์ผลลัพธ์
ดับเบิลคลิกที่ Windows
ดับเบิลคลิกที่ i368-mingw32
ตอนนี้คุณจะต้องหาว่า Java Run-time environment ของคุณอยู่ที่ไหน มันน่าจะอยู่ใน
C:\Program Files\Java\jre<version number>ของฉัน เช่น อยู่ในC:\Program Files\Java\jre1.6.0_01คัดลอกไฟล์rxtxSerial.dllและrxtxParallel.dllจากโฟลเดอร์ RXTX i368-mingw32 ไปยังโฟลเดอร์jre/binดังนั้นในตัวอย่างของฉัน ฉันวางไฟล์สองไฟล์นั้นในโฟลเดอร์C:\Program Files\Java\jre1.6.0_01\bin
การติดตั้ง ตอนที่ 2: Eclipse#
โอเค เราเกือบพร้อมแล้ว! เหลืออีกไม่กี่อย่างที่ต้องทำ
หากคุณยังไม่มี ให้ติดตั้ง Eclipse (เวอร์ชัน 3.2 หรือใหม่กว่า) คุณสามารถติดตั้งได้จาก http://eclipse.org/downloads Eclipse Classic เป็นตัวเลือกที่ปลอดภัย แม้ว่าแพ็กเกจอื่นๆ ที่แสดงไว้ก็ควรจะใช้งานได้เช่นกัน หากต้องการติดตั้ง เพียงแตกไฟล์แพ็กเกจที่คุณเลือกลงใน C:\Program Files\eclipse
ตอนนี้ Eclipse ติดตั้งแล้ว เราต้องติดตั้ง CamScripter เป็นปลั๊กอินของ Eclipse:
เปิด Eclipse โดยการดับเบิลคลิก eclipse.exe ใน
C:\Program Files\eclipse\กด Enter เพื่อยอมรับ workspace เริ่มต้น
เปิดตัวช่วย Install/Update โดยเลือก Help -> Software Updates -> Find and Install
เลือกปุ่มตัวเลือก "Search for new features to install" แล้วคลิก Next
คลิกปุ่ม "New Remote Site..."
For name, enter Camscripter, and for URL enter
http://cmucam.org/~juanpablo/. Click OK.ตรวจสอบให้แน่ใจว่าช่องข้าง Camscripter ถูกเลือกไว้ แล้วคลิกปุ่ม "Finish"
เลือก "Camscripter" เป็นคุณสมบัติที่จะติดตั้ง แล้วคลิก Next
ยอมรับข้อตกลงสิทธิ์การใช้งาน แล้วคลิก Next
คลิก Finish - Eclipse จะดาวน์โหลดปลั๊กอินให้คุณ
คลิก "Install" เพื่อติดตั้งปลั๊กอิน Camscripter
คลิก Yes เพื่อรีสตาร์ท Eclipse Platform
จากนั้น Eclipse จะรีสตาร์ท พร้อมกับปลั๊กอิน Camscripter ที่ติดตั้งให้คุณแล้ว เพื่อให้แน่ใจว่าติดตั้งแล้ว ให้เลือก 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
แผงคอนโซลที่แสดงข้อความ
แผงข้อเสนอแนะที่แสดงข้อความภาพและกราฟิก
ดำเนินการโค้ด Lua คุณสามารถดำเนินการทั้งไฟล์หรือเฉพาะบรรทัดโค้ดที่เลือกได้
ติดตั้งโค้ด Lua บนการ์ด SD/MMC ของ CMUcam3
การตั้งค่า#
เราติดตั้งทุกอย่างเรียบร้อยแล้ว! เพียงไม่กี่ขั้นตอนการตั้งค่าแล้วเราจะโปรแกรม CamScripter กัน
โหลดโปรเจกต์ camscripter ลงบนกล้อง#
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.
ตั้งค่าการตั้งค่า CamScripter#
ตอนนี้กลับไปที่ Eclipse และเปิดหน้าจอ 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.สำหรับผู้ที่สนใจ luac เพียงคอมไพล์โค้ด lua ในขณะที่ luax.x.exe ตีความและรันโค้ดจริงๆ เรากำลังคอมไพล์โค้ดใน Eclipse แล้วรันบนกล้อง -- ดังนั้นจึงเป็น luac
ระบุชื่อของพอร์ตซีเรียลที่คุณเชื่อมต่อกล้อง คุณสามารถคลิกปุ่ม "See Serial Ports" เพื่อดูรายการพอร์ตซีเรียลที่พร้อมใช้งานได้
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.
ตั้งชื่อโปรเจกต์ของคุณว่า "Hello" แล้วคลิกปุ่ม Finish จากนั้นสร้างไฟล์ใหม่โดยคลิก File --> New --> File (ใน Eclipse 3.3 จะเป็น File --> New --> Other --> General --> File) ในช่องชื่อไฟล์ ให้ป้อน "hello_world.lua" โดยมี Hello เป็นโฟลเดอร์แม่ คลิกปุ่ม Finish
ตรวจสอบให้แน่ใจอีกครั้งว่ากล้องของคุณเชื่อมต่อกับพอร์ตซีเรียลของคอมพิวเตอร์ ก่อนที่คุณจะเปิดกล้อง สิ่งสำคัญคือต้องเข้าใจสองโหมดที่กล้องรองรับ:
Standalone: กล้องไม่คาดหวังการโต้ตอบใดๆ กับพีซีเลย ตามค่าเริ่มต้นกล้องจะเริ่มต้นในโหมดนี้
Interactive: กล้องรับโค้ด Lua ที่คอมไพล์แล้วจาก CamScripter ใน Eclipse และส่งข้อเสนอแนะกลับมา หากต้องการทำให้กล้องอยู่ในโหมด interactive ให้เปิดกล้องและเมื่อคุณเห็น LED สีส้มติด ให้กดปุ่มกล้อง (คุณมีเวลา 3 วินาทีในการกดปุ่ม) ณ จุดนั้น LED สีส้มจะกะพริบหลายครั้งเพื่อบอกให้คุณทราบว่าเรากำลังเข้าสู่โหมด interactive หากทุกอย่างเป็นไปด้วยดี คุณจะเห็นข้อความ Welcome to CamScripter Interactive mode. Click the execute button to run a script.
มาเริ่มกล้องในโหมด interactive กันเพื่อที่เราจะได้ดำเนินการโปรแกรม Lua แรกของเรา
ในหน้าต่างตัวแก้ไข ให้ป้อนบรรทัดโค้ด:
print("Hello, World!");
บันทึกไฟล์และคลิกปุ่ม Execute ในมุมมอง CamScripter และ Voila!! โค้ดของคุณจะถูกส่งผ่านสายไปยังกล้อง ซึ่งดำเนินการมัน และส่งข้อความที่คุณพิมพ์ออกมากลับมา
ตอนนี้ลองทำอะไรที่น่าสนใจขึ้นอีกนิด เพิ่มโค้ดอีกสามบรรทัด เพื่อให้ไฟล์ hello_world.lua ของคุณมี:
print("Hello, World!");
take_picture("pic_name");
print_picture("pic_name");
print("It's a picture!");
ตอนนี้คลิกปุ่ม Execute อีกครั้ง คราวนี้จะใช้เวลาดำเนินการนานขึ้น เนื่องจากการส่งภาพผ่านพอร์ตซีเรียลค่อนข้างใช้เวลา แต่เมื่อเสร็จแล้ว คุณควรจะเห็นข้อความสองข้อความของคุณในพื้นที่คอนโซลของ CamScripter และภาพที่คุณถ่ายด้วยกล้องในพื้นที่ Feedback (คุณเอาฝาปิดเลนส์ออกแล้วใช่ไหม?)
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.
ลิงก์ที่มีประโยชน์#
ตอนนี้ CamScripter ติดตั้งและกำหนดค่าครบถ้วนแล้ว และคุณได้เห็นตัวอย่างเล็ก ๆ ที่แสดงถึงฟังก์ชันการทำงานของมัน หากคุณต้องการดูตัวอย่างที่ใหญ่ขึ้นที่ใช้ Camscripter ลองดูโปรแกรมตัวอย่างที่รวมอยู่ในไดเรกทอรี camscripter/examples หมายเหตุและลิงก์อื่น ๆ ไม่กี่รายการที่อาจช่วยคุณได้:
CamScripter Lua API อธิบายฟังก์ชันของ CMUcam3 ที่คุณสามารถใช้ในโปรแกรม Lua ของคุณเพื่อควบคุมการทำงานของ CMUcam3
นี่คือลิงก์บางส่วนเพื่อช่วยให้คุณเริ่มต้นใช้งาน Lua โปรดทราบว่าไลบรารีภายนอกเช่นไลบรารี string และ math ไม่ได้รวมอยู่ในเวอร์ชันของ Lua ที่ติดตั้งบน CMUcam3 พวกมันต้องถูกตัดออกเพื่อให้ตัวแปล Lua พอดีกับพื้นที่จำกัดบน CMUcam3
Lua Tutorial บทช่วยสอนเพื่อช่วยคุณเริ่มต้น
Lua Reference Manual: เอกสารประกอบ Lua ฉบับสมบูรณ์
Lua Wiki สถานที่ที่มีประโยชน์ในการหาคำตอบ โค้ดตัวอย่าง คำถามที่พบบ่อย และลิงก์ไปยังทรัพยากรอื่น ๆ
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.