文件名称:
espressif_常见问题p18有两种SDK的区别.pdf
开发工具:
文件大小: 1mb
下载次数: 0
上传时间: 2019-10-15
详细说明:
8266两种编程方式的介绍,常见问题, if ((WDEV_NOW() - tick_now2) >= 1000000) {
static u32 idx = 1;
tick_now2 = WDEV_NOW();
os_printf("b%u:%d\n", idx++, j);
j = 0;
}目录
1.应用
为什么云端升级需要2个B|N文件?“user1bn”和“user2bn”有什么区别?
如何生成“use1.bn”和“user2.bin”?
如果应用使用的是不支持FOTA的固件,要将 eagle. promo. text bin下载到哪里?
云端升级失败有哪些原因?
如何通过我自己的服务器进行云端升级?
2
如何使用我自己的云服务器进行云端升级?
2
ESP8266如何和云端服务器进行交互?
n0I0 D
2
SmartConfig配网配不上有哪些原因?
2
Smart Config支持的APP对应的版本是什么?
EsP8266支持HTTP服务端吗?
如何通过AT指令发HTTP包?
如何在AT+指令中定义自己的函数?如何在函数之间传递参数?…
4
微信中的近场发现中使用的 Product id是从哪里来的?
5
ESP8266如何添加自定义AT命令,自定义AT命令字段和参数段长度限制是多少?
量着日B面日面1面
5
2.云平台…
6
在乐鑫的云平台上,设备的生命周期是怎样的?…
3.系统
EsP8266的看门狗是什么作用?
看门狗的超时间隔是多少?触发超时事件会有什么现象?
7
如果我的应用不需要看门狗,如何关闭看门狗?
如果我要在程序里面引入10秒的延迟,怎么做最好?
对于Non- OS SDK, memory leak问题如何 debug?
对于 RTOS SDK, memory leak问题如何 debug?
77788
如何优化ESP8266应用的内存使用?
发生“ fatal exception”问题如何处理?
sP8266总共有几个tmer?
10
使用tmer中断是否有特定条件?…
10
如何调整 Tx Power?
,10
为什么ESP8266 Non-OS SDK中有的函数前面添加了“ CACHE FLASH ATTE”宏?…10
为什么编译Non- OS SDK时会发生| RAM ATTR错误?
11
为什么编译的时候会发生“rom0_0_seg”错误?……
EsP8266有main吗?
面111面
12
操作指针有什么需要注意的?
12
RTOS SDK和 Non-OS SDK有何区别?
12
哪些接口需要在user_init中调用,否则容易岀现问题,或者不生效?
12
Light- sleep如何通过GP或网络事件唤醒?
13
ESP8266FRC1的 hw timer如何使用?
…………13
如何让ESP8266上电后快速连接AP?
14
为什么EsP8266进入启动模式(2,7)并触发看门狗复位?
14
EsP8266上电时打印的boot模式信息代表什么?如何改变boot模式?
15
4.硬件
16
EsP8266电压电流需求?
.16
设计ESP8266的供电时,需要注意哪些问题?
16
ESP8266上电时电流很大,是什么原因?
首面1量量1目日B
1目面1量正道1量量B1B面
.16
可以使用锂电池或者两节AA纽扣电池直接给ESP8266供电吗?
16
SP|Fash上电时,是否有特殊需求?
16
上电时序是怎样的,boot模式是如何选择的?
7
EsP8266的RAM的使用结构是怎么的?
…17
5.外设
■■■■■■口■日■■圆夏口圆■口口看■日■■■口■■■口■国日日■■■■口■■■日■量日日口■■■■■■日■夏日口口口■口■■■量■■圆
ADC的性能参数有几个通道?采样率和有效位数是多少?
19
从哪里可以得到ADC的寄存器“ bitmap”信息?
.19
ADC的精度如何?…
19
内部ADC的用途是什么?
.19
u8 tx add,u8 tx cmd,u8trep)这三个参数是什么意思?
19
为什么EsP8266上电时会出现乱码?如何修改波特率?
20
如何使能UART流控?
20
如何配置信息打印到∪ART1上?
20
sDO是否支持SD卡?
2
SDO最高速度能支持到多少?….21
为什么上电时会有LED灯闪一下的情况?
2
使用PWM时,发现最开始时有窄波,是什么原因?
22
发现PWM的变化缓慢,是什么原因?
22
GPO可以直接连5V吗?
22
哪里能找到GP|O的 register和 bitmap信息?
22
如何编程GP|O?
22
HsP|每个数据包的大小最大是多少?
23
对于多设备同时连接到EsP8266的情况,HSP是如何同时驱动设备的?
23
如何使用64字节的数据缓存?
23
如何配置(HSP接口?
23
哪些AP会保存到Fash?
a日日a:a
23
系统参数是如何保存的?
24
Fash任何位置都可以随意读写吗?
24
可以在所有的ESP8266上执行同样的Fash读写操作吗?….24
可否提供 Flash擦写例证?
24
如何判断 Flash是否支持Qo或DO模式?
∴25
为什么透传过程会丢包?
26
EsP8266有几个UART?
26
GPO电平状态是怎样的?
26
如何屏蔽上电打印?…
面B面面面画面1_面面1面量B看
27
6.协议
28
TCP/UDP的包长是多少?
28
7. Wi-FI
■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■■日■■■■■■■■■■日■■■■■■■■■■■■■■■日■■日■■■■日■■日■■■■■■日■口■■■昌日夏■■
29
设备开启 SoftER+ Station模式下,连接的路由是1921684X网段时,为什么会失败?
29
路由配置是正确的,但是发生找不到路由,连接失败,为什么?
29
调用 wifi_softap_set_config0时,函数返回成功,但为何无法修改ESP8266的 SoftAP ss|D和密
码?
29
EsP8266 SoftAP+ Station模式下网络断开或丢包的情况?
30
Wi-Fi信道是什么?可以自行选择信道吗?
31
如何配置ESP8266,以便连接到无线路由器?
.31
8.工具
圆日■日■口■■■■■■■口■■圆口量■日■■■日■■团口夏■量日口目圆■日■■■口■日日■■■日■■口口口■口口■夏■■■日日圆■
32
测试和生产时如何烧录Fash?
32
1.应用
1
应用
为什么云端升级需要2个BN文件?“user1.bin”和“user2.bin”有什么区别?
User,bi和user2bin是2个不同的BN文件。生成user1.bin和user2.bi时,必须使用相同
的Fash和boot设置,以保证OTA升级成功。2个BN文件是互补的,运行user1.bin的时候,
升级是下载user2.bi;运行User2.bi的时候,升级是下载user1.bi。这样可以保讧升级过程
中,如果有掉线的情况发生,设备还是可以正常运行。
如何生成“use1.bin”和“user2bin”?
编译环境下,执行 gen_mIsc.sh分别得到use1.bi和user2.bin。步骤如下
1.使用正确的日ash和boot配置,编译生成user1.bin。
2.执行 make clean,以便清除之前的残余信息。
3.使用相同的Fash和boot配置,编译生成user2.bin。
如果应用使用的是不支持FOTA的固件,要将 eagle. iromO text bin下载到哪里?
对于Non- OS SDK和 RTOS SDK,固件BN文件的位置取决于合适的链接脚本内容。如果应
用中使用的是不支持FOTA的固件,则用户代码包含在 eagle. romO, ext bin中。该BN文件
在Fash中的位置是由SDK/d中的链接脚本 eagle.app.v6,J决定的。
注意:在所有版本ESP8266SDK中, eagle. promo,tex.bin的默认位置并不都是一样的。用户
可以确认在自己的ESP8266SDK版本中,该BN文件在Fash中的位置。如下图所示
MEMo
oporto_0_ seg
org 0x3FF00000, len = 0x10
dram 0 seg
org = 0X3FFE8000, len =0X14000
iral_0seg
org=0x4019000,ten=0x890
irom0 0 seg
org=0x4021000ten=x5c000
图中标蓝的数字表示 eagle. roma. text. bin在Fash中的地址。在上图的例子中,该地址为
010000
云端升级失败有哪些原因?
云端升级的详细介绍参考文档《ESP8266FA云端升级指南》
请先检查以下问题
确认使用了正确大小的Fasn
2016.11
1.应用
确认是否烧录了 blank bir做初始化。
·确认user1.bin和user2.bin下载到了正确的地址。
·确认生成user1.bin和user2.bin使用了相同的Fash、boot配置。
如何通过我自己的服务器进行云端升级?
如果通过客户自己的服务器升级,请确认服务器满足下面的要求。
1.发送HEAD指令到云端服务器,询问待升级的BN文件长度,服务器回复的HTTP包头中要
求带有BN文件的长度信息。
2.根据上述方法查询到的BN文件长度,在ESP8266模块的Fash待升级区域,擦除该指定
长度(spi_ flash erase sector),等待下载。
发送GE指令,从服务器下载BN文件,写入到Fash的待升级区域。
如何使用我自己的云服务器进行云端升级?
客户可以使用自己的云服务器,但是要能支持HTP请求,并可以支持设备控制功能
云端的AP,请见:btp;/o+ espresso.cn#/ap-zh=cn。
EsP8266如何和云端服务器进行交互?
可以使用标准HTTP协议连接云服务器。比如,ESP8266使用如下的HTTP请求。
Get /your-bin-file-path. bin Http/1.1
Host:yourdomain.com
Connection: keep-aLive
Cache-Control: max-age=0
Accept
text/html, application/xhtmL+xmL, application/xmL; 9=0.9, image/webp, */*, q=0.8
User-Agent
MoziLLa/5.0(X1l; Linux x86_64) AppleWebkit/537.36(KHTML,
like Gecko) Chrome/39.0. 2171.95 Safari/537. 36
Accept-Encoding: gzip, deflate, sdch
Accept-Language
en-US, en; 9=0.8, ja; q=0. 6, zh-CN; q=0. 4, zh-TW; q=0. 2
注意:HTTP协议规定请求以“nrin为结束,所以在通讯过程中请不要使用这样的组合。
客户可以通过下面的方法来 debug服务器
telnet
请事先确认 telnet在您的PC上是可以使用的,或者使用其他的支持 telnet的终端软件乜可以达到
同样的目的,比如 TeraTerm。
SmartConfig配网配不上有哪些原因?
请做以下检查
spressif
2/33
2016.11
1.应用
1.APP版本是否支持SDK版本或 SmartConfig版本。
2.手机连接的路由器不能是单5G路由(双频路由器除外)。
3. SmartConfig过程中不要调用其他APl
4.使用AT时,设备没有获得P之前,不要调用 smartconfig_stop。
如以上排除,请调用smα rtconfig_stαrt时打开 debug模式。把连接失败和成功的log发给我们技
术做支持分析。
SmartConfig支持的APP对应的版本是什么?
调用 smartconfig_ start()接口,会有“ SC version:wXX版本信息打印。这是ESP- TOUCH模块
的版本号。下面是非OS对应的 SmartConfig版本和APP版本。
sdk v1.2.0
smartcontig v2 4
app v0.3.4.X
sdk v1. 3.0
smartconfig v25
app vO.3.4.X
sdk y1.3.0
smartconfig V25. 1
app vO.3.4.X
sdk y1, 4.0
smartconfig v25.2
app vO.3.4.X
sdk v1.5.0
smartcontig v25. 3
app vo.3.4.X
sdk v1.5. 4
smartconfig v25.4
app v0.3.4.X
ESP8266支持HTTP服务端吗?
支持。ESP8266在 SoftAP和 Station模式下都可以作服务端。
在SOAP模式下,ESP8266的服务端卩地址是192.168.4.1
如果 Station模式,服务端的P地址为路由器分配给ESP8266的P
如果是基于SDK二次开发,那么需使用 escon结构体和相关AP
如果是使用AT指令,需使用AT+ CIPSERVER开启服务端
如何通过AT指令发HTTP包?
1.AT指令配置 SoftAP+ Station模式:AT+CWDE=3// set softAP+ station mode
2.A指令连接路由:AT+ CWJAP="SsID"," password"〃/ESP8266 station connect to router
3.创建TC尸连接,按照HP包的格式发送数据,如下图红框标注,请注意,HTP包中旳换行
符[O× Od oxoa)or(CRL是必须的,不能省去。
spressif
3/33
2016.11
1.应用
AT+CIPSTART= TCP
n bing com",80
CONNECT
OK
AT+CIPSEND=75
OK
Get/Http/1.1
User-Agent:cur1/7.37.0
Host:cn.bing.com
Accept
4.收到HTTP包的回复。
Ipd, 1460: Http/1.1 200 Ok
Cache-Control: private, max-age=O
Transfer-Encoding: chunked
Content-Type: text/html; charset=utf-8
vary: Accept-Encoding
Server: Microsoft-IIS/8. 5
如何在AT+指令中定义自己的函数?如何在函数之间传递参数?
在 Non-OS SDK中的AT示例(ESP8266 NONOS_ SDK \examples \at \user user-_main.c)中有
提供如何实现一条自定义的AT指令“AT+TEST”。
结构体at- funcation Type用于定义一条指令的四种类型,例如指令名称“AT+TEST"。
类型 at tested:测试指令,对应指令为AT+TEST=?,AT示例中注册的实现回调为
at- testCmdTest,测试指令可以设计为返回参数的取值范围;注册为NUuL,则无测试指令。
类型 at_query Cmd:查洵指令,对应指令为AT+TEST?,AT示例中注册的实现回调为
at_query CmdTest,查询指令可以设计为返回当前值;注册为NULL,则无查询指令。
类型at_ setup Cmd:没置指令,对应指令格式为AT+TEST- parameter1, parameter2,
AT示例中注册的实现回调为 at_setupCmdTest,设置指令可以设计用于设置参数值;注册为
NULL,则无设置指令。
类型 at execmd:执行指令,对应指令为AT+TEST,AT示例中注册的实现回调为
at_ exeCmdTest,执行指令可以设计用于执行某项操作;注册为№LL,则无执行指令。
spressif
4/33
2016.11
(系统自动生成,下载前可以参看下载内容)
下载文件列表
相关说明
- 本站资源为会员上传分享交流与学习,如有侵犯您的权益,请联系我们删除.
- 本站是交换下载平台,提供交流渠道,下载内容来自于网络,除下载问题外,其它问题请自行百度。
- 本站已设置防盗链,请勿用迅雷、QQ旋风等多线程下载软件下载资源,下载后用WinRAR最新版进行解压.
- 如果您发现内容无法下载,请稍后再次尝试;或者到消费记录里找到下载记录反馈给我们.
- 下载后发现下载的内容跟说明不相乎,请到消费记录里找到下载记录反馈给我们,经确认后退回积分.
- 如下载前有疑问,可以通过点击"提供者"的名字,查看对方的联系方式,联系对方咨询.