chc0_0chc 2022-05-24 13:34 采纳率: 100%
浏览 208
已结题

4G转以太网用到什么技术原理

想要实现一个4G转以太网的设备,使用的是stm32+4G模块+phy芯片

期望实现的功能是 :原本不能访问公网的电脑通过网线连接设备后,电脑能访问公网

现在的问题是
一、MCU和4G模块通过串口通信,一般的MCU是通过AT指令和4G模块进行交互的,进行网络通信一般是知道要和什么ip进行通信,通过AT指令建立TCP连接后发送数据,但是想这个要实现4G数据转网口,网口数据转4G,根本就确定不了电脑端要发来什么样的数据(比如进行TCP连接,http请求等,AT指令模式下有相关的AT指令能操作),显然用不了AT指令的方式和模块进行通信,我是要对4G模块进行Ppp拨号么,然后把以太网口来的数据帧直接发给模块

二:MCU和以太网口:一般的应用都是路由器接入设备,路由器给设备分配ip的,然后本设备能上网,现在是反过来了,本设备要让其他设备能上网,那本设备是不要要给其他接入的设备分配ip,那ip要怎么分配

三:以太网口的数据和模块数据的转发:怎么实现对以太网的数据转发到4G,网口出来的数据帧应该是链路层的数据,数据带有MAC地址IP地址等,我是直接把这一串数据转发给4G模块么?

总体系统框图如下:

img

  • 写回答

1条回答 默认 最新

  • qllaoda 2022-05-24 13:45
    关注

    一, 肯定不能用AT,PPP可以,拨号后作为一个网络连接使用,但更方便的是RNDIS接口模式,4G模块自己实现了拨号,同时通过一个RNDIS接口提供给下面的设备用
    二,需要实现DHCP服务器功能。
    三,参考NAT原理。
    如果是做产品,建议用路由器(比如MT7620)+4G模块,STM32做这个,成本高,性能低。
    用支持RNDIS的4G模块接到路由,在路由器上,它的就相当于一个网口,作为路由的WAN口使用。

    当然如果你只是做着玩,一定要用STM32做,也是类似的,用USB接RNDIS接口的设备,STM32驱动RNDIS,是有现成驱动的。
    然后你得用STM32实现路由器的NAT转发功能,分配IP使用DHCP服务器,这个也要STM32去实现。

    实际上,如果你只是给一台电脑用,把具有RNDIS接口的4G模块直接插到电脑USB上就可以了。

    比如移远ec20模块就可以(不是广告)
    有些4G模块本身就带了以太网接口。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 6月1日
  • 已采纳回答 5月24日
  • 赞助了问题酬金20元 5月24日
  • 创建了问题 5月24日

悬赏问题

  • ¥15 matlab提取运动物体的坐标
  • ¥15 人大金仓下载,有人知道怎么解决吗
  • ¥15 一个小问题,本人刚入门,哪位可以help
  • ¥15 python安卓开发
  • ¥15 使用R语言GD包一直不出结果
  • ¥15 计算机微处理器与接口技术相关问题,求解答图片的这个问题,有多少个端口,端口地址和解答问题的方法和思路,不要AI作答
  • ¥15 如何根据一个截图编写对应的HTML代码
  • ¥15 stm32标准库的PID角度环
  • ¥15 ADS已经下载好了,但是DAS下载不了,一直显示这两种情况,有什么办法吗,非常急!
  • ¥100 Excel 点击发送自动跳转outlook邮件