ESP8266 자주 묻는 질문 요약 - 공식 웹 사이트에서 재판

ESP8266 자주 묻는 질문

이 페이지 수집 esp8266 자주 묻는 질문

이 문서는 ESP8266 개발에 몇 가지 일반적인 문제 개발자에 대해 설명합니다. 이러한 문제는 다음과 같은 범주를 포함한다 :

  • 기본 개념
  • ESP8266 관련
  • AiCloud 관련
  • 펌웨어 컴파일 시운전
  • 관련 문서

각 분류에 대한 구체적인 질문에 대한 답변은 다음과 같습니다.

  • 무엇 ESP8266인가?

  ESP8266 온칩는 소형 패키지 업계 선두 텐 L106 초 저전력 32 비트 마이크로 MCU 집적 고성능 무선, 16 비트 압축 모드, 지원 주파수 80  MHz의  160 MHz의 상기 RTOS 지원 통합 무선 -Fi MAC / BB / RF / PA / LNA, 안테나 보드. 그것은 표준 IEEE802.11의 B / G / N 프로토콜, 완전한 TCP / IP 프로토콜 스택을 지원합니다.

  • ESP01, ESP02 무엇인가?

  심천 순 R & D 의해 ESP01 ~ ESP14은 ESP8266 시리즈 모듈 ESP8266에 기초하여 칩 개선 및 주변 장치의 안테나의 배치를 최적화를 제조 할 수있다.

  • 어떻게 그 AiCloud?

  AiCloud 순 간단하고 안정적인 서버, 알몸 데이터, UDP 전송, 무료로 우리의 고객에게 제공, 많은 루틴 및 PC 엔드 PC의 디버깅 도구가 포함되어 있습니다.

  • EMC Lexin와 관계가있을 수있다

  Lexin는 칩 제조업체 ESP8266, ESP8266 순 있지만 생산 모듈 및 제조업체들이 개발 다양한 프로그램을 제공하는 항이다.

  • ESP8266는 그것을 개발하기 위해 서버를 사용해야합니다?

  당신은 단지 수요를 충족하기 위해 로컬 영역 네트워크를 필요로하는 경우, 당신은 당신이 같은 ESP8266 개발을 사용할 수있는 서버가 필요하지 않습니다, 사용자의 필요에 따라 결정.

  • 어떻게 ESP8266 모듈과 테스트 보드를 구입 하는가?

  공식 편지 수도 Taobao의 가게 : http://shop.ai-thinker.com/

  • 나는 어떤 유형의 ESP8266 모듈을 선택 하는가?

  하드웨어 모듈 패키징 차이의 주요 차이점뿐만 아니라 플래시 구분의 크기, 당신은 볼 수 있습니다 ESP8266 선택 목록을 의심, 우리의 판매 직원에게 연락하는 경우.

  • 나는 개발 또는 SDK의 개발을 선택 하는가?

    SDK 방법 :
    장점 : 시스템은 이상과 최소 비용 
    단점 : 초보자가 코드를 읽기에 익숙해지는 2 주에 일주일에 시간이 필요합니다

    방법 AT :
    장점 : 단지 외부 마이크로 컨트롤러로 실현 될 수있는 명령 AT 몇 가지를 알고 네트워크 통신을 필요로한다! 개발 속도. 
    단점 : 추가 외부 CPU 비용

  그래서 당신은 자신에 맞게 자신의 프로그램을 평가할 수 있습니다

  • 나는 FreeRTOS 또는 NONOS를 선택 하는가?

  FreeRTOS가 다시에게만, 그래서 일반적으로 사용하기 때문에 NONOS입니다
  당신이 ESP32 시리즈를 사용한다면 직접 SDK FreeRTOS 프로그램을 사용할 수 있습니다, FreeRTOS 후 이상 개발하고 유리한 방법

  • 개발, 도움을받을 수있는 문제가 있나요?

  회사 사용자의 경우, 우리는 특별한 도킹에게 기업의 담당 엔지니어를 임명,
  개별 사용자 인 경우, 당신은 포럼에 게시하거나 이메일을 보낼 수 있습니다 [email protected] , 우리는 전문 엔지니어들과 거래를해야합니다 .

