--LUA_SD_EVENT=/writescript.lua
local function ExecuteCmd(cmd,sid,param,result)
local param_req = ""
local msg = ""
if (sid) then
if (param) then
param_req = \'"sessionId": "\'..sid..\'",\'
else
param_req = \'"sessionId": "\'..sid..\'"\'
end
end
if (param) then
param_req = param_req..param
end
msg = \'{"name": "\'..cmd..\'","parameters": {\'..param_req..\'}}\'
local b = fa.request{ url = \'http://192.168.1.1/osc/commands/execute\', method = "POST", body = msg }
if (result and b) then
local s,e,b2 = b:find(\'"\'..result..\'"%s*:%s*"([^"]+)"\')
b = b2
end
return b
end
-- Main script
local sessionId = ExecuteCmd("camera.startSession", nil, nil, "sessionId")
local captureMode = ExecuteCmd("camera.getOptions", sessionId, \'"optionNames": ["captureMode"]\', "captureMode")
if (captureMode=="image") then
ExecuteCmd( "camera.takePicture", sessionId)
elseif (captureMode=="_video") then
ExecuteCmd( "camera._startCapture", sessionId)
sleep(5000)
ExecuteCmd( "camera._stopCapture", sessionId)
end
ExecuteCmd( "camera.closeSession", sessionId)