LLCOM:一个.NET开源且功能强大的串口调试工具

程序员有二十年 2024-09-27 12:10:34

我们致力于探索、分享和推荐最新的实用技术栈、开源项目、框架和实用工具。每天都有新鲜的开源资讯等待你的发现!

项目介绍

LLCOM是一个.NET开源、功能强大、高自由度的串口调试工具,它允许用户运行Lua脚本来提前处理待发送的数据,同时还集成了多种通信协议(如TCP、UDP、SSL、MQTT)的测试服务端/客户端功能,以及串口监听、编码互转、乱码恢复等特色功能。

主要功能 串口通信:集成串口监听功能,可监听其他软件的串口通信数据。Lua脚本:可独立运行Lua脚本,并拥有定时器与协程任务特性(移植自合宙Luat Task架构)编码与显示:可选文字编码格式。终端功能,直接敲键盘发送数据(包含ctrl+字母键)。可单独隐藏发送数据。集成多种通信协议测试:集成TCP、UDP、SSL测试服务端/客户端功能,支持IPV6。集成MQTT测试功能。特色功能:串口监听功能,可监听其他软件的串口通信数据。集成各种编码互转功能。集成乱码恢复功能。 功能演示 特色功能示范 使用Lua脚本提前处理待发送的数据独立的Lua脚本自动处理串口收发

右侧的Lua脚本调试区域,可直接运行你写的串口测试脚本,如软件自带的:

--注册串口接收函数uartReceive = function (data) log.info("uartReceive",data) sys.publish("UART",data)--发布消息end--新建任务,等待接收到消息再继续运行sys.taskInit(function()while true dolocal _,udata = sys.waitUntil("UART")--等待消息 log.info("task waitUntil",udata)local sendResult = apiSendUartData("ok!")--发送串口消息 log.info("uart send",sendResult) endend)--新建任务,每休眠1000ms继续一次sys.taskInit(function()while true do sys.wait(1000)--等待1000ms log.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() 开源地址

https://github.com/chenxuuu/llcom

0 阅读:1

程序员有二十年

简介:感谢大家的关注