* 당사 패킷 손실을 통과 것인가?

아니오 하드웨어 흐름 제어한다. 당신은 패킷 손실을 방지하려면, 하드웨어 흐름 제어를 설정합니다. TCP 프로토콜을 사용하여 투명 송신은, 각각의 데이터 패킷 (프로토콜 스택)에 따라 1460만큼 좋은 네트워크로서, 버퍼 공간을 소비하지 않고, 데이터가 연속적으로 송신 될 수있다. 통과하십시오. 직렬 데이터 구간을 수신하는 데이터 전송의 종료를 받아들이는 20ms의 네트워크에 허용 된 초과. 네트워크가 좋지 않은 경우, 따라서이를 방지하기 위해, 당신은 직렬 포트의 흐름 제어 모드를 설정할 수 있습니다, 일부 데이터가 손실 될 수 있습니다.

* ESP8266 동시에 AP STA +를 사용합니까?

ESP8266 동시에 AP + STA 모드로 사용될 수있다 (무선 증폭기하지만 할 수 없다).

* ESP8266 저전력이 될 수 있는가?

ESP8266는 낮은 전력 소비가 될 수 있습니다. 명령 저전력 설명 AT :

설정 슬립 모드, 수면은 단지 하나의 STA 모드, 모뎀 슬립 모드에서 기본 작업에 적용됩니다. 
 SLEEP AT + 0 = 0 슬립 모드 비활성화 
              1 광 슬립 모드 전력 소비 인 경우 0.9mA 
              2 모뎀은 슬립 모드 전력 소비 15mA이고

* TCP 서버 연결의 설립은 AT 명령에 의해 플래시에 저장?

* 어떻게 신속하게 전원을 켠 후 ESP8266 AP를 연결하려면?

주변

* SDIO 지원 SD 카드?

  ESP8266는 SD 카드를 지원하지 않습니다, SDIO 슬레이브입니다.

* ESP8266 여러 개의 UART가있다?

  TX, RX가 UARTO ESP8266 두 개의 UART가, 데이터 전송을 수행, 발은 SPI 플래시에 의해 점령되기 때문에 단지 TX를 사용할 수, UART1 RX, 시리얼 디버깅 정보를 인쇄 할 수 있습니다.

* GPIO는 5V에 연결할 수 있습니다 직접?

  하지 않습니다. GPIO는 3.6V를 견딜 수 있습니다. 우리는 그렇지 않은 경우 GPIO에 손상을 줄 것이다, 스텝 다운하는 회로가 필요합니다.

하드웨어

* ESP8266 전압 및 전류 요구 사항은 무엇입니까?

  디지털 부 ESP8266 전압 범위는 3.3V ~은 동작 전압의 아날로그 부분은 3.0V ~ 3.6V, 2.7V 최소 인 1.8V이다.

模拟电源峰值 350 mA,数字电源峰值 200 mA。

注意:选择的 SPI Flash 工作电压也需要与 GPIO 的电压匹配。CHIP_EN 还是工作在 3.0 - 3.6V,使用1.8V GPIO 控制时需要注意电平转换。

*设计 ESP8266 的供电时,需要注意哪些问题?

  请注意如下几点:1.如果是使用 LDO 变压,请确保输入电压和输出电压要足够大。2.电源轨去耦电容器必须接近 ESP8266 摆放,等效电阻要足够低。3.ESP8266 不能直连 5V 电压。4.如果是通过 DC-DC 给 ESP8266 供电,必要时要加上 LC 滤波电路。

*ESP8266 上电时电流很大,是什么原因?

  ESP8266 的 RF 和数字电路具有极高的集成度。上电后,RF 自校准会需要大电流。模拟部分电路最大的极限电路可能达到 500 mA;数字电路部分最大电流 达到 200 mA。一般的操作,平均电流在 100 mA 左右。因此,ESP8266 需要供电能达到 500 mA,能够保证不会有瞬间压降。

*可以使用锂电池或者 2 节 AA 纽扣电池直接给 ESP8266 供电吗?

  2 节 AA 纽扣电池可以给 ESP8266 供电。锂电池放电时压降比较大,不适合直接给 ESP8266 供电。ESP8266 的 RF 电路会受温度及电压浮动影响。不推荐不加任何校准的电源直接给 ESP8266 供电。推荐使用 DC-DC 或者 LDO 给 ESP8266 供电。

