Coder Social home page Coder Social logo

esp-joylink's Introduction

章节介绍:

  • 1. 概述: 介绍背景。
  • 2. Demo 使用: 介绍 Demo 如何跑起来。包括环境搭建,编译下载,设备控制。
  • 3. 开发指南: 介绍 Demo 如何二次开发。包括文件结构,功能介绍,API介绍,资源占用。
  • 4. 相关链接: 给出与 joylink 相关的链接。包括 Demo 下载,微联文档。

1. 概述

ESP 平台实现了京东微联 Joylink2.1.22 协议。用户可以参考 Espressif 提供的设备端 Demo 进行二次开发,快速接入京东微联云平台。

Demo 参考京东官方 Joylink2.1.22 SDK,添加了 WiFi 相关、OTA、Flash 存储等适配层,用户只需要关心少部分 API,如初始化、数据收发、事件回调等,加快了用户的二次开发速度。适配层具有一定的通用性且开源,用户可根据产品需求自行修改。 Demo 使用的通讯方式为非透传模式。非透传模式下需要在开发者中心上传空实现的 lua 脚本: only_trans.lua

目前京东微联已经停止支持 SmartConfig 的配网方式,所以 Demo 中删除 SmartConfig 配网,目前支持 SoftAp 和 Thunder 配网,芯片上电默认进入 SoftAP 配网,如果用户需要使用 Thunder 配网,需要购买京东的音箱,音箱需要进入沙箱模式,与音箱相关的设置,用户可以咨询京东。

2. Demo 使用

用户拿到乐鑫提供的 esp-joylink 后,根据不同的 example 编译下载固件到乐鑫 ESP8266 、 ESP32 或者 ESP32-S 系列和 ESP32-C 系列开发板或模组。使用京东微联 APP 扫描测试设备的二维码进行配置。配置激活成功后便可进行设备控制。此 Demo 对应的测试设备类型为“智能家居 / 生活电器 / 灯具”。

2.1. 环境搭建

2.2 编译下载

  • 工程编译 首先设置 IDF_PATH 的路径,并使用对应芯片支持的 esp-idf 版本进行下一步配置

    Chip v4.2 v4.3 v4.4
    ESP32 supported supported supported
    ESP32-S2 supported supported supported
    ESP32-C3 supported supported
    ESP32-S3 supported

    对于 ESP8266 & ESP8285 芯片,支持使用 ESP8266_RTOS_SDK v3.3 或 v3.4 版本。

    然后在 menuconfig 里面配置 joylink 相关参数 UUIDCIDPIDPUBLIC_KEYPRIVATE_KEYMAC_ADDRESS,其中 UUIDCIDPID 分别代表产品的唯一标识码、品类和品牌,在云端产品中的位置如下

    i2c hardware

    PUBLIC_KEY 为产品公钥,显示在设备端开发页面,设备认证采用一机一密的方式 ,用户需导入 MAC_ADDRESS (设备 MAC 地址) 来生成 PRIVATE_KEY (设备私钥) ,具体生成方式请在设备端开发页面点击 “导入 MAC 地址生成私钥” 选项并按提示进行。

    i2c hardware

    以light_demo为例,我们提供了默认的sdkconfig.defaults及partiton table文件(light_demo/default_configs目录下),用户可根据芯片不同,进行使用和参考。

    进入example/light_demo目录,然后输入命令 $IDF_PATH/tools/idf.py build, 编译工程。对于 ESP32-S2 平台,执行 build 命令之前应先执行$IDF_PATH/tools/idf.py set-target esp32s2 命令,切换为 ESP32-S2 的编译环境,之后再 $IDF_PATH/tools/idf.py build 编译工程。同样对于 ESP32-S3 和 ESP32-C3 平台,也需要在执行 build 命令之前执行 ESP32-S2 平台相类似的命令。

    (如果使用 ESP8266_RTOS_SDK v3.2,请使用 make 命令进行编译工程)

  • 固件烧写

    1. 如果没有安装串口驱动,需要先安装串口驱动
    2. 输入命令 $IDF_PATH/tools/idf.py -p PORT flash (ESP8266_RTOS_SDK v3.2 使用 make flash ESPPORT=PORT ) ,将编译好的 bin 文件烧录到开发板中,PORT 选择和配置请参考文档说明

