WiFi单品设备开发-基于其他模组

更新时间:2019-06-11 17:19:14

如果用户不使用已认证的模组,本文讲解用户如何直接通过Link Kit SDK开发WiFi单品设备,用以连接飞燕平台。

在飞燕后台定义产品

  • 创建项目以及创建产品


请参考“创建产品”了解如何创建项目、以及创建产品,创建产品时“连网方式”选择“WiFi”。

注:

  • 如果手机APP使用飞燕的公版APP对设备进行管理,那么添加设备时如果发现设备是WiFi设备,那么就会进入阿里的WiFi配网过程对设备进行配网,因此设备需要集成阿里的WiFi配网功能
  • 如果设备并没有集成阿里的WiFi配网功能,而是通过触摸屏输入WiFi热点的SSID/密码或者其它配网方式,并且集成的Link Kit SDK是C语言版本、安卓版本,联网方式请选择“以太网”以避免飞燕的公版APP使用阿里配网流程来添加设备,但是同时可以使用本地发现方式来添加设备
  • 如果设备上集成Link Kit SDK的Java、NodeJS、Python、iOS版本,创建产品时“连网方式”可以设置为“蜂窝网”来避免添加设备失败
  • 产品功能定义

请参考“功能定义”来定义产品的功能

  • 添加测试设备

请参考“设备调试”来添加测试设备、设置设备的绑定策略等。

设备端开发

下面的描述以Link Kit SDK v2.3.0进行编写,若需要获取最新的SDK可以访问SDK的文档中心

模组商可以访问此处获取Link Kit SDK v2.3.0的代码,并请阅读《创建产品》熟悉如何在飞燕平台定义产品以及其功能。

注:如果开发者希望使用阿里提供的设备热点配网功能,请使用Link Kit SDK v3.0.0版本进行开发。

配置SDK

SDK解压之后,SDK的根目录下的文件如下图所示:

其中文件make.settings包含了SDK的功能配置,用户可以对make.settings中的功能选项进行裁剪,下面是针对WiFi设备的推荐定义:

FEATURE_SRCPATH="."

#打开MQTT特性
FEATURE_MQTT_COMM_ENABLED=y
#MQTT直接连接
FEATURE_MQTT_DIRECT=y
#使能物模型特性
FEATURE_DEVICE_MODEL_ENABLED=y

#使能本地通信
FEATURE_ALCS_ENABLED=y
FEATURE_ALCS_SERVER_ENABLED=y
FEATURE_DEV_BIND_ENABLED=y

#使能OTA
FEATURE_OTA_ENABLED=y

#加密库的实现
FEATURE_SUPPORT_TLS=y

#使能配网,如果确认不需要配网可以注释掉FEATURE_WIFI_PROVISION_ENABLED关闭配网
FEATURE_WIFI_PROVISION_ENABLED=y
#
# AWSS Configurations
#
#一键配网,如果不需要可以注释掉FEATURE_AWSS_SUPPORT_SMARTCONFIG关闭一键配网
FEATURE_AWSS_SUPPORT_SMARTCONFIG=y
#手机热点配网,如果不需要可以注释掉FEATURE_AWSS_SUPPORT_PHONEASAP关闭手机热点配网
FEATURE_AWSS_SUPPORT_PHONEASAP=y
#路由器配网,如果不需要可以注释掉FEATURE_AWSS_SUPPORT_PHONEASAP关闭路由器配网
FEATURE_AWSS_SUPPORT_ROUTER=y
#零配配网,如果不需要可以注释掉FEATURE_AWSS_SUPPORT_PHONEASAP关闭零配配网
FEATURE_AWSS_SUPPORT_ZEROCONFIG=y

注:如果设备支持通过某种方式输入WiFi热点的SSID/密码,比如通过串口输入WiFi热点的SSID/密码,那么可以不用使能WiFi配网功能,因为WiFi配网的HAL适配也是需要较大工作量的(一周左右)。

HAL适配

请参照下面的文档进行HAL的实现:

注:若未选择集成阿里提供的WiFi配网功能,可以不用适配这些HAL

交叉编译

请参考交叉编译示例了解如何进行交叉编译配置

WiFi配网开发

请访问Link Kit SDK的WiFi配网开发指南了解如何调用配网相关的API实现WiFi配网

云端连接以及动态连云设置

请参考设备认证了解如何将设备连接到云端,以及设备连接海外站点时动态连云的设置。

设备重置开发

对于飞燕平台来说,建议产品设计一个reset按键用于清除设备上的配置,将设备恢复到出厂状态,同时调用awss_report_reset()函数告知云端清除设备与用户的绑定关系。

因此,设备商需要在处理reset按键的逻辑中增加对awss_report_reset()的调用。

/*
 * 应用程序调用该API后,Linkkit首先往Flash里存储恢复出厂设置的标志,并向云端上报reset操作,
 * 在规定的时间内(3秒)如果没有收到云端的回复,设备会重新上传reset,直至收到云端的回复位置;
 * 有些产品希望发生reset时设备可以重新启动,如果重新启动之前reset没有上报成功,下一次连接云后,
 * 设备会首先检查Flash中恢复出厂标志是否设置,如果设置了则首先向云端上报reset,直至成功;
 */
int awss_report_reset();

物模型编程

飞燕平台上的产品需要支持物模型编程,请参考物模型编程了解如何上报属性、事件变化,如何处理来自云端的服务调用、属性设置。

OTA开发

请参考设备OTA开发中的“用高级版接口实现的OTA例程”了解如何进行OTA的开发

非C语言的Link Kit SDK由于不需要进行系统适配,同时对系统的内存要求不那么严苛,所以不提供功能裁剪功能,用户根据相关开发文档进行产品开发即可。

目前支持的Link Kit SDK支持的编程语言类型:

results matching ""

    No results matching ""