2. 在SDK 1.3中 IoT demo做了修改:
#define device_type 54403
具体代码见附件 app.7z;
3. 编译后,经过调试,设备成功激活;ping正常;此过程中遇到的问题见后文;
4. 在https://iot.espressif.cn/#/上传bin,创建新版本;点升级版本;
5. ESP8266的打印信息如下:
Code: Select all
user_esp_platform_recv_cb: {"nonce": 779601965, "get": {"action": "sys_upgrade", "version": "b1.0.8t54403(a)"}, "meta": {"Authorization": "token 9d8ea99150486f5f97db650960b349d21f2c0e9d"}, "path": "/v1/device/rpc/", "method": "GET", "deliver_to_device": true}
{"status": 200, "nonce": 779601965, "deliver_to_device": true}
GET /v1/device/rom/?action=download_rom&version=b1.0.8t54403(a)&filename=user2.bin HTTP/1.0
Host: 115.29.202.58:80
Connection: keep-alive
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
Accept: */*
Authorization: token de245dadba58f047310949e235aae55b929f1bfa
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
system_upgrade_start
upgrade_connect
upgrade_connect_cb
GET /v1/device/rom/?action=download_rom&version=b1.0.8t54403(a)&filename=user2.bin HTTP/1.0
Host: 115.29.202.58:80
Connection: keep-alive
Cache-Control: no-cache
User-Agent: Mozilla/5.0 (Windows NT 5.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
Accept: */*
Authorization: token de245dadba58f047310949e235aae55b929f1bfa
Accept-Encoding: gzip,deflate,sdch
Accept-Language: zh-CN,zh;q=0.8
user_esp_platform_sent_cb
totallen = 266
user_esp_platform_sent_beacon 126562324
user_esp_platform_sent_cb
user_esp_platform_recv_cb: {"status": 200, "epoch": 1440344766, "message": "ping success", "identified": true, "datetime": "2015-08-23 23:46:06"}
ping success
user_esp_platform_sent_beacon 176624565
user_esp_platform_sent_cb
user_esp_platform_recv_cb: {"status": 200, "epoch": 1440344816, "message": "ping success", "identified": true, "datetime": "2015-08-23 23:46:56"}
ping success
upgrade_check
user_esp_platform_upgrade_failed
{"path": "/v1/messages/", "method": "POST", "meta": {"Authorization": "token de245dadba58f047310949e235aae55b929f1bfa"},"get":{"action":"device_upgrade_failed"},"body":{"pre_rom_version":"v1.0.7t54403(a)","rom_version":"b1.0.8t54403(a)"}}
user_esp_platform_sent_cb
user_esp_platform_recv_cb: {"status": 200, "message": "send message success", "result": "success"}
升级失败;
问题: “upgrade_check” 这个打印说明什么?已经下载完了bin吗?
6. 服务器端message见下图
[img] [/img]
请帮忙分析下原因;谢谢!
调试中遇到的问题:
1. active_nonce = os_random() && 0x7FFFFFFF; “&&”应该是“&”吧? “&&”导致nonce总是1,在激活过程中循环,不停打印;
2. user_esp_platform_sent()函数中,os_memcpy(token, esp_param.token, 40); 这句改为 os_memcpy(token, esp_param.devkey, 40) 后才能正确激活;否则服务器返回400错误;why?