利用lua语言控制串口进行数据传输
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.利用lua编写hello world!
1. 用记事本新建一个test.lua的文件,并用winSCP上传到路由器,并用用chmod 777 XX 修改属性。里面的内容是:print("hello world!,lua")
2. 用putty登录,执行命令:lua test.lua
3. 在终端屏幕上中可以看到hello world!
2. 测试串口
1. 新建2ser.lua,里面的内容是:(以下代码是一个完整的处理字符串的例子)
io.input("/www/cgi-bin/test.txt") -->设置当前输入文件
t = io.read("*all") -->读取整个文件
t = string.gsub(t, "([\128-\255=])", function (c)
return string.format("=%02X", string.byte(c))
end)
-- io.output("/www/cgi-bin/test2.txt")
io.output("/dev/ttyUSB0") -->设置当前输出文件,利用usb转串口输出至超级终端显示io.write(t) -->输出
2. 上传,改属性,打开超级终端,设置波特率为9600(此为默认,可修改)
3. putty登陆执行:lua 2ser.lua
4. 超级终端中可显示文件中的数据
3.web与lua连接(web显示数据)
1. 新建test文件(没有后缀名),其内容如下:
#! /usr/bin/lua
-- HTTP header -->告诉浏览器将网页解释成纯文本
print [[
Content-Type: text/plain
]]
io.write("hello", "Lua")
2. 需要将test文件利用Notepad++等强力编辑工具,转换为UNIX格式
3. 上传到/www/cgi-bin/目录下,改属性,在浏览器查看
http://192.168.8.1/cgi-bin/test
4. 浏览器中可看到:hellolua
4.web向串口发送数据
1. 新建2ser,内容如下:
#!/usr/bin/lua -->调用lua脚本解释器
-- HTTP header
print [[
Content-Type: text/plain
]]
io.output("/dev/ttyUSB0")
io.write(os.getenv("QUERY_STRING"))
2. 需要将test文件利用Notepad++等强力编辑工具,转换为UNIX格式
3. 上传到/www/cgi-bin/目录下,改属性,在浏览器查看
http://192.168.8.1/cgi-bin/web2ser?abc
4. 超级终端中可看到:abc
5. usb转串口波特率的设置
1. lsusb命令查到设备信息
2. 检查设备是否存在
mknod /dev/ttyUSB0 c 188 0
3. minicom –s,进入minicom的设置模式
4. 选择Serial port setup”,按回车,再按“A”以设置“Serial Device”/dev/ttyUSB0
5. 设置波特率:按“E”键进入设置“bps/par/Bits”(波特率)界面,如果按“I”以设置波特率为115200,按回车返回。
6. 改Modem and dialing,