V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
huangya
V2EX  ›  宽带症候群

TTL 转 RJ45 网口

  •  
  •   huangya · 2023-08-03 14:48:00 +08:00 · 1809 次点击
    这是一个创建于 480 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本人现在有个这样的需求:

    手里有台可以直接插卡的 4G 路由器,有 RJ45 网口,但是没有 usb 口。可以通过一些办法 ssh 或 telnet 到这台 4G 路由器。现在想用这个设备对远程的另外一台 TTL ( 4pin ,GND ,tx ,rx ,vcc )的设备进行管理。如果有 usb 网口,直接接一个 usb 转 TTL 的模块就可进行 TTL 操作。我想请问一下,可以用 TTL 转 RJ45 网口的模块吗?网上搜索了一下,不知道是否可以用。4G 路由器是 linux 系统。如果不行,打算在 4G 路由器下面接一个树莓派,树莓派有 usb 口。

    24 条回复    2023-08-07 10:57:17 +08:00
    LisaSue
        1
    LisaSue  
       2023-08-03 15:25:20 +08:00
    不可以,你想太多了
    TMily
        2
    TMily  
       2023-08-03 15:26:06 +08:00
    几十块可以买一个网口通讯的串口服务器 下面接 TTL 支持 TCP UDP 以及 HTTP 和各种云
    TMily
        3
    TMily  
       2023-08-03 15:29:27 +08:00
    树莓派的 GPIO 不是 TTL 电平的 还不如下面挂一个 ESP32 之类的呢 直接就是 TTL 电平的 UART 不需要再通过 USB 转串口
    knva
        4
    knva  
       2023-08-03 15:35:05 +08:00
    可以 TLL 转无线串口
    Eiden
        5
    Eiden  
       2023-08-03 15:37:59 +08:00
    可以, 淘宝搜串口服务器
    mohumohu
        6
    mohumohu  
       2023-08-03 15:43:17 +08:00
    TTL 串口转网口/UART 转 RJ45/以太网串口数据透传/CH9120 模块 淘宝一搜就有
    TMily
        7
    TMily  
       2023-08-03 15:57:36 +08:00
    原 1 楼应该可以放在那里处刑的~
    huangya
        8
    huangya  
    OP
       2023-08-03 16:45:31 +08:00
    @TMily
    @knva
    @Eiden
    @mohumohu
    我想请教一下各位,我用了你们说的那个模块,在 linux 下怎么用呢?我如果用 ttl 转 usb ,在 linux 下面会有个/dev/ttyUSB0 的设备(在 windows 下面,会有个 com 设备),然后我可以用 minicom 或者 putty 这种串口工具打开这个设备进行操作了。但现在转成 RJ45 口了,在 linux 下面是一个什么设备呢?还可以用 minicom 或者 putty 这种串口工具吗?还是说发送过来是一个以太网包根本没有类似/dev/ttyUSB0 这样的设备了?这样的话,是不是需要应用层程序来监听特定的端口,来收发以太网包呢?
    Eiden
        9
    Eiden  
       2023-08-03 16:48:11 +08:00
    @huangya 用这个模块后你要面对的就是 tcp server, 你作为 client, 模块做 server, 就 tcp 通信就行了, 模块会帮你转成 ttl
    huangya
        10
    huangya  
    OP
       2023-08-03 16:58:25 +08:00
    @Eiden ok ,理解了。那 linux 这边 client 有现成的软件吗?还是说我用个 nc 命令就可以了?按我的认知,nc 应该可以。
    Eiden
        11
    Eiden  
       2023-08-03 17:03:19 +08:00
    @huangya #10 nc 可以
    huangya
        12
    huangya  
    OP
       2023-08-03 17:03:33 +08:00
    @TMily 我没有用个 ESP32 ,刚搜索了一下,如果用 ESP32 ,请问:
    1. ESP32 是通过 wifi 与我的 4G 路由器通信吗?貌似没有 ethernet 口。
    2. ESP32 与被操控的 TTL 设备是通过 ESP32 上面的 GPIO 口连接吗?也就是:ESP32 GPIOpin 脚---- 设备的 TTL 4 个 pin 脚。
    huangya
        13
    huangya  
    OP
       2023-08-03 17:05:31 +08:00
    @Eiden 感谢,立即下单买一个看看。
    Eiden
        14
    Eiden  
       2023-08-03 17:07:06 +08:00
    @huangya #13 买的时候注意电平标准, 不要买到 485,232 那种了
    Eiden
        15
    Eiden  
       2023-08-03 17:12:27 +08:00
    @huangya #12 esp32 部分型号有以太网功能, 但是需要额外加 phy 芯片, 然后通过编程实现网络数据到 ttl 数据的转发
    huangya
        16
    huangya  
    OP
       2023-08-03 17:16:31 +08:00
    @Eiden 如果有这样的模块,肯定是比 esp32 方便稳定些。esp32 估计还要折腾
    TMily
        17
    TMily  
       2023-08-04 10:14:14 +08:00
    @huangya #15 第一选择肯定是成品模块 那些模块里有的就是用的 ESP 系列芯片的 单独的普通 ESP32 开发板不带网口 但也有集成了网口的开发板价格就比较贵了 ESP32 自带了两路 UART 和三十多个有 MUX 的可复用 GPIO 都是 TTL 电平的 更复杂的功能都可以实现 此外 ESP32 也支持 WiFi 的 可以通过 WiFi 连接 这样你 4G 路由器和下游的 TTL 设备不用放一起
    huangya
        18
    huangya  
    OP
       2023-08-04 14:12:22 +08:00
    @TMily
    @Eiden
    淘宝买了个成品模块。发现在 linux 下面用 nc 操控串口基本可用。但是有些特殊键或者快捷键不能用,比如 tab 补全命令,ctrl+C ,ctrl+P 等。两位有相关经验可以解决这个问题吗?
    Eiden
        19
    Eiden  
       2023-08-04 14:43:19 +08:00
    @huangya #18 ascii 中并没有 tab 上下左右等等的按键, 这些按键在 ttl 终端中是通过发送"转义序列"实现的, 你估计得自己写个 tcp client 然后去转换这些按键才能实现功能
    huangya
        20
    huangya  
    OP
       2023-08-04 14:54:26 +08:00
    @Eiden 发现糟糕的情况,vi 也办法用。在 vi 命令模式下,比如按 j ,不会下移,只会打印 j. 这样的话,就基本没办法用了。vi 是刚需。
    huangya
        22
    huangya  
    OP
       2023-08-04 15:40:29 +08:00
    @Eiden 完美解决
    sudo socat -d -d pty,link=/dev/myvpts,raw,echo=0,waitslave tcp:模块 ip:port
    sudo minicom -D /dev/myvpts
    orionl
        23
    orionl  
       2023-08-04 22:50:55 +08:00
    @TMily esp32 的电平是 3.3 的,我估计楼主的 TTL 电平因该是 5V 的
    TMily
        24
    TMily  
       2023-08-07 10:57:17 +08:00
    TTL 电平是一种数字电路中的电平概念,表示适合于 TTL 电路工作的电压范围。TTL 的电源工作电压是 5V ,所以 TTL 的高电平和低电平是根据 5V 来定的.

    一般来说,TTL 器件输出低电平要小于 0.8V ,高电平要大于 2.4V 。输入时,低于 1.2V 就认为是 0 ,高于 2.0 就认为是 1.

    以上引自 BingChat

    此外可见 https://zhuanlan.zhihu.com/p/631857573

    @orionl #22 ESP32 的最高 3.3V 的 GPIO 一般就被认为是 TTL 电平的只不过在标准中他们可能被称作 LVTTL~~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2662 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 15:36 · PVG 23:36 · LAX 07:36 · JFK 10:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.