*ESP8266 的 RAM 的使用结构是怎么的?

ESP8266 的 RAM 总共 160 KB。

IRAM 空间为 64 KB: 前 32 KB 用作 IRAM,用来存放没有加 ICACHE_FLASH_ATTR 的代码,即 .text 段,会通过 ROM code 或二级 boot 从 SPI Flash 中的 BIN 中加载到 IRAM。 后 32 KB 被映射作为 iCache,放在 SPI Flash 中的,加了 ICACHE_FLASH_ATTR 的代码会被从 SPI Flash 自动动态加载到 iCache。

DRAM 空间为 96 KB: 对于 Non-OS_SDK,前 80 KB 用来存放 .data/.bss/.rodata/heap,heap 区的大小取决于 .data/.bss/.rodata 的大小;还有 16 KB 给 ROM code 使用。 对于 RTOS_SDK,96 KB 用来存放 .data/.bss/.rodata/heap,heap 区的大小取决于 .data/.bss/.rodata 的大小。

WiFi相关

*路由配置是正确的,但是发生找不到路由,连接失败,为什么?

如果 SSID 和密码配置是正确的,可能的原因有 2 个。

1.推荐使用英文字符,不要使用中文。

2.需要注意 bssid_set 的设置,如果不需要指定路由的 MAC 地址,那么需配置 stationConf.bssid_set = 0。

* ESP8266 SoftAP + Station 模式下网络断开或丢包的情况?

虽然 ESP8266 支持 SoftAP + Station 共存模式,但是 ESP8266 实际只有一个硬件信道。因此在 SoftAP + Station 模式时,ESP8266 SoftAP 会动态调整信道值与 ESP8266 Station 一致。这个限制会导致 ESP8266 SoftAP + Station 模式时一些行为上的不便,用户请注意。例如:

情况一 如果 ESP8266 Station 连接到一个路由 (假设路由信道号为 6); 通过接口 wifi_softap_set_config 设置 ESP8266 SoftAP; 若设置值合法有效,该 API 将返回 true ,但信道号仍然会自动调节成与 ESP8266 Station 接口一致,在这个例子里也就是信道号为 6。

情况二 调用接口 wifi_softap_set_config 设置 ESP8266 SoftAP (例如信道号为 5); 其他 Station 连接到 ESP8266 SoftAP; 将 ESP8266 Station 连接到路由( 假设路由信道号为 6) ; ESP8266 SoftAP 将自动调整信道号与 ESP8266 Station 一致(信道 6); 由于信道改变,之前连接到 ESP8266 SoftAP 的 Station 的 Wi-Fi 连接断开。

情况三 其他 Station 与 ESP8266 SoftAP 建立连接; 如果 ESP8266 Station 一直尝试扫描或连接某路由,可能导致 ESP8266 SoftAP 端的连接断开,或者 UDP 丢包,ping 丢包等情况。因为 ESP8266 Station 会遍历各个信道查找目标路由,意味着 ESP8266 其实在不停切换信道,ESP8266 SoftAP 的信道也因此在不停更改。这可能导致 ESP8266 SoftAP 端的原有连接断开,或者 UDP 丢包,ping 丢包等情况。

这种情况,用户可以通过设置定时器,超时后调用 wifi_station_disconnect 停止 ESP8266 Station 不断连接路由的尝试;或者在初始配置时,调用 wifi_station_set_reconnect_policy 和 wifi_station_set_auto_connect 禁止 ESP8266 Station 尝试重连路由。

*Wi-Fi 信道是什么?可以自行选择信道吗?

信道指的是 Wi-Fi 使用的指定频段中特定频率的波段。不同国家地区使用的信道数目是不同的。您可以参考ESP8266 Wi-Fi 信道选择指南

应用

*为什么云端升级需要2个 “bin” 文件?“user1.bin” 和 “user2.bin” 有什么区别?

  user1.bin 和 user2.bin 是 2 个不同的 BIN 文件。生成 user1.bin 和 user2.bin 时,必须使用相同的 Flash 和 boot 设置,以保证 OTA 升级成功。2个 BIN 文件是互补的,运行 user1.bin 的时候,升级是下载 user2.bin;运行 user2.bin 的时候,升级是下载 user1.bin。这样可以保证升级过程中,如果有掉线的情况发生,设备还是可以正常运行。