对于ESP32、ESP32-S3 和 ESP32-C3 平台,Demo中包含两种配网方式: SoftAP 配网和 BLE 配网,可在 menuconfig 的 joylink 组件配置中进行选择切换,默认是使用SoftAP 配网

i2c hardware

若切换 BLE 配网,首先需使能 Whether or not use Joylink ble configure wifi 选项,然后要在云端产品的基本信息页面中选择 "京东BLE配网" 并保存,最后重新编译和烧写后方可使用。

i2c hardware

3. 开发指南

本章详细介绍 Demo 工程,如需二次开发请关注本章。 用户需要调用的 API 和参数配置相关的头文件在 port/include/esp_joylink.h 中。

3.1 文件结构

.
├── CMakeLists.txt
├── component.mk
├── docs
│   ├── md                                            //  md files
│   │   └── 量产说明.md
│   └── _picture
│
├── config
│   └── mass_mfg
│       ├── multipule_mfg_config.csv
│       ├── multipule_mfg_values.csv
│       └── single_mfg_config.csv
│   
├── examples
│   ├── light_demo                                    //  light_demo
│   │   ├── CMakeLists.txt
│   │   ├── components
│   │   ├── default_configs                           // default sdkconfigs
│   │   ├── main
│   │   ├── README.md
│   │   └── Makefile
│   └── transparent_transmission
│   
├── joylink_dev_sdk                                   // joylink SDK source code
│   ├── ble_sdk
│   ├── example
│   ├── joylink
│   ├── lua
│   ├── Makefile
│   ├── pal
│   ├── README
│   └── scripts
│       
├── Kconfig
├── port                                              // joylink SDK adaptation
│   ├── include
│   ├── joylink_ble.c
│   └── joylink_upgrade.c
│
└── README.md

3.2 参数配置

  • 产品信息配置
    memuconfig 中, 用户可以修改以下这些参数,如 AES_KEY, UUID, PID等,系统会调用 joylink_dev_init() 传入产品注册的信息,注册事件回调函数。用户如果需要修改为自己的设备,首先需要在京东开发者中心上申请自己的设备,并根据相应设备信息在此处修改。
    因为这些参数需要在服务器后台产品基本信息里获取,或者向京东有关部门咨询。

3.3 配网

京东配网方式目前主推 SoftAP(自主激活), Demo 中同时支持 SoftAP(自主激活+代理激活)、Thunder 配网, 默认设置是进入 SoftAP 自主激活, 如果需要代理激活,可以在 Makefile 中将自主激活的宏关闭。

i2c hardware

3.4 固件升级

实现固件升级需要上传新的固件到服务器后台。并填写正确的版本信息。 注意: 厂商必须严格按照固定格式填写版本号,如(1.1.1.20151020_release)。 如下图,后台设置在线升级界面。序号是上传 bin 文件后自动生成的。设备端上传的 version 如果与这个版本号不同, APP 会自动推送 OTA 的提示。

i2c hardware

3.5量产功能

每台设备对应唯一的UUID、DeviceMAC、PrivateKey,用户除了可以在menuconfig配置相关参数信息,也可以通过烧录NVS分区的方式进行量产。

具体请参考量产说明

如果执行了idf.py erase_flash, 需要重新烧录三元组

4. 相关链接

esp-joylink's People

Contributors

allanchen24 avatar lhespress avatar tswen avatar wujiangang avatar xcguang avatar xiewenxiang avatar xiongyumail avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

esp-joylink's Issues

如何正确调用函数删除设备,使其重新配网 (AEGHB-55)

目前想实现配网指令操作,使已配网的设备能重新配网,调用方法如下:
esp_joylink_wifi_clear_info();
joylink_sub_dev_del_by_mac();
其中joylink_sub_dev_del_by_mac实现如下:
char mac_buf[12] = {0x0};
joylink_dev_get_user_mac(mac_buf);
JLSubDevData_t *info_out = NULL;
joylink_sub_dev_get_by_deviceid(mac_buf,info_out);
//printf("delete feedid: %s\n", info_out->feedid);
//joylink_sub_dev_del(info_out->feedid);
joylink_dev_sub_unbind(info_out->feedid);
是根据mac调用删除,但是APP删除后,再次配网会失败,请问应该如何去做呢?

ota failed

