这里以GL-inet路由器为例,把以下代码保存在/usr/lib/lua/test.lua。

local WebService = {}

function WebService.Run()
    local fh = io.open("/dev/ttyATH0","w")
    local GET = os.getenv("QUERY_STRING")
    fh:write(GET)
    --返回数据给浏览器
    io.write("Content-type: text/html\nPragma: no-cache\n\n")
    io.write(GET)
end

return WebService

/www/cgi-bin/test保存以下代码

#!/usr/bin/lua
local Webservice = require 'test'
Webservice.Run()

通过URL:http://ip/cgi-bin/test?data 向串口写入字符串,data即为写入的字符串。