LUA怎么实现串口数据采集与TCP单向透传
本篇内容主要讲解“LUA怎么实现串口数据采集与TCP单向透传”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“LUA怎么实现串口数据采集与TCP单向透传”吧!

创新互联建站公司2013年成立,先为环翠等服务建站,环翠等地企业,进行企业商务咨询服务。为环翠企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。
前言:
LUA在游戏行业使用广泛,尤其是编写一些扩展模块与C语言之间的协调工作。其效率高于其他很多脚本语言,本人从事工业控制方向的软件开发,想让这种脚本语言来适应自己的工作环境,编有了个想法。
为什么是转发而不是串口与网络的双向透传?
测试的时候只有打开方式是"rb"串口才能读数据,理论上用"wb"可以双向读写串口,如果您知道怎么解决这个问题请告诉我。
lua串口参数怎么设置?如波特率?
我用minicom设置好参数再运行lua脚本
网络模块支持
使用了luasocket库(luasocket-2.0.2)
Lua 5.2.2 Copyright (C) 1994-2013 Lua.org, PUC-Rio
--init sock
socket = require("socket")
if nil == socket then
print( "socket environment load fail.")
os.exit();
end
--init server socket
net_host = "192.168.17.7"
net_port = 8888
server = socket.bind(net_host,net_port)
if nil == server then
print( "server socket bind fail.")
os.exit();
end
::io_ret::
--wair connect
print("wait tcp client connect...")
client = server:accept(1)
if nil == client then
print("tcp client connect fail")
os.exit()
else
print("tcp client connect succ")
end
client:settimeout(0)
--init serial port
serial_port = "/dev/ttyS2"
serial = io.open(serial_port,"rb")
if nil == serial then
print( "serial port open fail.")
os.exit();
else
print("serial port open succ")
end
--serial to tcp proc
while true do
local ser_byte = nil
local net_byte = nil
--network data proc
net_str,net_state = client:receive(1)
--check socket
if net_state ~= "closed" then
--check serial port
ser_str = serial:read(1)
if ser_str then
--serial data valid
ser_byte = string.byte( ser_str )
--serial to tcp
client:send( string.char(ser_byte) )
--debug output
io.write( string.format("\nSER:[%02X]\n",ser_byte) )
end
--[[
if net_str then
--network data valid
net_byte = string.byte( net_str )
--tcp to serial
serial:write(100)--string.char(net_byte) )
--debug output
io.write(string.format("\nNET:[%02X]\n",net_byte) )
end
]]--
else
print("tcp client closed")
client = nil
serial = nil
goto io_ret
end
end
serial:close()
client:close()到此,相信大家对“LUA怎么实现串口数据采集与TCP单向透传”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
本文名称:LUA怎么实现串口数据采集与TCP单向透传
本文来源:http://www.jxjierui.cn/article/jhiico.html


咨询
建站咨询
