Banana Pi BPI-R4 开源路由器使用手册--frank
suiw9 2025-01-19 00:00 60 浏览 0 评论
硬件
- 联发科 MT7988A (Filogic 880)
- 内置 MT7530 交换机(1 个 4GBit/s CPU 端口 + 1Gbit/s 用户端口)
- 4G内存
- 8GB eMMC 闪存
- 128MB SPI-NAND 闪存
- 2x SFP+ (10GBit/s USXGMII) 或 1SFP+ 和 2g5 rj45 带 PoE (链接)
- Wifi7 带有附加模块,连接到板底部的 2 个 PCIe 插槽
- BPI-R4-NIC-BE19(未公开出售):MT7996 + MT7975(2.4G)+ MT7977A(6G)+ MT7977B(5G)
- BPI-R4-NIC-BE14:MT7995AV + MT7976CN + MT7977IAN
- 使用 wifi 卡时需要 12V/5A 电源,2A(与其他 BPi 路由器一样)不够
热能
cat /sys/class/thermal/thermal_zone0/temp
使用 lvts 驱动程序
导热垫尺寸:https://forum.banana-pi.org/t/banana-pi-bpi-r4-heatsink-and-case-design/16638/53
测试风扇
默认情况下,第一个跳闸点设置为 40°C,第二个跳闸点设置为 85°C...对于测试风扇,使用无源散热器时温度有点高。因此,只需将第一个设置为 35,将第二个设置为 45。
root@bpi-r4-v11:/sys/class/thermal/thermal_zone0
# cat trip_point_4_temp
40000
root@bpi-r4-v11:/sys/class/thermal/thermal_zone0
# cat trip_point_3_temp
85000
root@bpi-r4-v11:/sys/class/thermal/thermal_zone0
# echo 45000 > trip_point_3_temp
root@bpi-r4-v11:/sys/class/thermal/thermal_zone0
# echo 35000 > trip_point_4_temp
root@bpi-r4-v11:/sys/class/thermal/thermal_zone0
网络
GMAC0(4GBit/s)内部连接到 mt7530 交换机变体,其中 4 个用户端口作为板载 rj45 公开(1xWan、3xLan)。
SFP(+) 笼子连接到 GMAC1 和 GMAC2 的 SerDes 通道,并且可以在 10M/100M/1000M/2500M 的 SGMII/1000Base-X/2500Base-X 模式之间切换(通过 mtk-pcs-lynxi,就像在 MT7622 和 MT7986 上一样)以及 5000M 和 10000M 的 USXGMII/10GBase-KR 模式之间切换。
R4 的 SFP+ 笼支持的接口模式有:SGMII、1000Base-X、2500Base-X、5GBase-R、10GBase-R、USXGMII
因此 1.25Gbps(= 1000Base-X 或 SGMII)和 3.125Gbps(= 2500Base-X)SFP 模块可以与 R4 正常工作。
Sfp 连接
USB-A | SFP1-广域网 | SFP2-局域网 | 4 个 RJ-45 | 12伏 | USB-C |
美国XGMII0 | 美国XGMII1 | 格斯沃 | |||
eth2 | eth1 | eth0 |
点击显示 ?
Forward 10g 应该与 ppe 补丁一起工作,但是输入需要 rss+lro。
https://forum.banana-pi.org/t/bpi-r4-not-getting-full-10gbps-speed-on-wan/18134/30
完整的 10G 需要在 mtk 以太网驱动程序中实现并启用 RSS+LRO(尚未工作):
ethtool -K eth2 lro on #启用 hw_lro
ethtool -k eth2 | grep large
大型接收卸载:开启
iperf3-bidir-c 192.168.90.10
RSS: https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk-openwrt-feeds/+/18f46a84d87308a4f56f9176ca166dc75c38bb20%5E%21/ LRO: https://git01.mediatek.com/plugins/gitiles/openwrt/feeds/mtk-openwrt-feeds/+/ddc366751fad05dade79b09932a999c5d5ae890c%5E%21/#F0
NETSYS:V2 适用于 mt7986 (bpi-r3) V3 适用于 mt7988 (bpi-r4)
Daniel 告诉我,lro 应该通过用户空间启用
ethtool -N $ifname 流类型 tcp4 dst-ip $lan_ip loc 0
无线上网
wifi 是通过主板底部 2 个 mPCIe 插槽中的子板(网络接口卡)实现的。
Wifi 模块需要 12V…v1 使用 sw4 处于开启状态,v0 使用设备树覆盖来启用 WIFI_PWR_EN 调节器。在 mPCIe 插槽中使用不同的卡时,请小心使用此设置!
内核模块:mt7996e.ko
较新的 WiFi 卡具有较少的天线数量(6 个而不是 14 个):
https://forum.banana-pi.org/t/banana-pi-bpi-r4-bpi-be14-wi-fi7-nic-module/17182
较新的卡目前在第三个 wifi 接口(6.8-netnext)上超时,我想我们需要另一个用于 mt7977ia 前端的固件文件
wifi配置(正在进行中未经测试):
Click to hide ?
5GHz
driver=nl80211
logger_syslog=127
logger_syslog_level=2
logger_stdout=127
logger_stdout_level=2
country_code=PT
ieee80211d=1
ieee80211h=1
hw_mode=a
beacon_int=100
channel=acs_survey
tx_queue_data2_burst=2.0
#num_global_macaddr=1
ieee80211n=1
ht_coex=0
ht_capab=[HT40+][LDPC][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1][MAX-AMSDU-7935]
ieee80211ac=1
vht_oper_chwidth=2
vht_oper_centr_freq_seg0_idx=acs_survey
vht_capab=[RXLDPC][SHORT-GI-80][SHORT-GI-160][TX-STBC-2BY1][SU-BEAMFORMER][SU-BEAMFORMEE][MU-BEAMFORMER][MU-BEAMFORMEE][RX-ANTENNA-PATTERN][TX-ANTENNA-PATTERN][RX-STBC-1][SOUNDING-DIMENSION-3][BF-ANTENNA-3][VHT160][MAX-MPDU-11454][MAX-A-MPDU-LEN-EXP7]
ieee80211ax=1
he_oper_chwidth=2
he_oper_centr_freq_seg0_idx=acs_survey
he_su_beamformer=1
he_su_beamformee=1
he_mu_beamformer=1
he_bss_color=128
he_spr_sr_control=3
he_default_pe_duration=4
he_rts_threshold=1023
he_mu_edca_qos_info_param_count=0
he_mu_edca_qos_info_q_ack=0
he_mu_edca_qos_info_queue_request=0
he_mu_edca_qos_info_txop_request=0
he_mu_edca_ac_be_aifsn=8
he_mu_edca_ac_be_aci=0
he_mu_edca_ac_be_ecwmin=9
he_mu_edca_ac_be_ecwmax=10
he_mu_edca_ac_be_timer=255
he_mu_edca_ac_bk_aifsn=15
he_mu_edca_ac_bk_aci=1
he_mu_edca_ac_bk_ecwmin=9
he_mu_edca_ac_bk_ecwmax=10
he_mu_edca_ac_bk_timer=255
he_mu_edca_ac_vi_ecwmin=5
he_mu_edca_ac_vi_ecwmax=7
he_mu_edca_ac_vi_aifsn=5
he_mu_edca_ac_vi_aci=2
he_mu_edca_ac_vi_timer=255
he_mu_edca_ac_vo_aifsn=5
he_mu_edca_ac_vo_aci=3
he_mu_edca_ac_vo_ecwmin=5
he_mu_edca_ac_vo_ecwmax=7
he_mu_edca_ac_vo_timer=255
interface=phy2-ap0
ctrl_interface=/var/run/hostapd
ap_isolate=1
bss_load_update_period=60
chan_util_avg_period=600
disassoc_low_ack=1
skip_inactivity_poll=0
preamble=1
wmm_enabled=1
ignore_broadcast_ssid=0
uapsd_advertisement_enabled=1
utf8_ssid=1
multi_ap=0
sae_require_mfp=1
sae_pwe=2
wpa_passphrase=testtesttest
wpa_psk_file=/var/run/hostapd-phy2-ap0.psk
auth_algs=1
wpa=2
wpa_pairwise=CCMP
ssid=MT7996-233-test-5
bridge=br-lan
wds_bridge=
snoop_iface=br-lan
wpa_disable_eapol_key_retries=0
wpa_key_mgmt=SAE
okc=1
ieee80211w=2
group_mgmt_cipher=AES-128-CMAC
dynamic_vlan=0
vlan_naming=1
vlan_no_bridge=1
vlan_file=/var/run/hostapd-phy2-ap0.vlan
qos_map_set=0,0,2,16,1,1,255,255,18,22,24,38,40,40,44,46,48,56
bssid=fe:9c:48:0a:86:32
#default_macaddr
2.4ghz:
driver=nl80211
logger_syslog=127
logger_syslog_level=2
logger_stdout=127
logger_stdout_level=2
country_code=PT
ieee80211d=1
hw_mode=g
supported_rates=60 90 120 180 240 360 480 540
basic_rates=60 120 240
beacon_int=100
channel=acs_survey
#num_global_macaddr=1
ieee80211n=1
ht_coex=0
ht_capab=[LDPC][SHORT-GI-20][SHORT-GI-40][TX-STBC][RX-STBC1][MAX-AMSDU-7935]
ieee80211ax=1
he_su_beamformer=1
he_su_beamformee=1
he_mu_beamformer=1
he_bss_color=128
he_spr_sr_control=3
he_default_pe_duration=4
he_rts_threshold=1023
he_mu_edca_qos_info_param_count=0
he_mu_edca_qos_info_q_ack=0
he_mu_edca_qos_info_queue_request=0
he_mu_edca_qos_info_txop_request=0
he_mu_edca_ac_be_aifsn=8
he_mu_edca_ac_be_aci=0
he_mu_edca_ac_be_ecwmin=9
he_mu_edca_ac_be_ecwmax=10
he_mu_edca_ac_be_timer=255
he_mu_edca_ac_bk_aifsn=15
he_mu_edca_ac_bk_aci=1
he_mu_edca_ac_bk_ecwmin=9
he_mu_edca_ac_bk_ecwmax=10
he_mu_edca_ac_bk_timer=255
he_mu_edca_ac_vi_ecwmin=5
he_mu_edca_ac_vi_ecwmax=7
he_mu_edca_ac_vi_aifsn=5
he_mu_edca_ac_vi_aci=2
he_mu_edca_ac_vi_timer=255
he_mu_edca_ac_vo_aifsn=5
he_mu_edca_ac_vo_aci=3
he_mu_edca_ac_vo_ecwmin=5
he_mu_edca_ac_vo_ecwmax=7
he_mu_edca_ac_vo_timer=255
interface=phy1-ap0
ctrl_interface=/var/run/hostapd
ap_isolate=1
bss_load_update_period=60
chan_util_avg_period=600
disassoc_low_ack=1
skip_inactivity_poll=0
preamble=1
wmm_enabled=1
ignore_broadcast_ssid=0
uapsd_advertisement_enabled=1
utf8_ssid=1
multi_ap=0
sae_require_mfp=1
sae_pwe=2
wpa_passphrase=testtesttest
wpa_psk_file=/var/run/hostapd-phy1-ap0.psk
auth_algs=1
wpa=2
wpa_pairwise=CCMP
ssid=MT7996-233-test-2.4
bridge=br-lan
wds_bridge=
snoop_iface=br-lan
wpa_disable_eapol_key_retries=0
wpa_key_mgmt=SAE
okc=1
ieee80211w=2
group_mgmt_cipher=AES-128-CMAC
dynamic_vlan=0
vlan_naming=1
vlan_no_bridge=1
vlan_file=/var/run/hostapd-phy1-ap0.vlan
qos_map_set=0,0,2,16,1,1,255,255,18,22,24,38,40,40,44,46,48,56
bssid=fe:9c:48:0a:86:31
#default_macaddr
PCI接口
2x1Lane(M.2 插槽)和 2x2lane。2x2lane 用于 wifi(mPCIe 插槽)。
USB
Sim 插槽
- CN16(M.2 键)– SIM1
- CN12(mPCIE)– SIM2
- CN14(mPCIE)– SIM3
启动开关
一个 | 乙 | |
与非 | 0 | 1 |
嵌入式多媒体卡 | 1 | 0 |
标准差 | 1 | 1 |
向下切换为“1”,因此两者都从 SD 卡启动(v0 两者都从 SD 卡启动)
- down (1),up (0) seems to be nand as this have mtd command
- up(0),down(1) also boots into bpis bootmenu, but i have no mtd command, so i guess this is the emmc
- both down failed
GPIO
通用输入输出
PWM
如何使 pwm6 工作:
https://forum.banana-pi.org/t/bpi-r4-cpu-fan-setup/17362/102
eeprom
BPI-R4 在 i2c-mux 通道 0 上有一个 eeprom
[ 1.515672] at24 2-0057: 256 byte 24c02 EEPROM, writable, 1 bytes/write
写入模式(wp-gpio 连接至绿色 led):
# echo 0 > /sys/devices/platform/gpio-leds/leds/green:status/brightness
root@bpi-r4-v11:~
# echo "test" > /sys/bus/i2c/devices/2-0057/eeprom
root@bpi-r4-v11:~
# hexdump -C /sys/bus/i2c/devices/2-0057/eeprom
00000000 74 65 73 74 0a ff ff ff ff ff ff ff ff ff ff ff |test............|
00000010 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
*
00000100
root@bpi-r4-v11:~
# echo 1 > /sys/devices/platform/gpio-leds/leds/green:status/brightness
root@bpi-r4-v11:~
rtc实时时钟
电池连接看起来像 ml2032 的充电电路。您不应连接 cr2032 等不可充电电池。
https://forum.banana-pi.org/t/bpi-r3-bpi-r4-does-the-bpi-r3-r4-have-a-rtc/17763/36
连接器为 JST,间距为 1.25 毫米
RTC 时间将在软件重启后继续有效
# dmesg | grep rtc
[ 1.479923] rtc-pcf8563 2-0051: low voltage detected, date/time is not reliable.
[ 1.487390] rtc-pcf8563 2-0051: registered as rtc0
[ 1.493378] rtc-pcf8563 2-0051: low voltage detected, date/time is not reliable.
[ 1.500771] rtc-pcf8563 2-0051: hctosys: unable to read the hardware clock
root@bpi-r4-v11:~
# date -s "2024-04-27 09:55 CEST"
Sat Apr 27 07:55:00 UTC 2024
root@bpi-r4-v11:~
# hwclock -w
root@bpi-r4-v11:~
# hwclock -r
2024-04-27 07:56:23.979830+00:00
root@bpi-r4-v11:~
# reboot
...
root@bpi-r4-v11:~
# dmesg | grep rtc
[ 1.480067] rtc-pcf8563 2-0051: registered as rtc0
[ 1.486061] rtc-pcf8563 2-0051: setting system clock to 2024-04-27T07:56:53 )
root@bpi-r4-v11:~
# date
Sat Apr 27 08:00:46 UTC 2024
root@bpi-r4-v11:~
uboot/ATF
目前使用这些:
- uboot: https://github.com/frank-w/u-boot/tree/2024-04-bpi
- ATF: https://github.com/frank-w/u-boot/tree/mtk-atf
并像这样 启动
MT7988> setenv fit 6.5.0-rc1-mt7988.itb
MT7988> setenv kaddr 0x48000000
MT7988> fatload mmc 0:5 ${kaddr} ${fit}
4970220 bytes read in 417 ms (11.4 MiB/s)
MT7988> bootm ${kaddr}
如果未压缩的 kernelimage 小于 32M(14M 的适合大小太大),kaddr 0x46000000 也可以工作
在较新的 u-boot 中,我已将 kaddr 设置为 0x46000000(适合 loadaddr 0x44000000,rdaddr 0x48000000)
使用 mtk_uartboot 工具进行 ram-boot:
https://www.fw-web.de/dokuwiki/doku.php?id=en:bpi-r3mini:start#fix_bricked_boot
bpi-r4_ram.tar.gz
./mtk_uartboot -s /dev/ttyUSB4 --aarch64 --payload bpi-r4_ram_bl2.bin --fip bpi-r4_ram_fip.bin
./mtk_uartboot -s /dev/ttyUSB4 --aarch64 --payload bpi-r4_ram_bl2.bin --fip bpi-r4_ram_fip.bin
mtk_uartboot - 0.1.1
Using serial port: /dev/ttyUSB4
Handshake...
hw code: 0x7988
hw sub code: 0x8a00
hw ver: 0xcb00
sw ver: 0x1
Baud rate set to 460800
sending payload to 0x201000...
Checksum: 0x32ed
Setting baudrate back to 115200
Jumping to 0x201000 in aarch64...
Waiting for BL2. Message below:
==================================
NOTICE: BL2: v2.9(release):v2.9.0-358-g4e064f88b83f ram
NOTICE: BL2: Built : 18:38:51, Jun 11 2024
NOTICE: WDT: Cold boot
NOTICE: WDT: disabled
NOTICE: CPU: MT7988
NOTICE: EMI: Using DDR unknown settings
NOTICE: EMI: Detected DRAM size: 4096 MB
NOTICE: EMI: complex R/W mem test passed
NOTICE: Starting UART download handshake ...
==================================
BL2 UART DL version: 0x10
Baudrate set to: 921600
FIP sent.
==================================
NOTICE: Received FIP 0x4440d @ 0x40400000 ...
==================================
tftp
BPI-R4> setenv bootfile 6.5.0-rc1-mt7988-r4.itb
BPI-R4> run bootnetfit
openwrt 镜像
使用 bin/targets/mediatek/filogic/openwrt-mediatek-filogic-bananapi_bpi-r4-initramfs-recovery.itb
BPI-R4> usb start
BPI-R4> ls usb 0:1 r4
./
../
7929856 openwrt-mediatek-filogic-bananapi_bpi-r4-initramfs-recovery.itb
1 file(s), 2 dir(s)
BPI-R4> fatload usb 0:1 0x50000000 r4/openwrt-mediatek-filogic-bananapi_bpi-r4-initramfs-recovery.itb
7929856 bytes read in 672 ms (11.3 MiB/s)
BPI-R4> bootm 0x50000000#config-mt7988a-bananapi-bpi-r4#mt7988a-bananapi-bpi-r4-sd
要获取 bootconfigs(# 之后),我们可以使用 uboot-tools 中的 dumpimage,请参阅https://www.gibbard.me/linux_fit_images/
debian/ubuntu镜像构建
基本上我有 3 个 github-repos 用于此……
- 我的u-boot repo创建了启动链(atf bl2+uboot fip+partitions+creating base image),因此请在此 ci-pipeline(.github/workflows/build.yaml)和 uboot 分支和 mtk-atf 分支中的 build.sh 中查找详细信息
- 我的kernel-repo(BPI-Router-Linux)包含通过 ci 管道和 build.sh 构建的 Linux 内核
- 我的图像仓库收集了这两个二进制文件(基础图像和内核包),并使用 rootfs 制作了一个完整图像(gdrive 分支中也有 ci 可用)
我的 gdrive 上预建的图像:https://drive.google.com/drive/folders/1A5S7_82Bg4EYxjzdQ5FKyBw9Qi2C3uK-? usp=drive_link
有关 nand 的更多信息和使用 ubi 的信息请参见: https: //gist.github.com/BtbN/9e5878d83816fb49d51d1f76c42d7945
Webgui(驾驶舱): https: //forum.banana-pi.org/t/bpi-r4-sd-debian-bookworm-b ullseye-images-on-kernel-6-8-0-dango/17487/43
Linux的
https://www.kernel.org/doc/html/v6.1/admin-guide/kernel-parameters.html
以太网驱动程序现在使用 36 位寻址,因此不再需要 3GB Ram 限制
核心
https://github.com/frank-w/BPI-Router-Linux/tree/6.6-dango
调试
# mount -t debugfs none /sys/kernel/debug/
# cat /sys/kernel/debug/gpio
# cat /sys/kernel/debug/pinctrl/pinctrl-handles
# cat /sys/kernel/debug/regulator/regulator_summary
# cat /sys/kernel/debug/clk/clk_summary
#enable debug for driver probe
# echo 'file dd.c +p'>/sys/kernel/debug/dynamic_debug/control
# echo 'file core.c +p'>/sys/kernel/debug/dynamic_debug/control
# echo '11230000.mmc' > /sys/bus/platform/drivers/mtk-msdc/unbind
# echo '11230000.mmc' > /sys/bus/platform/drivers/mtk-msdc/bind
interface config
ip link set lan0 up
ip a a 192.168.0.19/24 dev lan0
ip r a default via 192.168.0.10
date -s "2023-08-23 19:37 CEST"
#stats
ip -s link show dev eth2
ethtool -S eth2
DNS needs to be set in /etc/resolv.conf or in systemd like this:
mkdir -p /etc/systemd/resolved.conf.d/
cp /etc/systemd/resolved.conf /etc/systemd/resolved.conf.d/TEST.conf
echo "DNS = 192.168.0.10" >> /etc/systemd/resolved.conf.d/TEST.conf
systemctl restart systemd-resolved.service
modules in initrd:
mount /dev/mmcblk0p6 /mnt
mkdir /lib/modules
mkdir /lib/firmware
mount -o bind /mnt/lib/modules /lib/modules
mount -o bind /mnt/lib/firmware /lib/firmware
modprobe mt7996e
openwrt
upstream
same as for r3
https://forum.banana-pi.org/t/banana-pi-r3-bsp-source-code/14257/2
but select BananaPi BPI-R4 of course :)
i had to do a “make distclean” after “git pull” followed by the documented steps
# Update the feeds
./scripts/feeds update -a
./scripts/feeds install -a
make menuconfig
#select "Target System (MediaTek Ralink ARM)" => "Subtarget (Filogic 8x0 (MT798x))" => "Target Profile (Bananapi BPi-R4)"
make -j$(nproc)
then write the sdcard image…
gunzip -c bin/targets/mediatek/filogic/openwrt-mediatek-filogic-bananapi_bpi-r4-sdcard.img.gz | sudo dd bs=1M status=progress conv=notrunc,fsync of=/dev/sdX
Resize rootfs: https://forum.banana-pi.org/t/bpi-r3-mini-how-to-extend-emmc-overlayfs/17732/43
downstream (sdk)
- clone openwrt master
- add this to feeds.conf.default: “src-git mtksdk https://git01.mediatek.com/openwrt/feeds/mtk-openwrt-feeds”
- scripts/feeds update -f mtksdk
- make menuconfig:
- Target System (MediaTek Ralink ARM)
- Subtarget (Filogic 8×0 (MT798x))
- Target Profile (MediaTek MT7988a nand rfb) #here i see no sd-variant
adding additional options:
CONFIG_PACKAGE_f2fs-tools=y
CONFIG_PACKAGE_e2fsprogs=y
CONFIG_PACKAGE_dosfstools=y
CONFIG_PACKAGE_resize2fs=y
CONFIG_PACKAGE_nano=y
CONFIG_PACKAGE_iperf3=y
#CONFIG_PACKAGE_netcat
CONFIG_PACKAGE_tcpdump=y
CONFIG_BUSYBOX_CUSTOM=y
CONFIG_BUSYBOX_CONFIG_TELNET=y
*-initramfs-kernel.bin is not the production image we’re using. We only use it for testing purpose since it contains rootfs and won’t read the flash.
*-sysupgrade.bin is the actual production image. It’s a tar ball for nand/emmc/sd boards. It contains separate kernel and rootfs that will be written to ubi volume for nand, or the partitions defined for sd/emmc.
tar -xf bin/targets/mediatek/filogic/openwrt-mediatek-filogic-mediatek_mt7988a-rfb-nand-squashfs-sysupgrade.bin sysupgrade-mediatek_mt7988a-rfb-nand/kernel
dumpimage -l sysupgrade-mediatek_mt7988a-rfb-nand/kernel
tftpboot 0x50000000 openwrt-mediatek-filogic-bananapi_bpi-r4-initramfs-recovery.itb
bootm 0x50000000#config-mt7988a-bananapi-bpi-r4#mt7988a-bananapi-bpi-r4-sd
Gentoo
https://gist.github.com/BtbN/9e5878d83816fb49d51d1f76c42d7945
相关推荐
- 10款超实用JavaScript音频库(js播放音频代码)
-
HTML5提供了一种新的音频标签实现和规范用一个简单的HTML对象而无需音频插件来控制音频。这只是一个简单的整合这些新的HTML5音频特征及使用JavaScript来创建各种播放控制。下面将介绍10款...
- PROFINET转Modbus网关——工业协议融合的智能枢纽
-
三格电子SG-PNh750-MOD-221,无缝连接Profinet与Modbus,赋能工业物联产品概述...
- 简单实用的Modbus类库,支持从站和DTU
-
一、简介...
- [西门子PLC] S7-200 SMART PROFINET :通过GSD组态PLC设备
-
从S7-200SMARTV2.5版本开始,S7-200SMART开始支持做PROFINETIO通信的智能设备。从而,两个S7-200SMART之间可以进行PROFINETI...
- Modbus(RTU / TCP)有什么异同(modbus tcp和tcp)
-
Modbus是一种广泛使用的工业自动化通信协议,它支持设备之间的数据交换。Modbus协议有两个主要的变体:ModbusRTU(二进制模式)和ModbusTCP(基于TCP/IP网络的模式)。尽管...
- Modbus通信调试步骤详解(modbus调试工具怎么用)
-
Modbus通信调试步骤详解 Modbus通信分为串口和以太网,无论是串口还是以太网,只要是标准Modbus,就可以用Modbus模拟器进行调试。按以下几步进行调试。...
- 理解Intel手册汇编指令(intel 汇编指令手册)
-
指令格式...
- 「西门子PLC」S7-200 SMART的Modbus RTU通讯
-
S7-200SMART集成的RS485端口(端口0)以及SBCM01RS485/232信号板(端口1)两个通信端口可以同时做MODBUSRTU主站,或者一个做MODBUSRTU主站一个做MO...
- InfiniBand网络运维全指南:从驱动安装到故障排查
-
一、InfiniBand网络概述InfiniBand(直译为“无限带宽”技术,缩写为IB)是一种用于高性能计算的计算机网络通信标准,具有极高的吞吐量和极低的延迟,用于计算机与计算机之间的数据互连。它...
- 一加回归 OPPO,背后的秘密不可告人
-
有这样一个手机品牌,它诞生于互联网品牌。在大众群体看来,它的身世似乎模糊不清,许多人以为它是国外品牌。它的产品定位是极客群体,深受国内发烧友,甚至国外极客玩家喜爱。...
- [西门子PLC] S7-200SMART快速高效的完成Modbus通信程序的设计
-
一、导读Modbus通信是一种被广泛应用的通信协议,在变频器、智能仪表还有其他一些智能设备上都能见到它的身影。本文呢,就把S7-200SMART系列PLC当作Modbus主站,把...
- 狂肝10个月手搓GPU,他们在我的世界中玩起我的世界,梦想成真
-
梦晨衡宇萧箫发自凹非寺量子位|公众号QbitAI自从有人在《我的世界》里用红石电路造出CPU,就流传着一个梗:...
- [西门子PLC] 博途TIA portal SCL编程基础入门:1-点动与自锁
-
一、S7-SCL编程语言简介...
- 工作原理系列之:Modbus(modbus工作过程)
-
MODBUS是一种在自动化工业中广泛应用的高速串行通信协议。该协议是由Modion公司(现在由施耐德电气公司获得)于1979年为自己的可编程逻辑控制器开发的。该协议充当了PLCS和智能自动化设备之间的...
你 发表评论:
欢迎- 一周热门
-
-
Linux:Ubuntu22.04上安装python3.11,简单易上手
-
宝马阿布达比分公司推出独特M4升级套件,整套升级约在20万
-
MATLAB中图片保存的五种方法(一)(matlab中保存图片命令)
-
别再傻傻搞不清楚Workstation Player和Workstation Pro的区别了
-
Linux上使用tinyproxy快速搭建HTTP/HTTPS代理器
-
如何提取、修改、强刷A卡bios a卡刷bios工具
-
Element Plus 的 Dialog 组件实现点击遮罩层不关闭对话框
-
MacOS + AList + 访达,让各种云盘挂载到本地(建议收藏)
-
日本组合“岚”将于2020年12月31日停止团体活动
-
SpringCloud OpenFeign 使用 okhttp 发送 HTTP 请求与 HTTP/2 探索
-
- 最近发表
-
- 10款超实用JavaScript音频库(js播放音频代码)
- Howler.js,一款神奇的 JavaScript 开源网络音频工具库
- PROFINET转Modbus网关——工业协议融合的智能枢纽
- 简单实用的Modbus类库,支持从站和DTU
- [西门子PLC] S7-200 SMART PROFINET :通过GSD组态PLC设备
- Modbus(RTU / TCP)有什么异同(modbus tcp和tcp)
- Modbus通信调试步骤详解(modbus调试工具怎么用)
- 理解Intel手册汇编指令(intel 汇编指令手册)
- 「西门子PLC」S7-200 SMART的Modbus RTU通讯
- InfiniBand网络运维全指南:从驱动安装到故障排查
- 标签列表
-
- dialog.js (57)
- importnew (44)
- windows93网页版 (44)
- yii2框架的优缺点 (45)
- tinyeditor (45)
- qt5.5 (60)
- windowsserver2016镜像下载 (52)
- okhttputils (51)
- android-gif-drawable (53)
- 时间轴插件 (56)
- docker systemd (65)
- slider.js (47)
- android webview缓存 (46)
- pagination.js (59)
- loadjs (62)
- openssl1.0.2 (48)
- velocity模板引擎 (48)
- pcre library (47)
- zabbix微信报警脚本 (63)
- jnetpcap (49)
- pdfrenderer (43)
- fastutil (48)
- uinavigationcontroller (53)
- bitbucket.org (44)
- python websocket-client (47)