Search

2013年3月12日 星期二

wxRovio ver.0.1.0 - WowWee Rovio

  過年後跟人拿了一隻WowWee Rovio玩玩,玩了兩個禮拜發現好像沒有錄影的軟體,所以只好自己寫一個用,在GitHub看到roviolib於是參考了之後跟他一樣用Libcurl送參數給Rovio的CGI,格式為:http://<username>:<password>@<ip>/<command>(括弧要去掉),如果使用的Command會使CGI回傳數據,則必須要寫Callback去處理他,靜態影像處理很簡單判斷JPEG格式而已,不過Video Stream搞不太懂他傳回來的是MJPEG但是處理起來很怪大小也不一,所以參考roviolib作者的Callback之後感覺是在10k~50k之間,然後啟用Video Stream時就會一直接收所以要開個Thread才不會讓Main Thread掛住,另外有個Debug功能可以開啟I2C的功能可以看我下面的參考聯結,最後我改寫的wxRovio目前沒有全功能只有我常用的,然後用wxWidget刻一個Demo用的GUI,有時間再增加功能或改改GUI。(PS:如果按鈕hold住就直接Reboot或者按Stop試試)

使用功能前記得先登入否則會Exception XD,錄影(Video Start)錄完記得停止(Video Stop),頭部的控制按鈕如果一直按著會用分段的方式升降,如果只按一下就會直接升降到定點。



開啟夜間模式會根據Framerate除以的數字決定亮度,換句話說越亮的話Framerate越少,而Auto Gain Control以為跟控制有關,不過其實功能類似於夜間模式,但不同的地方在於這個功能不會減少Framerate但是Noise會增加不少,而這兩個功能都是Debug.cgi裡面的。



wxRovio錄影(錄一小時約1.2GB)



=============2013/03/14===============

一樣的Code在Linux上編過沒問題,當然得要有wxWidgets & OpenCV & Libcurl。




如果還有改版就寫Makefile XD


g++ -o2 -o wxRovio './AddUserDialog.cpp' './App.cpp' './DeleteUserDialog.cpp' './LoggingDialog.cpp' './SetCameraDialog.cpp' './SetOtherDialog.cpp' './wxRovio.cpp' `wx-config --cxxflags --libs --unicode` `pkg-config opencv --cflags --libs` -lcurl





參考:

沒有留言:

張貼留言