* 导入工程注意事项

  工程文件的导入的注意不要有空格和中文字符,例如:C:\Users\Administrator\Desktop\sdk\esp_iot_sdk_v1.3.0

* esp8266模组LED灯为什么上电闪一下就灭了?

  a,因为esp8266模组的LED接在GPIO2,而此IO与UART1_TX共用,此时模组上电会输出一下打印信息,所以LED会闪直到打印信息输出完毕,LED就灭了。

  b,若想查看启动信息的内容,请选择串口调试助手74880的波特率,硬件上把rst拉低再拉高,可以查看启动信息。

  c,若想通过串口调试助手发送AT指令,请切换波特率到115200,即可。

* ESP8266启动信息说明?

* 模组发送AT指令无响应?

a,请选择74880的波特率,看下启动日志,把RST复位引脚拉低再拉高,可使用安信可串口调试助手进行查看,aithinker_serial_tool_v1.2.3.7z

b,是否进入flash启动模式,GPIO15下拉,GPIO0,GPIO2上拉?

c,是否烧录了固件?烧录配置flash size大小是否跟WiFi模组的flash一致?

* 如何屏蔽上电打印?

U0TXD默认上电有系统打印,对此敏感应用可通过UART的内部引脚交换功能,在初始化的时候,调用system_uart_swap函数。将 U0TXD、U0RXD 分别于U0RTS(MTDO/GPIO15)、U0CTS (MTCK/GPIO13)交换来屏蔽该上电的系统打印。 交换后,硬件上的下载管脚还是使用U0TXD + U0RXD,通信时需要将MTDO对应接到MCU的RXD,MTCK对应加到MCU的TXD。

* 使用UART1打印日志,如何配置?

UART1只有TX功能,可以在UART0用于通讯时做打印log用。 参考代码如下:

           void ICACHE_FLASH_ATTR uart_init_new(void)
           {
          // Wait for FIFOs to be emptied
            UART_WaitTxFifoEmpty(UART0);
            UART_WaitTxFifoEmpty(UART1);
            // Configure UART settings
            UART_ConfigTypeDef uart_config;
            uart_config.baud_rate  = BIT_RATE_74880;
            uart_config.data_bits   = UART_WordLength_8b;
            uart_config.parity     = USART_Parity_None;
            uart_config.stop_bits   = USART_StopBits_1
            uart_config.flow_ctrl   = USART_HardwareFlowControl_None;
            uart_config.UART_RxFlowThresh = 120;
            uart_config.UART_InverseMask = UART_None_Inverse;
            UART_ParamConfig(UART0, &uart_config);
            UART_IntrConfTypeDef uart_intr;
            uart_intr.UART_IntrEnMask = UART_RXFIFO_TOUT_INT_ENA | UART_FRM_ERR_INT_ENA | UART_RXFIFO_FULL_INT_ENA;
            uart_intr.UART_RX_FifoFullIntrThresh = 100;
            uart_intr.UART_RX_TimeOutIntrThresh = 2;
            uart_intr.UART_TX_FifoEmptyIntrThresh = 20;
            UART_IntrConfig(UART0, &uart_intr);
            // Set UART1 for printing
            UART_SetPrintPort(UART1);
            // Register interrupt handler
            UART_intr_handler_register(uart0_rx_intr_handler);
            ETS_UART_INTR_ENABLE();
           }

* 上电为什么输出乱码?

전원 왜곡 출력은 외부 크리스털 옵션이 26M 때문에, 74880의 전송 속도를 선택, 정상 按下复位键或把RST引脚拉低再拉高은 시작 정보를 볼 수 있습니다. 사용할 수 있습니다 安信可串口调试助手, 볼 aithinker_serial_tool_v1.2.3.7z을

* 왜 컴파일러 때 SDK에 일어날 않는 irom0_0_seg오류를?

추천

출처www.cnblogs.com/CodeWorkerLiMing/p/11256388.html