调试OTA功能的时候,重启了,查看日志发现:boot parition NULL,.在烧录的时候,有一个:partitions_singleapp.bin,烧录位置是0x8000.都是默认的配置,为什么会报错呢?esp_joylink.bin的烧录地址是0x10000,那么FLASH里面的布局是怎么样的?跟之前的版本有user1.bin 和user2.bin的概念不一样吗?

esp8266平台编译错误?找不到蓝牙头文件?

  • 我在搭建好编译环境之后,make menuconfig之后,开始编译 make 之后发现报错如下:
  • 纳闷的是,根据提示好像找不到 与蓝牙相关的头文件? esp8266和蓝牙没关系啊?
CC build/esp-joylink/port/app/joylink_app.o
E:/Espressif/Esp32/esp-idf/home/XuHongYss/ESP8266_RTOS_SDK/MyProject/esp-joylink/port/app/joylink_app.c:29:29: fatal error: esp_gap_ble_api.h: No such file or directory
compilation terminated.
make[1]: *** [/home/XuHongYss/ESP8266_RTOS_SDK/make/component_wrapper.mk:286:port/app/joylink_app.o] 错误 1
make: *** [E:/Espressif/Esp32/esp-idf/home/XuHongYss/ESP8266_RTOS_SDK/make/project.mk:467:component-esp-joylink-build] 错误 2

ttl h938evhexn dfpt8

配网完成后出现joylink_timestamp_parse error

ESP32 IDF4.2
配网完成后出现joylink_timestamp_parse error ,这个函数是在库里面,你那边有出现这种情况吗

日志

