基于STC单片机串口扩展网络通信的应用

基于STC单片机串口扩展网络通信的应用

郑贤亨 金建强
浙江省江山江汇电气有限公司
关建词 单片机 c语言 ch9121 网络通信 通信协议

近几年,随着网络物联网的流行,物联网产品也有层出不穷。笔者之前开发过一款无线联接的温湿度控制器系统,在开关柜内进行数据采集与服务器传输、APP软件可以实时监测柜中的温湿度数据。在上面的项目中,我们主要负责电路硬件的设计,与USR模块接口,编写下位机主机程序,协同服务器端接收协议数据发送等。服务器端与APP程序的开发测由我们兄弟单位开发并一起共同调试成功。本文主要利用江苏国芯科技的STC8G1K08单片机与江苏沁恒的CH9121主控进行局域网通信。
本主要介绍STC8G1K08单片机串口扩展有线网络接口,对基本电路硬结构不作详细介绍,有兴趣的可以去看《AM2120单总线温湿度传感器的移植与应用》一文。
费话少说进入我们的主题,串口转网络模块在某宝不算贵如下图:

在这里插入图片描述
在这里插入图片描述

把模块的RXD TXD GND 5V分别与单片机主设备的TXD RXD GND 5V线脚分别相连接.如图
在这里插入图片描述

并且用网线将模块网口接入路由器,或直接与电脑的网口相连接。接下来自定义一个8BYTE通信协议:识别码1BYTE 数据码5BYTE 和校验码 2BYTE 例如:(hex格式)bb 00 07 00 01 00 00 08 ,下位机收到数据后解析成功,返回 OK字样,并送出采样到的温度与湿度的实时数据。
下位机通信主要函如

//函数:uart1-TxByte(unsigned char dat) //发送一个字节数据

void Uart1_TxByte(unsigned char dat)
{
B_TX1_Busy = 1; //标志发送忙
SBUF = dat; //发一个字节
while(B_TX1_Busy); //等待发送完成
}

//函数: void UART1_int (void) interrupt UART1_VECTOR
// 描述: 串口1中断函数

void UART1_int (void) interrupt UART1_VECTOR
{
static unsigned char num=0;
if(RI)
{
RI = 0;
Rxd_Buffer[num]=SBUF;
if(Rxd_Buffer[0]==0xBB) //带首字节识别,这里BB为数据与bb为等值
{
num++;
if(num>=RX_Lenth)
{ num=0; flag=1;}
}
}

if(TI)
{
	TI = 0;
	B_TX1_Busy = 0;
}

}

// 函数: analysis()
// 描述: 收到数据组的进一步解析,要满足前面提到的要求:第2,3,4,5 , 6字节//的和等于第7,8字节

void analysis()
{
unsigned char j;
if(flag1)
{
ES=0;
flag=0;
j=Rxd_Buffer[1]+ Rxd_Buffer[2]+Rxd_Buffer[3]+Rxd_Buffer[4]+Rxd_Buffer[5];
if((Rxd_Buffer[6]*256+Rxd_Buffer[7])j)
{
m=3;
}
else
{m=0;}
ES=1;
if(m
3)
{
Uart1_TxByte(‘O’);
Uart1_TxByte(‘K’);
Uart1_TxByte(’!’);
Uart1_TxByte(’\n’);
}
if(m
0)
{
Uart1_TxByte(‘e’);
Uart1_TxByte(‘r’);
Uart1_TxByte(‘r’);
Uart1_TxByte(’!’);
Uart1_TxByte(’\n’);
}
}
}
Anysis()函数必须在主函数中进行调用,以上均为协议接收数据程序。解析成功返回OK字样。
接下来开始利用官网提供的模块配置软件netmoduleconfig将模块上电获取出厂原始参数,并配置为TCP client
设备IP:192.168.0.200子网掩码:255.255.255.0 网关地址:192.168.0.1与通信的路由器、电脑在同一网段如图
在这里插入图片描述

目的端口:1000 //目的IP(TCPSERVER)192.168.0.100//串口波特率用9600//数据位8等。
在电脑侧网络配置:
在这里插入图片描述

再进一步打开串口调试助手,建立服务器如图:在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

最后,我们可以看出,服务器端网络调试助手通过网线联接(路由)到CH9121的客户端,再由客户端串口与到单片机串口之间的数据交互。满足协议要求数据下发,单片机把温湿度数据返回服务端,从而
实现产品网络通信扩展与应用。

参考资料文档
1、江苏国芯科技有限公司《STC8G系列单片机技术参考手册-20200529》
2、周立功等 《单片机实验与实践教程3》
3、《JZ-NET-232使用技术文档》

  • 16
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
可将 TTL串口设备连接至以太网 业界首款全双工、不间断、低成本服务器 支持TCP服务器、TCP客户端、UDP模式 支持虚拟串口、Web登录或使用VirCom进行配置 ZLSN3002 概述 ZLSN3002一端提供4针的接口(分别为串口RXD、TXD、VCC、GND),另一端提供以太网RJ45接口。通过ZLSN3002,用户只需要通过4针接口和ZLSN3002连接即可实现嵌入式设备联网,不比修改用户PCB电路板。串口电平为TTL电平。ZLSN3002具有全双工、不间断发送的功能(115200波特率下,双向不间断同时传输大批量数据而不丢失一字节),具有稳定的性能和适中的价格。 特点 通过内嵌Web服务器可配置其网络参数、串口参数、登录口令等。 Web服务器支持密码登录,以防止随意修改。 支持跨网关:能够将串口服务器和任何Internet上有公网IP的主机连接。 支持1200~460800波特率。 支持9位数据发送功能:第9位可以为无、奇校验、偶校验、1、0,五种方式方便在485通信中区分数据帧和地址帧。 ZLVirCom配置工具可在网络上自动寻找NETCOM设备联网服务器。 支持虚拟串口。 支持数据写保护,防止随意篡改。 支持默认配置启动。 LINK引脚连接指示。 硬件流控CTS/RTS。 1KV网络浪涌保护。 规格 网络界面 以太网 10/100 Mbps,RJ45 保护 内建2KV电磁隔离 串口界面 界面 TTL电平串口 串口数 1 校验位 None, Even, Odd, Space, Mark 数据位 5~9 停止位 1,2 流控 RTS/CTS,DTR/DCR,XON/XOFF 速率 1200bps~460800bps 软件特性 协议 TCP,HTTP,UDP,ICMP,ARP,IP,DNS,DHCP 虚拟串口平台 Windows 98/2000/XP/WIN7/WIN8 配置方式 Web浏览器、卓岚ZLVirCom、串口类AT命令 电器特性 电压输入 DC5V,小于100mA 机械特性 尺寸 长×宽=4.3cm×5.5cm 工作环境 工作温度,湿度 -45~85℃,5~95% RH 储存温度,湿度 -45~165℃,5~95% RH 上海卓岚信息科技有限公司 W

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值