几乎不要钱自制远程 PLC 路由器方案

 来自:https://zhuanlan.zhihu.com/p/565851623

日前开源免费的远程组网产品 OmniEdge 在他们免费的版本中推出了自建超级服务器的功能,同时最近又发布了 OpenWrt 版本的安装包,值得一提的是支持MIPS架构的路由器,所以使用最便宜的OpenWrt路由器就可以访问路由器后面的设备,可以访问家里的监控,各种IoT设备,自然也可以通过windows 客户端,实现远程PLC了,以下是方法。

注意:使用自建超级服务器功能需要购买云服务器,自建方法参考:Customize Supernode Installation, 这里不作介绍。

需求:

  • OmniEdge 客户端
  • OmniEdge Openwrt ipk安装包

Windows设置

  1. 安装OmniEdge windows 版本,参考视频: omniedge.io/download/wi
  2. 使用管理员权限运行cmd,输入以下全集设备路由

route add 192.168.1.0 mask 255.255.255.0 100.100.100.46

这里:

  • 192.168.1.0: OpenWrt 路由器的LAN 网段
  • 100.100.100.46: OpenWrt 路由器在OmniEdge虚拟网内的IP地址

OpenWrt 设置

  • LAN 网段设置为: 192.168.1.0/24, 路由器IP设置为:192.168.1.254
  • 从Github 下载对应路由器的的安装包 Download ,拷贝到路由器中 scp omniedge*.ipk root@192.168.1.254:/tmp
  • 进入路由器终端并且安装omniedge
ssh root@192.168.1.254
cd /tmp
opkg install omniedge*.ipk
  • 访问OmniEdge的管理界面 Dashboard 生成安全码 Security-key同时获得虚拟网络ID Virtual Network ID
  • 将安全码 Security key 和 virtual network id 写入 /etc/init.d/omniedge:
security_key=你的安全码
virtual_network_id=你的虚拟网络ID
  • 1. 启用并运行OmniEdge:
/etc/init.d/omniedge enable 
/etc/init.d/omniedge start
  • 2. 设备路由规则
iptables -t nat -A POSTROUTING -s 100.100.100.0/24 -j MASQUERADE
iptables -A forwarding_rule -s 100.100.100.0/24 -j ACCEPT
LAN_DEV=`ubus call network.interface.lan status | jsonfilter -e '@["device"]'`
iptables -I FORWARD 1 -i $LAN_DEV -d 100.100.100.0/24 -j ACCEPT

这里: - 100.100.100.0/24 是你的虚拟网络IP段

设置好后,就可以使用你的windows电脑,随时随地连接路由器后面连接的IP地址是192.168.1.x的各种设备了,也可以远程PLC编程。云服务器可以使用自己现有的,也可以使用自己家里的树莓派用ddns的域名,路由器二手的GL Ar750就可以,200块。

1 条评论:

匿名 说...

这类软件 zerotier 才是最好的。