2017-01-18 2 views
0

esp8266 wifi 모듈을 사용하여 sftp 연결을 만들려고하는데 문제가 있습니다. 내 라우터에 우선이 성공적으로 연결 esp8266 후 나는 다음 명령을esp8266 모듈을 통한 sftp 연결

AT+CIPSTART="TCP","[email protected]",22 

를 사용하여 SFTP 서버에 TCP 연결을 시도했지만 난 항상 "DNS는 FAIL"esp8266에서 답장을 얻는다. esp8266 wifi 모듈을 사용하여 sftp 연결을 만들려면 어떻게해야합니까?

답변

2

https://github.com/espressif/ESP8266_AT/wiki/CIPSTART에 따르면 AT+CIPSTART 명령의 구문은

AT+CIPSTART=type,addr,port 

당신의 "주소"매개 변수가 바로 호스트 이름이어야합니다. 사용자 이름 ([email protected])과 함께 URL을 입력하는 것 같습니다. 호스트 이름은 test.rebex.net이어야합니다. 맞습니까? 리터럴 호스트 이름 [email protected]은 존재하지 않으므로 DNS를 확인할 수 없으므로 오류를 설명합니다. 사용자 demo의 인증은 프로토콜 실행에서 처리됩니다.

그러나 SFTP는 복잡한 프로토콜입니다. 그 CIPSTART 명령은 그냥 그 호스트 이름과 그 포트에 원시 TCP 소켓을 엽니 다. 특히 해당 명령을 실행해도 상위 수준의 프로토콜 논리가 실행되지 않습니다. 그것은 당신이 쓰고 읽을 수있는 소켓입니다. SFTP FTP over SSL을 의미하는 경우 관련된 모든 암호화로 SSL 프로토콜을 실행할 수 있어야합니다. SFTP에 의해 Secure File Transfer Protocol (SFTP)을 의미하는 경우 SSH 구현 (및 이와 유사한 암호화 기본 요소)이 필요합니다. 이런 종류의 계산은 AT + 명령을 보내는 Arduino에는 적합하지 않으므로 ESP8266을 직접 프로그래밍하는 것이 좋습니다. esp-open-rtos에는 SSL 연결을위한 예제가 많이 있지만 SSH 또는 SFTP는 아직 구현되지 않았습니다.