基于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 产品使用手册
热门推荐
为什么鲁迅做不成周树人
代可可脂巧克力的危害
手机后置镜头自拍,看不见自己咋办?用好这1招,轻松拍背影全身照
什么是燃油泵检查?这些检查方法和维护要点请收好
投资中的数学:标准差在投资决策中的应用
长安汽车与东风汽车整合:汽车国家队重组背后的深层逻辑
急性肾损伤后,如何精准预测肾病进展?最新研究建立关键生物标志物预测模型
细菌感染的五大途径及应对方法
医疗供应中心清洗台推荐|材质选择到自动化操作一次搞定
毛呢大衣什么时候穿?20度可以穿吗?一文详解毛呢大衣穿着指南
29平一字型小户型改造:布局优化与多功能家具的完美结合
车载充气泵维修全攻略:常见故障处理方法及难点解析
防止API密钥泄露的十大最佳实践
感冒能喝酒吗,后果是什么
守护每一公里的安全:揭秘高速公路安全监测解决方案
伊尹:商朝贤相的一生成就与历史评价
儿童权利公约手抄报:了解儿童权益,共建和谐社会
深圳社保卡查询个人账户怎么操作?
王者荣耀云缨连招技巧(云缨到底该怎么玩)
电脑错误代码0×c0000001如何解决
鸡翅13款经典家常烹饪方法
鉴证办理需要的材料
小分子药物靶点鉴定的方法汇总
交通事故索赔需要准备哪些医疗费证据
抑制复发和转移!上海交通大学合作发文:有前景的癌症术后策略
从动画电影《深海》看青少年抑郁症
一文读懂微流控:把生物化学实验室“建”在芯片上的技术
提高PVC树脂老化白度的研究与实践
电脑微信怎么双开?5种方法,登录两个微信!登陆微信小号超简单
打造吸引顾客的店铺描述:实用技巧与生动案例