跳转到内容
主菜单
主菜单
移至侧栏
隐藏
导航
首页
最近更改
随机页面
MediaWiki帮助
Mcuzone Wiki
搜索
搜索
登录
个人工具
登录
查看“1008 RPi0 to 4B(CAT4 RS485)”的源代码
页面
讨论
大陆简体
阅读
查看源代码
查看历史
工具
工具
移至侧栏
隐藏
操作
阅读
查看源代码
查看历史
常规
链入页面
相关更改
特殊页面
页面信息
←
1008 RPi0 to 4B(CAT4 RS485)
因为以下原因,您没有权限编辑本页:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
== '''关键词''' == 树莓派、 Raspberry Pi Zero、Cat4 4G 、4B、USB2.0-A、以太网、扩展板、USB HUB 集线器、RS485、串口、顶针连接 == '''一、简介''' == 树莓派Zero 2W作为第一代Zero的垂直替换产品,不仅保持了接口类型和接口位置不变,而且大幅升级了CPU,使得总体性能有了2-10倍的提升。而目前3B/3B+/4B缺货比较严重,价格也比较高,所以我们设计了这款Zero 2W转4B形态的扩展板,目的是为了提供4B缺货的替代方案(当然性能和4B还是差很多,另有3B形态的扩展板可选),同时也是作为Zero 2 W的功能扩展。 Zero 2W转4B形态扩展板具备四路USB2.0主机接口,一路USB2.0转干兆以太网(可以跑到300Mbps)。同时还扩展了4G LTE Cat4模组和带隔离的RS485。整个系统采用USB-C供电,扩展板通过镀金顶针和Zero 2连接,提供电源供应和USB2.0扩展,不占用Zero 2W的40pin扩展接口。 带隔离模块的RS485速度可达737Kbps。 == '''二、硬件资源''' == 1. 顶针通讯与供电: pogopin顶针连接,供电和通讯,简洁可靠;不占用树莓派的GPIO引脚; 板载USB Type-C供电接口,可通过此Type-C供电,树莓派Zero无需再供电; 2. CAT4 4G: 4G LTE免驱 3. 千兆以太网 高速以太网实测可达300Mbps; 4. RS485: 采用USB转串口再加外挂带隔离的RS485模块的方案; 自动流控型高速RS485隔离模块,2500V隔离耐压保护; 波特率稳定可靠支持500Kbps,实测高达737000bps传输速率,128个节点; 可作为从机介入RS485总线,也可作为主机,接收处理各从机信息。 == '''三、树莓派系统下使用演示''' == 本文档使用基于树莓派Zero 2W的硬件, 树莓派OS(Raspberry Pi OS with desktop),镜像为2024-07-04-raspios-bookworm-arm64.img.xz。 (若使用树莓派Zero一代系列的板子,只支持32位系统,请注意下载版本。) 树莓派OS下载地址: https://www.raspberrypi.com/software/operating-systems/#raspberry-pi-os-64-bit === 3.1 查看硬件设备 === ==== 3.1.1 查看USB设备 ==== 打开树莓派OS的终端,输入命令<code>lsusb</code>,如下图所示: http://www.mcuzone.com/wiki/1008_RPi0_to_4B/1008_RPi0_to_4B_01.jpg 可以看到系统识别到了USB HUB和4G模组等外设。其中: Device 002:外挂USB Hub; Device 003:USB转RS485; Device 004:外挂USB Hub; Device 005:USB转千兆网卡; Device 006:USB2.0-A接口; Device 007:USB2.0-A接口; Device 008:4G模组; Device 009:USB2.0-A接口; Device 011:USB2.0-A接口。 如果系统卡在树莓派logo处无法启动: http://www.mcuzone.com/wiki/0007_Zero_4G_Cat1/0007_Zero_4G_Cat1_58.jpg 或者启动后键盘鼠标及4G模组都无法使用,请仔细观察顶针是否对准了镀金触点,并请在PC端打开TF卡系统分区根目录下的config.txt检查USB的初始化脚本: http://www.mcuzone.com/wiki/0007_Zero_4G_Cat1/0007_Zero_4G_Cat1_41.jpg 需要确认下图中的三处红框的位置是否都配置成完全,如果没有,请手动添加完整并保存文件: <code># otg_mode=1</code>(建议按此注释掉) <code>dtoverlay=dwc2,dr_mode=host</code>(两处必须确保加上) http://www.mcuzone.com/wiki/0007_Zero_4G_Cat1/0007_Zero_4G_Cat1_57.jpg ==== 3.1.2 查看网络设备 ==== 打开树莓派OS的终端,输入命令<code>ifconfig -a</code>,如下图所示: http://www.mcuzone.com/wiki/1008_RPi0_to_4B/1008_RPi0_to_4B_02.jpg 可以看到eth0为USB转千兆以太网,eth1为Cat4 4G,wlan0为Zero 2W的无线网卡。 为了操作方便,建议使用PC端的SSH软件连接系统并进行终端操作,我们使用与树莓派的无线网卡的IP地址在同一网段内的PC,通过MobaXterm进行连接: http://www.mcuzone.com/wiki/1008_RPi0_to_4B/1008_RPi0_to_4B_03.jpg 连接后,大部分操作都可以通过PC端的MobaXterm进行,使得整套硬件系统可以脱离显示器运作。以下测试操作将通过MobaXterm在PC端进行演示。 === 3.2 测试网络设备 === ==== 3.2.1 ping包测试 ==== 测试的时候有优先级,优先级可以通过可以执行<code>route</code>命令来查看,哪个网卡的metric值小就从优先从哪个网卡通讯,如有内外网特殊优先级需要请调整各网络的metric值以及DNS服务器设置。 http://www.mcuzone.com/wiki/1008_RPi0_to_4B/1008_RPi0_to_4B_04.jpg 可以用-I参数指定从哪个网卡开始ping包,如下所示: <code>ping www.mcuzone.com -I eth0</code> <code>ping www.mcuzone.com -I eth1</code> <code>ping www.mcuzone.com -I wlan0</code> http://www.mcuzone.com/wiki/1008_RPi0_to_4B/1008_RPi0_to_4B_05.jpg 我们也可以通过关闭某个网卡,达到强制指定通过另一个网络进行通讯,如需关闭eth0,可执行下面的命令: <code>sudo ifconfig eth0 down</code> 以及通过执行下面的命令来开启eth0: <code>sudo ifconfig eth0 up</code> ==== 3.2.2 设置网卡优先级与指定DNS服务器 ==== 关于该部分的知识,可参阅以下链接: [[1001 RPi0 4G Cat1-ETH(百兆网络 4G Cat1 USB2.0-A 485版本可选)#4.2.2 网卡优先级的设置|1. 设置网卡优先级]] [[1001 RPi0 4G Cat1-ETH(百兆网络 4G Cat1 USB2.0-A 485版本可选)#4.2.3 利用udhcpc指定DNS服务器|2. 利用udhcpc指定DNS服务器]] [[1001 RPi0 4G Cat1-ETH(百兆网络 4G Cat1 USB2.0-A 485版本可选)#4.2.4 udhcpc应用场景举例|3. udhcpc应用场景举例]] 建议通过udhcpc软件,而不是编辑resolv.conf文件来指定DNS服务器,这样会比较稳定。 ==== 3.2.3 固定MAC地址 ==== 千兆网口为RTL8153网卡,在使用过程中的MAC地址是不固定的,每次重新上电后MAC地址都会随机改变。下面讲解如何为RTL8153网卡设置固定MAC地址。 本讲解也适用于Ubuntu系统。 首先在树莓派终端中,执行<code>ifconfig -a</code>,查看RTL8153网卡的识别信息,之前已经确认RTL8153网卡的识别名称为eth0。 然后输入: <code>sudo mousepad /etc/systemd/system/macspoof@eth0.service</code> 或: <code>sudo nano /etc/systemd/system/macspoof@eth0.service</code> eth0为上面显示的网卡识别名称。 运行上面的命令后会新建一个文档,输入以下文本: [<code>Unit]</code> <code>Description=MAC Address Change %I</code> <code>Wants=network-pre.target</code> <code>Before=network-pre.target</code> <code>BindsTo=sys-subsystem-net-devices-%i.device</code> <code>After=sys-subsystem-net-devices-%i.device</code> <code>[Service]</code> <code>Type=oneshot</code> <code>ExecStart=/usr/bin/ip link set dev %i address xx:xx:xx:xx:xx:xx</code> <code>ExecStart=/usr/bin/ip link set dev %i up</code> <code>[Install]</code> <code>WantedBy=multi-user.target</code> 其中“xx:xx:xx:xx:xx:xx”为想要指定的MAC地址,可以按MAC地址格式自行确定(不要和其它网络设备重复),例如这里我们改为“e6:b8:37:f7:22:93”。设置完成后保存并退出。 随后输入下面的命令使能服务: <code>sudo systemctl enable macspoof@eth0.service</code> 这样就完成了对eth0的固定MAC地址。 全部操作完毕后重启系统,系统重启完毕后,执行<code>ipconfig -a</code>即可看到MAC地址更改成功: http://www.mcuzone.com/wiki/1008_RPi0_to_4B/1008_RPi0_to_4B_06.jpg 这样即使重新上电,MAC地址也不会改变了。 ==== 3.2.4 iperf3测速 ==== Windows版iperf3下载: http://www.mcuzone.com/down/Software.asp?ID=10000634 Linux下iperf3安装: <code>sudo apt-get install iperf3</code> 千兆以太网测速结果,client模式282Mbps左右: http://www.mcuzone.com/wiki/1008_RPi0_to_4B/1008_RPi0_to_4B_07.jpg server模式270Mbps左右: http://www.mcuzone.com/wiki/1008_RPi0_to_4B/1008_RPi0_to_4B_08.jpg '''''注意:USB转百兆有线受Zero 2W性能和USB Hub以及Cat4 4G带宽占用影响并不能跑满,请知悉。''''' ==== 3.2.5 4G网络测速 ==== 因为Zero 2W性能限制,在其上运行Chromeium等浏览器进行网页测速时,系统运行会非常慢,因此我们使用轻量浏览器surf进行测速。 安装轻量浏览器surf: <code>sudo apt install surf</code> 然后关闭WiFi,拔掉网线,只剩下4G网络连接,进入<nowiki/>https://test.ustc.edu.cn/<nowiki/>进行测速。在树莓派终端中运行 <code>surf <nowiki>https://test.ustc.edu.cn</nowiki></code> 结果如下: http://www.mcuzone.com/wiki/1008_RPi0_to_4B/1008_RPi0_to_4B_09.jpg '''''注意:网络测速受网络环境和测试方法影响,速度请以实际为准,本测试仅供参考。''''' === 3.3 AT命令演示 === ==== 3.3.1 打开AT命令串口方法 ==== 在树莓派下要对4G进行AT命令操作,首先要打开AT命令串口,打开方法如下: 首先打开ttyUSB串口: 输入命令<code>lsusb</code>,如下图所示: http://www.mcuzone.com/wiki/1008_RPi0_to_4B/1008_RPi0_to_4B_10.jpg 记下4G模块的ID值:1286 4e3d 使用下列命令打开ttyUSB串口,其中echo后面的值就是上面记录的ID值: <code>sudo modprobe option</code> <code>sudo sh -c 'echo 1286 4e3d > /sys/bus/usb-serial/drivers/option1/new_id'</code> http://www.mcuzone.com/wiki/1008_RPi0_to_4B/1008_RPi0_to_4B_11.jpg 执行上述两条命令之后执行: <code>ls /dev</code> 此时应该能看到dev设备下有ttyUSB0-3四个设备: http://www.mcuzone.com/wiki/1008_RPi0_to_4B/1008_RPi0_to_4B_12.jpg ==== 3.3.2 执行AT命令 ==== 通过minicom打开AT命令串口: <code>sudo minicom -D /dev/ttyUSB2</code> (注意:使用哪个串口,应以在进入此串口后,可输入运行AT命令,显示不乱码,不乱跳结果为准) 也可以安装CuteCom: <code>sudo apt install cutecom</code> 下面以CuteCom为例,打开CuteCom: <code>sudo cutecom</code> 如果需要查看回显,请键入命令:<code>ate1</code>,然后回车,继续键入其它命令,回车可以看到结果。 用AT+CPIN?来检查SIM是否正常插入并识别; 用AT+CSQ来检查信号强度,第一个值是0-31,需要25以上才算信号质量良好; 用AT+COPS?来检查注网情况,双引号内是运营商代码,最后一个数字是网络模式,7代表4G。 http://www.mcuzone.com/wiki/1008_RPi0_to_4B/1008_RPi0_to_4B_13.jpg 常用AT命令: 1) 检查SIM卡是否识别到: <code>at+cpin?</code> 返回ready表示卡已识别,返回error要检查硬件 2) 检查天线信号质量: <code>at+csq</code> 返回值在26-31表示信号OK,信号满格31;返回值在20-25表示信号勉勉强强;返回值在20以下表示信号比较糟糕或者天线没接 3) 检查注网情况: <code>at+cops?</code> 正常应该返回运营商代码和7,7代表4G 注意,以上命令只有<code>at+csq</code>不要加问号,另外两条命令需要加问号。 4) 查看4G模块的IMEI码: <code>at+cgsn</code> 5) 重启4G模块(有时候如果重插SIM卡,热插拔不一定管用,可以用这个reset命令来复位模块): <code>at+reset</code> 6) 关闭射频: <code>at+cfun=0</code> 开启射频: <code>at+cfun=1</code> 上述两条命令成对使用,可以在不重启4G模组的情况下让模组重新注网。 === 3.4 RS485串口测试 ===
本页使用的模板:
模板:联系我们 图标
(
查看源代码
)
返回
1008 RPi0 to 4B(CAT4 RS485)
。
开关有限宽度模式