2016-06-08 4 views
1

오늘 하나의 ESP8266 모듈에 NodeMCU를 설치했습니다. 텔넷 서버 예제

는 I는 (액세스 포인트에 로그인 아직와 연결됨) 간단한 텔넷 서버

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) 

I 퍼티를 사용 ESP8266에 텔넷 수 I 퍼티 (conn:send("Got it\r\n")) 다시 정적 데이터를 전송할 수했다.

내가하고 싶은 일은 esp 직렬 포트 (UART)에서 퍼티로 데이터를 전송하는 것입니다. 나는 성공하지 못한 예를 찾아 봤다. BTW ESPlorer를 사용하여 ESP를 프로그래밍하고 퍼티에 데이터를 다시 보냅니다.

conn:send("Got it\r\n") 대신 동적으로 응답을 입력하고 싶습니다. uart:on 콜백을 시도했지만 어떻게 작동하는지 완전히 이해하지 못했습니다.

답변

0

NodeMCU에는 "공식적인"Telnet example in the repository이 있습니다. 그러나 그것도 WiFi/소켓 기반입니다.

ESPlorer (예 : 직렬/UART)를 통해 기기에 연결 한 경우 다른 직렬 연결을 열 수 없습니다. 자세한 내용은 https://stackoverflow.com/a/36779799/131929을 참조하십시오.

+0

내가 방법에 대한, esplorer와 같은 직렬 연결을 사용하는 방법에 대한 이해 (이 경우 메가 2560 아두 이노) 퍼티 및 마이크로 컨트롤러 간의 간단한 브리지로 작동이 코드를 함께했다 Arduino를 사용하여 시리얼 포트를 받아 들여 보냅니다. 기본적으로 arduino와 putty (telnet) 사이에 간단한 다리가 필요합니다. – starstuff

0

Marcel 대답 해 주셔서 감사합니다.

게시 된 링크가 정확하게 필요한 것은 아니지만 좋은 정보를 제공했습니다.

는 드디어

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)