22.07.2016, 11:38
(21.07.2016, 19:41)Erwin van der Zwart Wrote: Hi Phongvucba.Thank you very much !
Here is a script example for controlling Chromecast:
BR,Code:-- ****** Control Chromecast with 1 byte object version 1.0 created by Erwin van der Zwart ******* -- -- **************************************** SET PARAMETERS *************************************** -- -- Chromecast IP address ip_chromecast = '192.168.10.23' -- Additional info from browser about -- http://192.168.10.23:8008/ssdp/device-desc.xml -- http://192.168.10.23:8008/setup/scan_results -- http://192.168.10.23:8008/setup/eureka_info?options=detail -- http://192.168.10.23:8008/setup/supported_timezones -- http://geeknizer.com/how-chromecast-works-chromecast-protocol-explained/ value = event.getvalue() require 'socket.http' function control_chromecast(uri, request) local request_body = request local response_body = { } local res, code, response_headers = socket.http.request { url = "http://" .. ip_chromecast .. ":8008/" .. uri; method = "POST"; headers = { ["Content-Type"] = "application/x-www-form-urlencoded"; ["Content-Length"] = #request_body; }; source = ltn12.source.string(request_body); sink = ltn12.sink.table(response_body); } return res, code, response_headers end -- Action on value 1 if value == 1 then -- Start Youtube video res, code, response_headers = control_chromecast('apps/YouTube', [[v=_iuBO1lkch8]]) end -- Action on value 2 if value == 2 then -- Stop Youtube video res, code, response_headers = control_chromecast('apps/YouTube', [[DELETE]]) end -- Action on value 3 if value == 3 then -- Start Chromecast Homescreen res, code, response_headers = control_chromecast('apps/ChromeCast', [[]]) end -- Log results resulthandling = false if resulthandling == true then -- Handler for results log("Status:", res and "OK" or "FAILED") log("HTTP code:", code) log("Response headers:") if type(response_headers) == "table" then for k, v in pairs(response_headers) do log(k, ":", v) end else -- Would be nil, if there is an error log("Not a table:", type(response_headers)) end log("Response body:") if type(response_body) == "table" then log(table.concat(response_body)) else end end
Erwin
I have the following code, via UDP:
sock = socket.udp ()
sock: setTimeout (1)
status = sock: connect ('192.168.10.10', 5353)
== 1 if status bars --- TV on
--tivi else off
Similar to TCP, the code is correct?
thank so much