1609|3

162

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

【米尔MYX-1028X】(四)网络通讯Demo [复制链接]

【米尔MYX-1028X】(四)网络通讯Demo

一、网络通讯功能

1.1案例功能  Demo应用来源于创龙科技

本案例主要实现客户端(client)与服务端(server)的文本数据相互收发功能。本案例包含

4 个程序: 

(1) tl_tcp_server:TCP 服务端测试程序。 

(2) tl_tcp_client:TCP 客户端测试程序。 

(3) tl_udp_server:UDP 服务端测试程序。 

(4) tl_udp_client:UDP 客户端测试程序。

程序工作流程框图如下:

 

TCP通信

 

UDP通信

服务端和客户端程序均可在评估板、PC 机 Ubuntu 系统上运行。

二、评估板网络配置

2.1、评估板重启后网络配置也会被重置,在ubuntu软件评估指南当中有详细的配置方法。

2.2、以太网 Ethernet

Linux 下网络配置的工具很多,常见的有 net-tools, iproute2,systemd-networkd,

network manager 以及 connman 等,这些都可以在系统定制的时候根据实际需要进行 选择,这里介绍几种常用的以太网手动临时配置和自动永久配置方式。

1) 手动临时配置以太网 IP 地址

l 使用 net-tools 工具包中的 ifconfig 对网络进行手动配置

首先通过通过 ifconfig 命令查看网络设备信息如下:

root@localhost:~# ifconfig eno0

eno0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500

inet 192.168.40.100 netmask 255.255.255.0 broadcast 192.168.40.255

ether fc:69:47:33:a5:65 txqueuelen 1000 (Ethernet)

RX packets 0 bytes 0 (0.0 B)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 0 bytes 0 (0.0 B)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

eno0 为实际的以太网设备.

下面介绍给 eno0 手动配置 IP 地址 192.168.40.100 的方法,命令如下:

root@localhost:~# ifconfig eno0 192.168.40.100 netmask 255.255.255.0 up root@localhost:~# route add default gw 192.168.40.1

上面的命令手动配置 eno0 的 IP 地址为 192.168.40.100, 子网掩码为 255.255.255.0, 以及默认配置的广播地址 192.168.40.255,并通过 up 参数进行激活,如下所示:

eno0 Link encap:Ethernet HWaddr 06:B7:A8:13:FF:64

inet addr:192.168.1.100 Bcast:192.168.1.255 Mask:255.255.255.0

UP BROADCAST MULTICAST MTU:1500 Metric:1

RX packets:0 errors:0 dropped:0 overruns:0 frame:0

TX packets:0 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

使用 iproute2 工具包中的 ip 命令对网络进行手动配置

ifconfig 命令手动设置 IP 地址的方法也可以使用 ip addr 和 ip link 进行替代,更多 的信息请查看 https://wiki.linuxfoundation.org/networking/iproute2 中的说明。

root@localhost:~# ip addr flush dev eno0

root@localhost:~# ip addr add 192.168.40.101/24 brd + dev eno0

root@localhost:~# route add default gw 192.168.40.1

root@localhost:~# ip link set eno0 up 

如果之前已经配置过 IP 地址,再使用 ip addr add 配置的 IP 地址将会成为 Secondary 地址,所以这里先使用 ip addr flush 清除之前的地址之后再进行配置然后激 活。完成配置之后,通过 ip addr show 命令查看 eno0 信息如下:

root@localhost:~# ip addr show eno0

2: eno0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state

DOWN group default qlen 1000

link/ether fc:69:47:33:a5:65 brd ff:ff:ff:ff:ff:ff

inet 192.168.40.101/24 brd 192.168.40.255 scope global eno0

valid_lft forever preferred_lft forever

DNS 设置

根据以上配置完成之后,暂时还不能连外网,可以就临时网络设置一个 DNS,编辑 /etc/resolv.conf 文件,添加下面内容:

nameserver 114.114.114.114

nameserver 8.8.8.8

l PING 测试

使用 PING 命令测试网络连通性:

root@localhost:~# ping www.baidu.com

PING www.a.shifen.com (110.242.68.4) 56(84) bytes of data.

64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=1 ttl=53 time=28.0 ms

64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=2 ttl=53 time=29.1 ms

64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=3 ttl=53 time=27.5 ms

64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=4 ttl=53 time=27.8 ms

64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=5 ttl=53 time=29.2 ms

64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=6 ttl=53 time=27.7 ms

64 bytes from 110.242.68.4 (110.242.68.4): icmp_seq=7 ttl=53 time=27.4 ms

^C --- www.a.shifen.com ping statistics ---

7 packets transmitted, 7 received, 0% packet loss, time 6004ms rtt min/avg/max/mdev = 27.442/28.143/29.221/0.695 ms

 

2) 自动永久配置以太网 IP 地址

通过 ifconfig 命令和 ip 命令配置的 IP 地址断电之后就会丢失,如果需要使 IP 地址永 久生效,就需要修改网络管理工具相应的配置文件。 MYD-J1028Xubuntu 可以使用 netplan 管理网络,这里介绍如何配置静态 ip 地址。

l 创建配置文件

进入 etc/netplan 目录,创建 netplan 配置文件如下:

root@localhost:~# cat /etc/netplan/99_config.yaml

network:

version: 2

renderer: networkd

ethernets:

eno0:

addresses: [192.168.2.105/24]

gateway4: 192.168.2.1

dhcp4: no

nameservers: search: [mydomain, otherdomain]

addresses: [10.10.10.1, 114.114.114.114]

使能 netplan

修改完配置文件后,执行下面命令使能 netplan:

root@localhost:~# netplan apply

修改完成后保存文件,然后退出编辑模式。

然后重启开发板,进入系统后可以看到上面设置的静态 IP。

root@localhost:~# ifconfig eno0

eno0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500

inet 192.168.2.105 netmask 255.255.255.0 broadcast 192.168.2.255

inet6 fe80::fe69:47ff:fe33:a565 prefixlen 64 scopeid 0x20

ether fc:69:47:33:a5:65 txqueuelen 1000 (Ethernet)

RX packets 26 bytes 2832 (2.8 KB)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 31 bytes 2537 (2.5 KB)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

三、Demo实际测试

(1)tl_tcp_server:TCP 服务端测试程序。 

程序编译直接使用make编译即可,因为demo程序有Makefile文件

 

 

  1. tl_tcp_client:TCP 客户端测试程序。 

 

 

  1. tl_udp_server:UDP 服务端测试程序。 

 

 

 

(4) tl_udp_client:UDP 客户端测试程序。

 

 

   

 

四、Demo工程文件

tcp_udp_demos.rar (69.66 KB, 下载次数: 0)

此帖出自NXP MCU论坛

最新回复

感谢分享   详情 回复 发表于 2022-9-18 10:40
点赞(1) 关注
 

回复
举报

6107

帖子

4

TA的资源

版主

沙发
 

谢谢分享

此帖出自NXP MCU论坛
 
 
 

回复

7244

帖子

2

TA的资源

版主

板凳
 

教程写的挺好的!

此帖出自NXP MCU论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

4
 

感谢分享

此帖出自NXP MCU论坛
 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/6 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表