2017-05-07 796 views
0

有没有办法在ESP8266的uart界面上禁用回显?
我使用Arduino来编程芯片,所以我不能使用AT命令,因为我将Arduino框架上传到了芯片中。 每次客户端试图连接到模块,它产生的串行端口上的一些呼应像这样的:在esp8266 uart上禁用回显

新的客户端:此网址:/favicon.ico搜索:主机:192.168.1.102: 连接:保持活跃:用户代理:Mozilla/5.0(Windows NT 6.1) AppleWebKit/537.36(KHTML,如Gecko)Chrome/55.0.2883.87 Safari/537.36:Accept:image/webp,image/,/; q = 0.8:的Referer: http://192.168.1.102/admin.html:接受编码:gzip,放气,SDCH: 接受语言:EN-US,EN; q = 0.8,发; q = 0.6:/favicon.ico

+1

显示一些输出示例。你准确的设置是什么?你有没有通过串口连接到ESP8266的Arduino,或者你是否使用Arduino-Framework直接闪存芯片?你使用哪些库可能会产生输出? –

回答

0

我找到了解决方案: 回声是由ESP8266WebServer.h库生成的。我只是在Parsing.cpp文件中删除了一些DEBUG_OUTPUT.print()& DEBUG_OUTPUT.println()语句,现在一切正常。 谢谢大家。

1

是的。用换行符发送命令ATE0\r\n)。

enter image description here

全部命令的参考文献可在https://github.com/espressif/ESP8266_AT/wiki/ATE

+0

我不认为他在使用AT命令。他说,他使用Arduino来编程芯片。 –

+0

我为澄清请求写了评论。 –

0

如果该输出出现在ESP8266的串行端口上,那么它是由您从Arduino IDE加载到芯片上的草图生成的。

因此,如果您不需要输出,则需要从草图中删除相关的输出语句。输出看起来类似于WiFiWebServer示例草图生成的内容,因此我将在此处以此为例。如果您使用另一个,请根据您的情况修改说明。

在素描,看起来像Serial.printlnSerial.write语句,例如在循环的开始()函数,你会发现:

void loop() { 
    // listen for incoming clients 
    WiFiClient client = server.available(); 
    if (client) { 
    Serial.println("new client"); 
    // an http request ends with a blank line 
    boolean currentLineIsBlank = true; 
    while (client.connected()) { 
     if (client.available()) { 
     char c = client.read(); 
     Serial.write(c); 

看一看什么每条这样的线会写,并删除/注释掉你不希望在串口上看到的输出。

+0

感谢您的有益回应,但没有println会生成此类输出。 –

+0

你能发布你上传到ESP芯片的代码吗? –