เริ่มต้นใช้งาน 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 ก่อนที่เราจะทำเช่นนั้นได้ เราจะต้องติดตั้งภาษานี้บนคอมพิวเตอร์ของคุณ

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

  2. แตกไฟล์ไบนารี Lua ลงใน C:\lua

  3. เปิด command prompt (ใน Windows เลือก "Run..." จากเมนู Start แล้วพิมพ์ 'cmd')

  4. cd ไปยังที่ที่คุณแตกไฟล์ Lua สำหรับผม ผมพิมพ์ 'cd C:lua'

  5. พิมพ์ '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):

  1. แตกไฟล์ RXTX ที่ดาวน์โหลด และเข้าไปในโฟลเดอร์ผลลัพธ์

  2. ดับเบิลคลิกที่ Windows

  3. ดับเบิลคลิกที่ i368-mingw32

  4. ตอนนี้คุณจะต้องหาว่า 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:

  1. เปิด Eclipse โดยการดับเบิลคลิก eclipse.exe ใน C:\Program Files\eclipse\

  2. กด Enter เพื่อยอมรับ workspace เริ่มต้น

  3. เปิดตัวช่วย Install/Update โดยเลือก Help -> Software Updates -> Find and Install

  4. เลือกปุ่มตัวเลือก "Search for new features to install" แล้วคลิก Next

  5. คลิกปุ่ม "New Remote Site..."

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

  7. ตรวจสอบให้แน่ใจว่าช่องข้าง Camscripter ถูกเลือกไว้ แล้วคลิกปุ่ม "Finish"

  8. เลือก "Camscripter" เป็นคุณสมบัติที่จะติดตั้ง แล้วคลิก Next

  9. ยอมรับข้อตกลงสิทธิ์การใช้งาน แล้วคลิก Next

  10. คลิก Finish - Eclipse จะดาวน์โหลดปลั๊กอินให้คุณ

  11. คลิก "Install" เพื่อติดตั้งปลั๊กอิน Camscripter

  12. คลิก 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.

  1. มุมมอง CamScripter

  2. แผงคอนโซลที่แสดงข้อความ

  3. แผงข้อเสนอแนะที่แสดงข้อความภาพและกราฟิก

  4. ดำเนินการโค้ด Lua คุณสามารถดำเนินการทั้งไฟล์หรือเฉพาะบรรทัดโค้ดที่เลือกได้

  5. ติดตั้งโค้ด 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.