触摸精灵控制中心-系统设置界面介绍

发布于 2020-02-21 15:58:14

image.png

本地访问地址默认是本地的IP+3000端口
广域网插件的话需要有公网IP或者使用花生壳等内网穿透软件,端口为3000
使用公网IP设置路由端口映射3000端口
使用花生壳等软件内网映射类型选择http,如下图
image.png
然后本地访问地址填写 http://evanelf.wicp.net 即可.注意最后不要写 /

注意:如果内网主机填写127.0.0.1设备无法通过访问地址访问则改成本机真实局域网ip 例如:192.168.1.100

如果花生壳端口不是80 需要写花生壳随机分配的端口号 例:http://evanelf.wicp.net:61234

如果以上设置还无法连接,点击域名诊断
image.png
如果出现以下提示需重启花生壳
image.png

本地脚本目录
此目录用于版本管理,脚本可通过此目录进行自动更新

远程访问地址
此目录用于版本管理,可填写又拍云等远程更新脚本

上传文件目录
此目录用于脚本上传截图等文件使用.
接口为 本地访问地址/uploadFile 以下以http://192.168.31.163:3000为例

function main()
local img = '/var/touchelf/x.jpg';
    snapshotRegion(img,100,100,200,200);
    local res = uploads(img)
    logDebug(res)
    
end
function uploads (file)
    local http = require("socket.http")
    local ltn12 = require("ltn12")
    local url = "http://192.168.31.163:3000/uploadFile"
    filename = string.match(file, ".+/([^/]*%.%w+)$")
    local files = io.open(file, "rb")
    local data = files:read("*all")
      files:close();
      local request_body = string.format('------Evan\r\nContent-Disposition: form-data;name="file"; filename="%s"\r\nContent-Type: application/octet-stream\r\n\r\n%s\r\n------Evan--',filename,data)
    local response_body = {}
    local res, code, response_headers = http.request{
        url = url,
        method = "PUT",
        headers =
          {
              ["Content-Type"] = "multipart/form-data; boundary=----Evan";
              ["Content-Length"] = #request_body;
         },
          source = ltn12.source.string(request_body),
          sink = ltn12.sink.table(response_body),
    }
    if type(response_body) == "table" then
      if table.concat(response_body) ~= "error" then
          return table.concat(response_body);
      else
          return -1;
      end
    else
      logDebug("Not a table:", type(response_body))
      return -1;
    end
end

上传成功会返回上传的文件名.实际使用中注意随机名字,否则会被覆盖

返回内容为json,见下图
F53C502A-4099-49C7-93A2-97848FD065BE.png

1 条评论

发布
问题