基于TCP/IP实现串口到网络的通讯转换
创作时间:
作者:
@小白创作中心
基于TCP/IP实现串口到网络的通讯转换
引用
CSDN
1.
https://blog.csdn.net/guangwenyin/article/details/123165485
工作模式
通过串口服务器,采集到天平的称量值发送到PC端
操作步骤
1.软件测试
测试工具:USR-M0_V2.2.5.8
基础设置:
- 模块静态IP 设置成服务器IP
- HTTP服务端口 设置成4001
- 网关 设置成当前连接的网关IP
- 勾选 Reset、Link、RFC2217
端口设置:
- 校验/数据/停止 设置成 NONE/8/1
- 串口波特率 设置成9600
- 模块工作方式 设置成TCP Server
- 本地端口 设置成21018
- 远程端口 设置成8234
2.数据接收测试
测试工具:SerialPortUtility
串口设置:
- 串口选择TCP/UDP
- 波特率选择9600
- Mode选择TCP Client
- Dest IP 输入192.168.5.19
- Dest Port 输入21018
3.代码实现
首先需要声明一个InitializeTcpClient方法,用来接收服务器IP和端口号。这里需要引用SuperSocket.ClientEngine.dll和SuperSocket.ProtoBase.dll
private AsyncTcpSession InitializeTcpClient(string serverIP, int port)
{
client = new AsyncTcpSession();
// 连接断开事件
client.Closed += client_Closed;
// 收到服务器数据事件
client.DataReceived += client_DataReceived;
// 连接到服务器事件
client.Connected += client_Connected;
// 发生错误的处理
client.Error += client_Error;
IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse(serverIP), port);
client.Connect(endPoint);
return client;
}
private void client_Closed(object sender, EventArgs e)
{
Console.WriteLine("连接断开");
}
private void client_DataReceived(object sender, DataEventArgs e)
{
string deviceData = Encoding.Default.GetString(e.Data);
ReadWeight(deviceData);
}
private void client_Connected(object sender, EventArgs e)
{
Console.WriteLine("连接成功");
}
private void client_Error(object sender, SuperSocket.ClientEngine.ErrorEventArgs e)
{
Console.WriteLine(e.Exception.Message);
}
将deviceData字符串转换为字符数组,进行拆分替换后,最终拿到称量值数据
public string weight = "";
private string ReadWeight(string deviceData)
{
try
{
string[] deviceStr = deviceData.Split(" ".ToCharArray());
if (deviceStr.Length > 0)
{
string[] weightStr = deviceStr[1].Split("\r".ToCharArray());
weight = weightStr[0].ToUpper().Trim().Replace("SS", "").Replace("SD", "").Replace("g", "").Replace(Environment.NewLine, "").Substring(0, 6);
}
return weight;
}
catch (Exception ex)
{
return ex.ToString();
}
}
4.最终效果
当 PWR、WORK、LINK、TX 指示灯亮起,表示连接成功
参考资料
- ME,ML,MS天平和电脑通讯指导文件
- USR-TCP232-306 产品使用手册
热门推荐
数智化如何赋能高素质专业化教师队伍建设?
花生和瓜子,一个减肥,一个增肥,你吃对了吗?看完涨知识了
瑞字的最佳配字与吉祥寓意
除湿机的工作原理、种类、选购要点及使用保养指南
2025年带“瑞”字的名字推荐:寓意吉祥,搭配建议
揭开ftn账户与nra账户37号文的面纱:企业与个人的选择与策略
食材配送方案:每日不同营养果蔬搭配指南
“小卒中”脑小血管病如何防治,一文读懂!
如何正确放置笔记本电脑(笔记本电脑放置方法详解)
孩子出不出色,与母亲的性格关系重大!
避险情绪暴击加密货币!顶级对冲基金发出崩盘预警
如何看团购评论数据库
司马光砸缸:真实的历史还是美丽的传说?
透明质酸钠对皮肤的作用是什么
探索NDIR技术在甲烷气体检测中的创新应用
次氯酸钠有效氯含量测定方法与检测服务
缓解便秘食物大法,拉拉更健康
白细胞低的原因、影响及预防措施详解,助你增强免疫力!
Excel表格插入图片怎么排列
阴宅风水水口怎样看,水口解析及风水布局指南
2025年出生泼字取名 揭秘未来命名趋势
医院检查抑郁症需要多少钱?费用详解及治疗建议
加拿大心理医生费用揭秘,几种渠道帮你把价格打下来!
如何确定铝合金窗的价格?价格的确定受哪些因素影响?
以色列丹特因植体全面解析:从材料到价格的全方位介绍
10月后,长寿花要“宠着养”,挪个窝、喝点酒,今年开花稳了
班组长薪资管理制度如何影响班组长的管理能力?
如何准确判断茶叶的品质?从色、香、味等方面解析
如何有效进行坏账账务处理以降低企业财务风险?
医院采购流程详解:从需求分析到后期管理