Skip to content

Demo project for JD joylink, support esp32 & esp8266.

Notifications You must be signed in to change notification settings

zhaihao118/esp-joylink

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

28 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

章节介绍:

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

1. 概述

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

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

2. Demo 使用

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

2.1. 环境搭建

2.2 编译下载

  • 工程编译
    首先需要在menuconfig里面配置开发版的类型,在 menuconfig 选择目标板是 ESP8266 或者是 ESP32。

    然后设置 IDF_PATH 的路径,如果是 ESP8266, 则选择 ESP8266_RTOS_SDK v3.0 的路径, 如果是 ESP32, 则选择 ESP-IDF v3.1的路径。

    最后再输入命令 make, 编译工程。

  • 固件烧写

    1. 如果没有安装串口驱动,需要先安装串口驱动
    2. 输入命令 make flash, 将编译好的 bin 文件烧录到开发版中。

2.3 运行

  • 操作步骤

    序号 设备 状态灯 APP
    1 上电,串口正常打印 不亮 -
    2 配网按键,进入配网 慢闪 扫码开始配置
    3 配网成功,连接服务器 快闪 显示可使用设备
    4 连接服务器成功 常亮 显示设备控制界面
    5 设备被控时状态灯会显示 亮灭 控制设备状态
  • 扫描二维码

    i2c hardware
  • 配网界面

    i2c hardware

3. 开发指南

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

3.1 文件结构

├── examples
│    └── light_demo                         // light demo
│       ├── Makefile
│       ├── README.md
│       ├── button
│       ├── main
│       │   ├── Kconfig
│       │   ├── app_main.c
│       │   └── component.mk
│       └── sdkconfig.defaults
├── joylink_cloud                           // joylink SDK source code
│    ├── docs
│    ├── joylink_ble
│    ├── joylink_dev_sdk_C_2.0.8
│    ├── joylink_smnt_v3.0.11
│    └── joylink_softap_V3.0.4
├── port                                    // joylink SDK adaptation
│    ├── app
│    ├── ble
│    ├── extern
│    ├── include
│    ├── jdinnet
│    └── softap
├── component.mk
├── docs
└── README.md

3.2 参数配置

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

3.3 配网

京东一键配置方式包括:BLE 配网,京豆标准一键配置,京豆标准一键配置+SoftAp。Demo 中使用的配网方式为京东标准一键配置,后台填写的联网方式代码为 KMYXDI63HNBFF9CG , 如需其他配网方式代码请咨询京东。

i2c hardware

3.4 固件升级

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

i2c hardware

3.5 辅助功能

增加了按键重启,与 led 状态指示功能。用户可以修改宏使能。

4. 相关链接

About

Demo project for JD joylink, support esp32 & esp8266.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 84.4%
  • C++ 5.3%
  • SourcePawn 5.0%
  • Lua 2.6%
  • Makefile 1.8%
  • Python 0.7%
  • Shell 0.2%