esp8266模块上的sftp连接

时间:2017-01-18 10:49:14

标签: at-command esp8266

我正在尝试使用esp8266 wifi模块进行sftp连接,但我遇到了问题。首先我成功将esp8266连接到我的路由器然后我尝试使用以下命令与sftp服务器建立TCP连接

AT+CIPSTART="TCP","demo@test.rebex.net",22

但我总是从esp8266获得“DNS FAIL”回复。如何使用esp8266 wifi模块进行sftp连接?

1 个答案:

答案 0 :(得分:2)

根据https://github.com/espressif/ESP8266_AT/wiki/CIPSTARTAT+CIPSTART命令的语法是

AT+CIPSTART=type,addr,port 

你的地址"参数必须只是主机名。您似乎在那里使用用户名(demo@test.rebex.net)放置了一个URL。主机名应该只是test.rebex.net,对吗?文字主机名demo@test.rebex.net不存在,因此无法进行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。