第一部分:MOXA设备连接与网络配置标准操作流程 (SOP)
这个SOP将指导你从零开始,稳定地连接到MOXA设备,并为其配置好可以访问互联网的网络。
前提条件
- 硬件:你的Mac电脑、MOXA设备、电源、一根网线、一个USB-C转以太网的转接头。
- 信息:MOXA设备重置后的默认IP为
192.168.3.127
(eth0) 或192.168.4.127
(eth1)。
Phase 1: 物理连接与本地网络建立 (5分钟)
目标:让你的Mac和MOXA能互相"看到"。
- 物理连接:
- 用网线连接Mac的以太网转接头和MOXA的一个网络端口(可以是
eth0
或eth1
)。 - 确保MOXA已通电。
- 重置MOXA (如果需要):
- 找到MOXA设备上的
FN
或Reset
按钮。 - 按住7-9秒,直到
USR
LED灯由闪烁变为常亮,然后松开。 - 耐心等待2分钟,让设备完全重启。
- 配置Mac网络接口:
- 在Mac上打开终端。
- 执行
ifconfig
查看网络接口名称。 - 先尝试
192.168.3.x
网段:
# 假设你的转接头是en7,如果不是,请替换为正确的接口名 sudo ifconfig en7 192.168.3.100 netmask 255.255.255.0
- 验证本地连接:
- 执行
ping
命令,看是否能找到MOXA: - 如果成功 (
64 bytes from...
): 恭喜!本地网络已建立。按Ctrl+C
停止ping
。 - 如果失败 (
Request timeout...
): - 检查网线和转接头是否插好。
- 尝试连接MOXA的另一个网口。
- 切换到另一个网段,重复步骤3和4:
ping 192.168.3.127
sudo ifconfig en7 192.168.4.100 netmask 255.255.255.0 ping 192.168.4.127
- 远程登录MOXA:
- 一旦
ping
通,立即使用SSH登录: - 密码通常是
moxa
。
# 假设MOXA的IP是 192.168.4.127 ssh moxa@192.168.4.127
Phase 2: 为MOXA配置互联网访问 (5分钟)
目标:让MOXA能通过你的Mac电脑上网,以便安装软件。
- 在Mac上启用网络转发:
- 在你的Mac电脑上打开一个新的终端窗口。
- 执行以下三条命令,这会把你电脑的Wi-Fi网络共享给通过网线连接的设备。
# 1. 开启IP转发功能 sudo sysctl -w net.inet.ip.forwarding=1 # 2. 设置网络地址转换(NAT)规则 # 注意:这里的网段必须和你之前配置的网段一致! # 如果使用192.168.3.x网段: sudo pfctl -f /dev/stdin <<EOF nat on en0 from 192.168.3.0/24 to any -> (en0) pass out on en0 from 192.168.3.0/24 to any keep state EOF # 如果使用192.168.4.x网段: sudo pfctl -f /dev/stdin <<EOF nat on en0 from 192.168.4.0/24 to any -> (en0) pass out on en0 from 192.168.4.0/24 to any keep state EOF # 3. 启用防火墙规则 sudo pfctl -e
- 关键步骤:确定MOXA使用的网络接口:
- 在MOXA上执行以下命令,查看实际使用的网络接口:
- 查找状态为
UP
且有IP地址的接口。常见情况: - 如果看到
eth0: <BROADCAST,MULTICAST,UP,LOWER_UP>
并且有IP192.168.3.127
,则使用eth0
- 如果看到
eth1: <BROADCAST,MULTICAST,UP,LOWER_UP>
并且有IP192.168.4.127
,则使用eth1
- 重要:如果某个接口显示
NO-CARRIER
或state DOWN
,说明该接口没有网线连接
ip addr show
- 在MOXA上设置网关:
- 回到你已经SSH登录到MOXA的那个终端窗口。
- 根据实际的网络接口设置网关:
# 先删除可能存在的默认路由 sudo ip route del default # 如果使用eth0接口和192.168.3.x网段: sudo ip route add default via 192.168.3.100 dev eth0 # 如果使用eth1接口和192.168.4.x网段: sudo ip route add default via 192.168.4.100 dev eth1
- 在MOXA上验证互联网连接:
- 现在,在MOXA上尝试
ping
一个公共服务器: - 如果成功: 完美!MOXA现在可以上网了。
- 如果失败 (
Network is unreachable
): - 重新检查
ip addr show
的输出,确认使用了正确的网络接口 - 确认Mac上的网段和MOXA上设置的网关IP是否匹配
- 检查Mac的系统防火墙是否阻止了连接
ping -c 3 8.8.8.8
第二部分:在MOXA上安装Python及部署应用
现在你已经有了一个可以上网的MOXA环境,接下来就是安装你的应用了。
Step 1: 更新软件源并安装Python
既然网络已经通了,
apt-get
就可以工作了。- 更新软件包列表:
- 这是非常重要的一步,它会从Debian服务器下载最新的软件信息。
sudo apt-get update
- 安装Python 3和pip:
pip
是Python的包管理器,用于安装Flask等库。y
参数会自动确认安装,省去手动输入Y
。
sudo apt-get install python3 python3-pip -y
- 验证安装:
- 如果能看到版本号,说明Python环境已成功安装。
python3 --version pip3 --version
Step 2: 部署你的Web应用
- 在你的Mac上准备文件:
- 打包前端:
这会生成一个
build
文件夹。
# 进入你本地的前端项目目录 cd /path/to/your/moxa-config-manager/web-interface/frontend npm run build
- 在MOXA上创建应用目录:
mkdir -p /home/moxa/moxa-config-manager/backend mkdir -p /home/moxa/moxa-config-manager/frontend
- 从Mac传输文件到MOXA:
- 使用
scp
命令(Secure Copy)。 - 传输后端:
- 传输前端:
# 在你的Mac上运行,注意替换为正确的MOXA IP scp -r /path/to/your/moxa-config-manager/web-interface/backend/* moxa@192.168.4.127:/home/moxa/moxa-config-manager/backend/
# 在你的Mac上运行,注意替换为正确的MOXA IP scp -r /path/to/your/moxa-config-manager/web-interface/frontend/build/* moxa@192.168.4.127:/home/moxa/moxa-config-manager/frontend/
Step 3: 运行应用
- 安装Python依赖:
# 在MOXA上运行 pip3 install flask toml
- 启动后端服务:
# 在MOXA上运行 cd /home/moxa/moxa-config-manager/backend # 让它在后台运行,即使你关闭SSH窗口 nohup python3 app.py &
- 启动前端服务:
- 你的后端Flask需要配置成可以服务静态文件。修改你的
app.py
,添加一个路由来服务前端index.html
。
至此,你就可以开始测试部署后的应用了!
故障排查 (Troubleshooting)
网络连接问题
ping
不通?- 重置后,确认等待时间足够长(至少2分钟)。
- 确认你尝试了两个网段(
192.168.3.x
和192.168.4.x
)。 - 检查
ifconfig en7
,确保你的Mac IP已正确设置,并且status: active
。 - 检查物理连接:网线灯是否亮?转接头是否插紧?
网关设置错误
- "Nexthop has invalid gateway"错误?
- 执行
ip addr show
查看MOXA的网络接口状态 - 确认使用正确的网络接口(
eth0
或eth1
) - 检查该接口是否显示
UP
状态,而不是NO-CARRIER
或DOWN
- 确认Mac和MOXA在同一个网段
常见网络接口状态说明
<BROADCAST,MULTICAST,UP,LOWER_UP>
+state UP
: 网络接口正常,有网线连接
<NO-CARRIER,BROADCAST,MULTICAST,UP>
+state DOWN
: 网络接口启用但无网线连接
- IP地址
192.168.3.127/24
: 使用192.168.3.x网段
- IP地址
192.168.4.127/24
: 使用192.168.4.x网段
调试步骤
如果遇到问题,按以下步骤调试:
- 在MOXA上检查网络状态:
ip addr show # 查看网络接口 ip route show # 查看路由表 ping 192.168.4.100 # 测试到Mac的连接
- 在Mac上检查网络状态:
ifconfig en7 # 确认接口配置 ping 192.168.4.127 # 测试到MOXA的连接
- 重新设置网络(如果需要):
在Mac上:
sudo ifconfig en7 down sudo ifconfig en7 192.168.4.100 netmask 255.255.255.0 up
在MOXA上:
sudo ip route del default # 删除旧路由 sudo ip route add default via 192.168.4.100 dev eth1 # 添加新路由