【问题标题】:Telnet server exampleTelnet 服务器示例
【发布时间】:2021-04-02 18:34:23
【问题描述】:

今天我在一个 ESP8266 模块上安装了 NodeMCU。

我做了一个简单的telnet服务器(登录AP已经完成并连接)

srv=net.createServer(net.TCP,7200)
srv:listen(23,function(conn)

    conn:on("receive", function(conn,telnetdata)
        print(telnetdata)

        conn:send("Got it\r\n")
    end)

    conn:on("sent",function(conn)

        print("[Sent]");
        --conn:close();
        --collectgarbage();
    end)

end)

我可以使用 Putty 远程登录到 ESP8266,我可以将静态数据发送回 Putty (conn:send("Got it\r\n"))。

我想要做的是从 esp 串行端口 (UART) 向 Putty 发送数据。我用谷歌搜索了一个没有成功的例子。顺便说一句,我正在使用 ESPlorer 对 ESP 进行编程并将数据发送回 putty。

我想动态输入响应,而不是使用conn:send("Got it\r\n")。我尝试了uart:on 回调,但我还没有完全理解它是如何工作的。

【问题讨论】:

    标签: lua esp8266 nodemcu


    【解决方案1】:

    NodeMCU 有一个“官方”Telnet example in the repository。然而,那个也是基于 WiFi/socket 的。

    如果您通过 ESPlorer(即串行/UART)连接到设备,则无法打开另一个串行连接。详情请见https://stackoverflow.com/a/36779799/131929

    【讨论】:

    • 我了解使用与esplorer相同的串行连接,使用arduino通过串行端口接收和发送如何?基本上我需要一个简单的 arduino 和 putty (telnet) 之间的桥梁
    【解决方案2】:

    马塞尔感谢您的回答。

    发布的链接不是我所需要的,但它提供了很好的信息。

    我终于想出了这个代码,它可以作为腻子和微控制器(在本例中为 arduino mega 2560)之间的简单桥梁

    socket = net.createServer(net.TCP,7200)
    socket:listen(23,function(c)
    
        c:on("receive",function(c,l)
            uart.write(0, l)
        end)
    
        c:on("disconnection",function(c)
            -- not yet implemented
        end)
    
        uart.on("data", 0,
            function(data)
                c:send(data)
        end, 0)
    end)
    

    【讨论】:

      猜你喜欢
      • 2010-11-19
      • 2013-11-10
      • 2011-09-17
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      • 2012-10-19
      • 2014-04-09
      • 2012-02-11
      相关资源
      最近更新 更多