NUC980开源项目40-PLC远程下载/内网穿透(非技术)
  ToGJ7adHdRwk 2023年11月02日 43 0


 


1.网穿介绍

在淘宝上有一个产品,叫做PLC远程下载模块,随便找了一个。

NUC980开源项目40-PLC远程下载/内网穿透(非技术)_IP

 它的核心功能,是让客户在外网可以控制内网的设备。

关于内网穿透,有几种搞法

第一种是远程控制,常见的就是淘宝上卖的DTU模块,搞成4G或者网口,有的是1个或者1个以上模块,和服务器做设备配对,数据上传到服务器,然后再分发出来。会给一个控制软件或者网页控制的界面,用户通过软件实现一些控制操作,比如驱动继电器/读一下开关信号或者转成串口数据发出来。

这种应用场景挺多,比如智能家居的远程控电啥的,或者工业上一些远程命令操作,他有以下特点

1.数据需要进指定的服务器,卖家一般这个服务器是要收费用的,相当于另外一种租赁服务,有的做的比较好的,可能会送几年,但卖家不可能每个设备都送个服务器,这会让人家血亏。对一些敏感的行业来说,数据过人家的服务器,终究心里膈应。

2.有个第三方软件,当然也有的可能走的是串口->云端->串口的形式,本质上来说,是一个数据转发的工具,比如串口转串口,网口转串口,串口转485之类的。多个软件倒也没啥事,只是需要有个研发人员或者技术人员开发维护,它解决了数据的链路问题。

NUC980开源项目40-PLC远程下载/内网穿透(非技术)_IP_02

 

第二种是远程穿透,有名气的是花生壳,或者向日葵,直接把目标主机变成局域网的设备,它特点如下

1.一般用在电脑上,比如大家常用的远程桌面,像向日葵一样,网上卖的那种PLC远程下载模块,就是这种形式,让远程电脑像操作本地设备一样,实现固件下载/控制的功能

2.一般会有指定IP,模块本身是网关,将网络数据转给设备,也将设备数据转给远程主机。比如花生壳做的花生盒子就是这一类。

NUC980开源项目40-PLC远程下载/内网穿透(非技术)_IP_03

 

相比而言,前面那种使用更多,开发难度更小,淘宝上卖的也多,像什么有人物联,同时价格也更低。DIY的话,也会比较容易,买个4G模块,搭个单片机,互相怼数据,当然,容易不代表没技术含量,稳定性,抗干扰,异常处理,也很重要

众所周知,国内网络是比较费劲的,一般没法直接访问局域网的设备,没有广域网IP,可能买电信的网络,会有个FRP,做网络硬盘是可以用这个的。

毕竟国内三大运营商,我们也不能让人家全用电信,可以确定的一点是,要做网络穿透或者远程控制,无法避免要有一个云服务器,现在是信息时代,腾讯阿里有很多的物联网服务,一般会使用MQTT或者HTTP协议,这种,能实现远程控制的目的。只要让设备上网,向指定服务器,读写数据就行。

这种无法实现PLC远程下载,当然如果说技术过关,搞个bootloader,也没啥说的。

2.功能分析

这不是我想要的,不是东西不行,而是他有个关键问题,必须要有人进来搞开发,一般PLC设备,都会带个网口,比如西门子的,会提供一个上位机,用户直接操作它的上位机就行,如果做的是远程控制,新加的网关怎么和已有的设备通信?不排除有的PLC提供相关的命令,做可以做,但是要时间。

我想要的是,用户有个PLC设备,现在就放在局域网,人家啥都搞好了,如果想在外网访问,能直接就通信上,让外网变成局域网,当然也有方案,比如电脑装个向日葵,别的电脑也装个向日葵,PLC远程下载模块,就是让模块代替电脑。在不影响客户原有配置,不增加研发力量的情况下,实现这个目的。

3.方案

初期我考虑过三个方法。

第一个是反向SSH,这东西怎么说呢,能用,但是不好用,因为电脑的外网IP是会变的,今天用的好好的,明天就不行了,虽然也有自动监测的方案,终归觉得不合适,总不能说找个人,天天盯着看吧,这样事情就没有意义了。

NUC980开源项目40-PLC远程下载/内网穿透(非技术)_IP_04

 第二个是openwrt,集成一些穿透服务,能用,我也做了相关的移植测试,怎么说呢,没有用习惯,可能是我对这东西不熟悉,一般来说做FRP挺多的

NUC980开源项目40-PLC远程下载/内网穿透(非技术)_IP_05

 

最终决定是使用OPENVPN,选他的原因是

1.安全,每个设备都是有密钥的,除非自己作死把密钥分享出去,不然别人进不来

2.稳定开源,这东西做了蛮多年了,用户群体不小,我查了相关PLC厂商,发现他们也是用的这个方案,既然能被PLC厂商看中,肯定是有缘由的

3.简单,只要装个软件,启动一下,就可以一直跑

4.IP可以指定,支持的设备数量多。这点很重要,不能说搞个设备就开个服务器,这不得搞死人

5.服务器可以自己搭,随便找个腾讯阿里服务器就行,挂着一年四季不用管他

NUC980开源项目40-PLC远程下载/内网穿透(非技术)_数据_06

 

4.成品

经过一段时间的研发,搞出的板子如下

pcb正面示意图

NUC980开源项目40-PLC远程下载/内网穿透(非技术)_服务器_07

功能说明

1.电源:板子输入电源为12~24V,运行功率为2~3.5W左右

2.Debug:系统串口调试接口,用于shell登录。

3.USB:目前主要用于固件烧录

4.WAN:入网接口,带DHCP自动配网,只要将网线直接接入就行,系统会自动连接设置IP

5.LAN:路由网口,接PLC,需要指定下级设备IP,目前默认设备IP为169.254.244.113,此IP可改。

6.SIM:4G模块SIM卡插槽,目前做的是移动的SIM卡

7.通用输出:输出5V电压

8.通用输入:输入3.3~5V电压

9.482&232:各两组  

实物如下

NUC980开源项目40-PLC远程下载/内网穿透(非技术)_运维_08

与PLC连接状态如下

NUC980开源项目40-PLC远程下载/内网穿透(非技术)_IP_09

5.成本分析

 东西已经做好了,嘉立创算了下成本,打样5片,平均每块是600的成本,如果有量的话,简单算了下,不含4G模块,数量到了500ps左右,成本估计能到200元左右。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
ToGJ7adHdRwk