工作模式


通过串口服务器,采集到天平的称量值发送到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 产品使用手册

基于TCP/IP实现串口到网络的通讯转换相关推荐

  1. Linux网络编程——基于tcp/ip的模拟聊天(文件传输)工具

    开发平台:Linux 开发工具:Ubuntu, sourceInsight4.0 项目介绍: 本项目基于TCP/IP协议创建一个网络通信系统,可以实现客户之间的聊天通信以及文件传输,同时利用进程实现多 ...

  2. 【网络编程】基于TCP/IP协议的C/S模型

    相关视频--C3程序猿-windows网络编程:第一部分tcp/ip 我的小站--半生瓜のblog 基于TCP/IP协议的C/S模型 基于TCP/IP协议的C/S模型 TCP/IP协议 Client/ ...

  3. 基于TCP/IP协议的网络摄像头的QT项目

    目录 项目简述: 1.服务器 步骤一:首先搭建一个基本的服务器框架. 1.初始化服务器的函数主体 2.等待连接 步骤二:数据库的使用,本次项目使用的Sqlite3数据库 1.数据库初始化 2.登录时使 ...

  4. 基于TCP/IP网络的管理结构和标记

    组织:中国互动出版网( http://www.china-pub.com/) RFC文档中文翻译计划( http://www.china-pub.com/compters/emook/aboutemo ...

  5. RFC1155基于TCP/IP网络的管理结构和标记

    组织:中国互动出版网(http://www.china-pub.com/) RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook ...

  6. JAVA Socket 底层是怎样基于TCP/IP 实现的???

    首先必须明确:TCP/IP模型中有四层结构:       应用层(Application Layer).传输层(Transport  Layer).网络层(Internet Layer  ).链路层( ...

  7. 打印服务器协议,基于TCP/IP协议的嵌入式网络打印服务器设计

    摘要: 随着电子技术和计算机网络技术的发展,嵌入式系统在家庭和工业的各个领域都得到了广泛的应用,各种信息家电,网络设备以及工业控制领域都出现了嵌入式系统的身影,其数量已经远远超过了各种通用计算机.但是 ...

  8. java: java mina ——基于TCP/IP、UDP/IP协议栈的通信框架

    Apache Mina Server 是一个网络通信应用框架,也就是说,它主要是对基于TCP/IP.UDP/IP协议栈的通信框架(当然,也可以提供JAVA 对象的序列化服务.虚拟机管道通信服务等),M ...

  9. 基于TCP/IP协议 区别 GET和POST

    基于TCP/IP协议讲解GET和POST的区别(转载于博客园) 在我大万维网世界中,TCP就像汽车,我们用TCP来运输数据,它很可靠,从来不会发生丢件少件的现象.但是如果路上跑的全是看起来一模一样的汽 ...

  10. 基于TCP/IP协议的物联网安卓应用开发基础教程(Android Studio开发)

    [华为云IOT物联网论坛外部版主:中华小能能] 第0章 简介 大家好,在上上上期发布的教程中,教大家如何利用Android Studio开发出一款接入华为云物联网平台并调用相关API完成设备属性查询. ...

最新文章

  1. VSTO Office二次开发PPTRibbonX命令操作及对象添加
  2. Python常用网页字符串处理技巧
  3. 创建mini Linux
  4. 来看看CDN网络安全防护的方案
  5. 图像工程CH4 频域图像增强
  6. 自己实现一些JQuery插件-----------------------------------(一)
  7. Hybris UI的Route(路由)实现
  8. 中科大镜像源_JETPACK4.4安装软件和备份镜像的方法介绍
  9. mysql系统自带示例数据库_MySQL系统自带的数据库information schema
  10. 大数据时代下,App数据隐私安全你真的了解么?
  11. 连续两年入选Gartner公共云容器,阿里云在边缘容器方面做了什么?
  12. 我要带徒弟学JAVA架构 ( 写架构,非用架构 )
  13. 全绿色版影视电影小程序源码-提供苹果CMS接口
  14. baidu__git_android
  15. 创维机顶盒E900刷LinuxNas系统
  16. iPhone手机上最不起眼的5款APP,用过的人都赞不绝口!
  17. ASDM的网管的环境搭建
  18. 首家新三板上市区块链公司:他们提供面向政务、商务、公众等解决方案
  19. 给ssh服务添加谷歌双重认证
  20. 关于vue ui启动没反应问题

热门文章

  1. OSChina 周四乱弹 —— 你从小继承了程序员基因
  2. 除了深度学习,你需要知道AI技术的23个方向
  3. 实在智能收获机器之心权威认证,展现头部RPA厂商强劲实力
  4. OSX 安装MongoDB
  5. 软件工程师的衰落与程序员的崛起
  6. 隐藏窗口的任务栏图标
  7. Linux(Ubuntu)菜单栏(工具栏)隐藏了,怎么显示出来
  8. 计算机软件考试难,计算机技术与软件专业技术资格考试难吗
  9. 在线编辑word文档
  10. DTcms-【无限级别分类设计】