[2020-11-03 19:08:26.668]# RECV ASCII>
�[0m�[1;36m[INFO][2378904994][joylink_dev_timer.c][joylink_cloud_timestamp_post][1088]

http txbuf =

POST /plat/servertimestamp HTTP/1.1

HOST: smartopen.jd.com:80

Connection: close

Accept: /

�[0m[smartopen.jd.com] ip address:[106.39.171.70] [1185621866]

[106.39.171.70] ip address

[2020-11-03 19:08:26.771]# RECV ASCII>
�[1;36m[INFO][2378905115][joylink_extern.c][joylink_dev_http_post][919]

... read data length = 308, response data =

HTTP/1.1 200 OK

Date: Tue, 03 Nov 2020 11:08:27 GMT

Content-Type: text/plain;charset=UTF-8

Content-Length: 94

Connection: close

Expires: Tue, 03 Nov 2020 11:08:25 GMT

Cache-Control: max-age=0

Server: jfe

{"timestamp":1604401705182,"timestampString":"1604401705182","datetime":"2020-11-03 19:08:25"}

�[0m�[1;36m[INFO][2378905143][joylink_extern.c][joylink_dev_http_parse_
[2020-11-03 19:08:26.848]# RECV ASCII>
content][772]

content =

{"timestamp":1604401705182,"timestampString":"1604401705182","datetime":"2020-11-03 19:08:25"}

�[0m�[0;31m[ERROR][2378905162][joylink_dev_timer.c][joylink_cloud_timestamp_post][1100]

joylink_timestamp_parse error

[2020-11-03 19:08:27.854]# RECV ASCII>
�[0m�[1;36m[INFO][2378906164][joylink_dev_timer.c][joylink_cloud_timestamp_post][1088]

http txbuf =

POST /plat/servertimestamp HTTP/1.1

HOST: smartopen.jd.com:80

Connection: close

Accept: /

�[0m[smartopen.jd.com] ip address:[106.39.171.70] [1185621866]

[106.39.171.70] ip address

[2020-11-03 19:08:28.023]# RECV ASCII>

ESP8266编译出错

n file included from /mnt/hgfs/linux_share/esp-joylink/port/include/netinet/in.h:5:0,
from /mnt/hgfs/linux_share/esp-joylink/joylink_cloud/joylink_dev_sdk_2.0.09/json/../joylink/joylink_sub_dev.h:6,
from /mnt/hgfs/linux_share/esp-joylink/joylink_cloud/joylink_dev_sdk_2.0.09/json/joylink_json.h:10,
from /mnt/hgfs/linux_share/esp-joylink/joylink_cloud/joylink_dev_sdk_2.0.09/agent/joylink_agent_json.c:15:
/home/sun/esp/ESP8266_RTOS_SDK/components/lwip/lwip/src/include/lwip/sockets.h:585:51: error: conflicting types for 'lwip_ioctl'
#define ioctl(s,cmd,argp) lwip_ioctl(s,cmd,argp)
^
/home/sun/esp/ESP8266_RTOS_SDK/components/vfs/include/sys/ioctl.h:21:5: note: in expansion of macro 'ioctl'
int ioctl(int fd, int request, ...);

设备配网成功,激活错误:“缺少签名密钥”

  • esp32、 v3.3分支
  • 设备配网成功,激活错误:“缺少签名密钥”
[INFO][E:/Espressif/Esp32/esp-idf/home/XuHongYss/esp-joylink/joylink_cloud/joylink_dev_sdk/joylink/joylink_cloud_log.c][joylink_cloud_log_post][311]
http txbuf =
POST /dev HTTP/1.1
Host: smartopentest.jd.com
Accept: */*
content-type: application/x-www-form-urlencoded; charset=utf-8
Content-Length:515

&360buy_param_json={
        "log_body":     [{
                        "tagId":        "D4",
                        "result":       "-1",
                        "time": "2018-12-21 17:20:20",
                        "token":        "6233393964393737",
                        "payload":      "[CloudLog]verify cloud signature fail",
                        "duration":     "0",
                        "feedId":       "",
                        "uuid": "758C43",
                        "deviceId":     "240AC4886699"
                }],
        "biz_id":       "softAp_conf_log"
}&device_id=240AC4886699&method=jingdong.smart.api.device.logreport&pro_uuid=758C43&random=bb1d135bc46414fe23ed4fd367f88064&timestamp=2018-12-21 17:20:20&v=2.
0&sign=4A569B6806B1C010CF9AE246BC8CB67B
revbuf:322, 7c
{"error_response":{"en_desc":"Missing secret","zh_desc":"缺少签名密钥","debugInfo":"7JDB65921574247989387","code":29}}
0


[ERROR][E:/Espressif/Esp32/esp-idf/home/XuHongYss/esp-joylink/joylink_cloud/joylink_dev_sdk/joylink/joylink_dev_active.c][joylink_dev_active_post][475]
dev active error

小京鱼app显示传入参数非法

设备接入京东成功后,在小京鱼app上删除设备
1、如果这时将设备重启,再添加设备,会显示传入参数非法,然后小京鱼app不能绑定设备
2、如果不重启设备,则能添加设备

***ERROR*** A stack overflow in task wifi has been detected. 任务栈大小不够?

  • 环境:esp-idf 3.1 commid: 22da5f6de9ff3657fa7613fc06ad2eca1d1fe14a win10
  • 硬件:esp32 dev开发板
  • 问题:配网过程中,一旦正确获取到 ssidpassword 之后,立刻报错:
  • 我不知道哪里来的 wifi 任务?
JLdevice_aes_decrypt***ERROR*** A stack overflow in task wifi has been detected.
abort() was called at PC 0x4009355c on core 0
0x4009355c: vApplicationStackOverflowHook at E:/Espressif/Esp32/esp-idf/home/XuHongYss/esp-idf-3.1/esp-idf/components/esp32/panic.c:649


Backtrace: 0x4009336c:0x3ffdf0b0 0x40093543:0x3ffdf0d0 0x4009355c:0x3ffdf0f0 0x40090018:0x3ffdf110 0x40091ebc:0x3ffdf130 0x40091e72:0x000000ea
0x4009336c: invoke_abort at E:/Espressif/Esp32/esp-idf/home/XuHongYss/esp-idf-3.1/esp-idf/components/esp32/panic.c:649

0x40093543: abort at E:/Espressif/Esp32/esp-idf/home/XuHongYss/esp-idf-3.1/esp-idf/components/esp32/panic.c:649

0x4009355c: vApplicationStackOverflowHook at E:/Espressif/Esp32/esp-idf/home/XuHongYss/esp-idf-3.1/esp-idf/components/esp32/panic.c:649

0x40090018: vTaskSwitchContext at E:/Espressif/Esp32/esp-idf/home/XuHongYss/esp-idf-3.1/esp-idf/components/freertos/tasks.c:3564

0x40091ebc: _frxt_dispatch at E:/Espressif/Esp32/esp-idf/home/XuHongYss/esp-idf-3.1/esp-idf/components/freertos/portasm.S:406

0x40091e72: _frxt_int_exit at E:/Espressif/Esp32/esp-idf/home/XuHongYss/esp-idf-3.1/esp-idf/components/freertos/portasm.S:206


Rebooting...
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:5824
ho 0 tail 12 room 4
load:0x40078000,len:9020
load:0x40080000,len:6064
0x40080000: _WindowOverflow4 at E:/Espressif/Esp32/esp-idf/home/XuHongYss/esp-idf-3.1/esp-idf/components/freertos/xtensa_vectors.S:1685

entry 0x40080330
0x40080330: _KernelExceptionVector at ??:?

8266 OTA Open file error

�[0m�[1;36m[INFO][3649902160][joylink_extern_ota.c][joylink_get_file_size][200]

recv:
HTTP/1.1 200 OK

Server: nginx

Date: Fri, 16 Apr 2021 07:20:05 GMT

Content-Type: application/octet-stream

Content-Length: 3072

Connection: keep-alive

x-jss-request-id: B559CD853ACDEE98

Accept-Ranges: bytes

ETag: "6164c71ca529e0be35cb7de44ff52bb6"

Last-Modified: Fri, 16 Apr 2021 07:19:36 GMT

Age: 0

Via: http/1.1 ORI-BJ-UNI-HT-PCS-45 (jcs [cMs f ]), http/1.1 ORI-CLOUD-WZ-BFP-80 (jcs [cMsSf ]), http/1.1 ZHJ-CT-3-BFP-50 (jcs [cMsSf ])

Access-Control-Allow-Origin: *

Timing-Allow-Origin: *

X-Trace: 2礃?:

�[0m�[1;36m[INFO][3649902227][joylink_extern_ota.c][joylink_ota_get_info][244]

file size 3072

�[0mOpen file error!
�[0;31m[ERROR][3649902243][joylink_extern_ota.c][joylink_ota_get_info][248]

open file error

�[0m�[1;36m[INFO][3649902256][joylink_extern_ota.c][joylink_ota_report_status][466]

status: 3, version: 4


\esp-joylink\examples\light_demo\components\joylink_extern\joylink_extern_user.c

image

能否使用flash_download_tools烧录?

现在采用的是make flash指令烧录,想做成跟之前的产品兼容也方便生产,请问如果使用flash_download_tools工具该如何设置参数?

一机一密的烧录方式

现在京东平台使用的一机一密的验证方式,要先将MAC上传京东平台,京东会生成对应的私钥,然后用户再把私钥下载下来,烧录的时候,除了程序,还要把MAC和对应的私钥一并烧录,否则就无法通过京东验证,从而无法配网和使用。请问,乐鑫这边有什么好的解决方案吗?可以在烧录程序的时候,一并把MAC和私钥烧录进去,要能适用批量化生产。

***ERROR*** A stack overflow in task wifi has been detected. 任务栈大小不够。

  • 环境

    • ESP_IDF VERSION: v3.0.7-dirty、commit:7e0ea6b05db8ad5d1a8dc183414ca8cd456ec934
    • win10
    • JOYLINK VERSION: 2.0.15
  • 问题描述:当配网获取到正确的 ssid和password之后,每次都是报错如下,我不知道哪里创建了这个任务导致任务栈不够重启;这个我怀疑不是 sdk 版本问题,我之前用 3.1分支也是这个问题复现。

------------------->SYNC (CH:3) 23
------------------->SYNC (CH:3) 22
B(4=20)--ea,cc,e1,7c
Len=32:20,4b,66,74,af,d2,aa,85,b6,01,77,ea,cc,e1,7c,c8,94,f7,64,9a,15,9e,d2,0e,ff,c3,e5,1f,32,69,b9,68,
JLdevice_aes_decrypt start IU4CGTGXT88JFQTW
***ERROR*** A stack overflow in task wifi has been detected.
abort() was called at PC 0x4008c66c on core 0

Backtrace: 0x4008c554:0x3ffdde90 0x4008c653:0x3ffddeb0 0x4008c66c:0x3ffdded0 0x400896cc:0x3ffddef0 0x4008b36c:0x3ffddf10 0x4008b322:0x00000000

Rebooting...
ets Jun  8 2016 00:22:57

rst:0xc (SW_CPU_RESET),boot:0x13 (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0018,len:4
load:0x3fff001c,len:5744
ho 0 tail 12 room 4
load:0x40078000,len:0
load:0x40078000,len:13844
entry 0x40078fc4
�[0;32mI (30) boot: ESP-IDF v3.0.7-dirty 2nd stage bootloader�[0m
�[0;32mI (30) boot: compile time 10:13:26�[0m
�[0;32mI (30) boot: Enabling RNG early entropy source...�[0m
�[0;32mI (36) boot: SPI Speed      : 40MHz�[0m
�[0;32mI (40) boot: SPI Mode       : DIO�[0m
�[0;32mI (44) boot: SPI Flash Size : 4MB�[0m
�[0;32mI (48) boot: Partition Table:�[0m

esp8266 OTA 升级失败

日志:
Server org ctrl type:7:
�[0mtime now: 1602743406, time old: 1602743400
�[1;36m[INFO][720605657][joylink_json.c][joylink_parse_server_ota_order_req][323]
ota order: {"cmd":"ota","data":{"upgradetype":1,"feedid":"761601602726557792","crc32":3823141577,"productuuid":"904E1D","versionname":"0.1.0.20201015_rc","url":"http://s.360buyimg.com/devh5/esp-joylink_1602740002903.bin","version":2},"serial":53006}
�[0m�[1;36m[INFO][7206
[2020-10-15 14:30:06.922]# RECV ASCII>
05704][joylink_dev_server.c][joylink_proc_server_ota_order][836]
send to server len:64:ret:64
�[0m�[1;32m[DEBUG][720605717][joylink_extern.c][joylink_dev_ota][657]
serial:53006 | feedid:761601602726557792 | productuuid:904E1D | version:2 | versionname:0.1.0.20201015_rc | crc32:-471825719 | url:http://s.360buyimg.com/devh5/esp-joylink_1602740002903.bin
�[1;32m[DEBUG][720605758][joylink_packets.c][joylink_package_ota_upload_req][339]
new ota upload rsp data:{"cmd":"o
[2020-10-15 14:30:06.998]# RECV ASCII>
tastat","data":{"feedid":"761601602726557792","productuuid":"904E1D","status":1074816784,"status_desc":"尵$@","progress":-471825719}}
�[0m�[1;36m[INFO][720605793][joylink_dev_server.c][joylink_server_ota_status_upload_req][803]
send to server len:176:ret:176
[2020-10-15 14:30:07.109]# RECV ASCII>
�[0m�[1;36m[INFO][720605876][joylink_dev_server.c][joylink_proc_server][1047]
Server org ctrl type:8:
�[0m�[1;36m[INFO][720605878][joylink_dev_server.c][joylink_proc_server_ota_upload][874]
OTA UPLOAD ACK code 0 msg success

从日志看是OTA进入了,但是好像没有去调用OTA的函数,于是我在
E_JLRetCode_t
joylink_dev_ota(JLOtaOrder_t *otaOrder)
{
if(NULL == otaOrder){
return -1;
}
int ret = E_RET_OK;

log_debug("serial:%d | feedid:%s | productuuid:%s | version:%d | versionname:%s | crc32:%d | url:%s\n",
otaOrder->serial, otaOrder->feedid, otaOrder->productuuid, otaOrder->version, 
otaOrder->versionname, otaOrder->crc32, otaOrder->url);

// ret = esp_ota_task_start((const char*)otaOrder->url);
// printf("========ota===========\r\n");
//xTaskCreate(joylink_ota_task, "joylink_ota_task", 1024*8, (void * const)otaOrder, 2, NULL);
joylink_ota_task(otaOrder);
return ret;

}
确实在ota,但是日志会收到

Task watchdog got triggered.
Task stack [joylink_main_ta] stack from [0x3fffd58c] to [0x3ffff588], total [8192] size

joylink更新了

现在京东官方的joylink固件已经更新到2.0.19,而且配网方式也从默认的一键配置更改成了softap,请问esp-joylink什么时候也更新呢?

增加自己的一个任务后,连京东云的任务和自己的任务无法交替执行

我在代码里面增加自己的串口任务,增加后只执行自己的串口任务,不执行joylink_main_task,请问我要如何写自己的任务
void esp_joylink_app_start(void)
{
xTaskCreate(uart_recv_thread, "uart_recv_thread", 10245, NULL, 2, NULL);
xTaskCreate(joylink_main_task, "joylink_main_task", 1024
20, NULL, 2, NULL);
xTaskCreate(joylink_task, "jl_task", 1024*8, NULL, 2, NULL);
}

soft AP配网

此demo配网采用soft ap模式,为何不行,发不出模块的SSID啊

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.