功能强大的串口工具,抓紧收藏!

《开源精选》是我们分享Github、Gitee等开源社区中优质项目的栏目,包括技术、学习、实用与各种有趣的内容 。本期推荐的是一个功能强大的串口工具 。支持Lua自动化处理、串口调试、串口监听、串口曲线、TCP测试、MQTT测试、编码转换、乱码恢复等功能 。
功能列表特色功能示范
使用Lua脚本提前处理待发送的数据
return uartData.."rn"
return uartData:fromHex()
【功能强大的串口工具,抓紧收藏!】此脚本可将形如30313233发送数据,处理为0123的结果
json = require("JSON")t = uartData:split(",")return json:encode({key1 = t[1],key2 = t[2],key3 = t[3],})
此脚本可将形如a,b,c发送数据,处理为{“key1″:”a”,”key2″:”b”,”key3″:”c”}的结果 。

功能强大的串口工具,抓紧收藏!

文章插图
独立的Lua脚本自动处理串口收发
右侧的Lua脚本调试区域,可直接运行你写的串口测试脚本好爱自动答题脚本,如软件自带的:
--注册串口接收函数uartReceive = function (data)log.info("uartReceive",data)sys.publish("UART",data)--发布消息end--新建任务,等待接收到消息再继续运行sys.taskInit(function()while true dolocal _,udata = https://www.30zx.com/sys.waitUntil("UART")--等待消息log.info("task waitUntil",udata)local sendResult = apiSendUartData("ok!")--发送串口消息log.info("uart send",sendResult)endend)--新建任务 , 每休眠1000ms继续一次sys.taskInit(function()while true dosys.wait(1000)--等待1000mslog.info("task wait",os.time())endend)--1000ms循环定时器sys.timerLoopStart(log.info,1000,"timer test")
甚至你可以利用xlua框架的特性好爱自动答题脚本,调用C#接口完成任何你想做的事情
request = CS.System.Net.WebRequest.Create("http://example.com")request.ContentType = "text/html;charset=UTF-8";request.Timeout = 5000;--超时时间request.UserAgent = "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.98 Safari/537.36 Vivaldi/2.2.1388.37";response = request:GetResponse():GetResponseStream()myStreamReader = CS.System.IO.StreamReader(response, CS.System.Text.Encoding.UTF8);print(myStreamReader:ReadToEnd())--打印获取的body内容myStreamReader:Close()response:Close()
使用此功能,你可以完成大部分的自动化串口调试操作 。
示例图
本文到此结束,希望对大家有所帮助!

猜你喜欢