sdk-hwV1.3/lichee/xr806/appos/project/example/airkiss/readme.md

133 lines
4.2 KiB
Markdown
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# AirKiss示例工程
> AirKiss示例工程展示了XRadio SDK中AirKiss配网接口的使用方法。
>
> 本工程中提供以下示例:
>
> 1. AirKiss配网接口示例
> 2. XRadio SDK配网助手使用示例
------
## 适用平台
> 本工程适用以下芯片类型:
>
> 1. XR806系列芯片
> 本工程适用以下评估板类型:
> 1. 底板XR806_EVB
> 2. 模组XR806_MD01
> 本工程在基于"XR806_MD01"的“XR806_EVB”板上测试通过。
> 若需要在其他适用芯片和评估板上运行本工程请根据快速指南《XRadio_Quick_Start_Guide-CN》的提示进行相关配置修改。
> XRadio Wireless MCU芯片和评估板的更多信息可在以下地址获取
> https://docs.xradiotech.com
## 工程配置
> defconfig
>
> - CONFIG_WLAN_STA必选项配置支持station模式
> - CONFIG_WLAN_AP必选项配置支持ap模式
>
> Makefile
>
> - N/A
>
> board_config.h
>
> - N/A
>
> board_config.c
>
> - N/A
>
> prj_config.h
>
> - PRJCONF_NET_EN: 必选项,配置使用网络功能
## 模块依赖
> 必选项
>
> 1. libairkiss_aes.aairkiss库
> 2. libsc_assistant.aXRadio SDK配网助手库该库可以提高配网的成功率。
> 可选项
>
> 无
## 工程说明
> 本工程主要目的是为了展示XRadio SDK中AirKiss配网接口的使用方法及使用流程AirKiss配网接口中有较多阻塞接口故在实际开发过程中建议单独建立配网线程来运行AirKiss配网接口。在使用AirKiss配网接口前需要对AirKiss配网技术有一定的了解详细可参考<https://iot.weixin.qq.com/wiki/new/index.html?page=4-1-1>
>
> AirKiss基本原理是设置芯片在monitor模式下通过抓取空气中的包利用数据帧的长度来承载有效信息 ,从而达到配网的目的。
### 操作说明
> 1. 编译工程,烧录镜像,启动即可
> 2. 打开串口调试工具,并连接串口
> 3. 系统启动后会自动进入AirKiss配网
> 4. 下载AirKissDebugger.apk软件并打开软件该软件可在网络中搜索“AirKissDebugger.apk”下载
> 5. 手机连接到某个用于AirKiss配网测试的wifi
> 6. 在AirKissDebugger.apk软件中填入要配网的wifi名、wifi密码及AESKey点击发送
> 7. 等待串口打印配网结果
> XRadio SDK的编译、烧写等操作方式的说明可在以下地址获取
> https://github.com/XradioTech/xradiotech-wiki
### 代码结构
```
#本工程
.
├── gcc
│   ├── defconfig # 本工程的配置选项,主要用于覆盖默认全局配置
│   └── Makefile # 本工程的编译规则如ld文件、image.cfg、board_config.h等文件指定可覆盖默认配置
├── main.c # 本工程的入口,工程示例
├── prj_config.h # 本工程的配置选项,主要用于功能的选择。
└── readme.md # 本工程的说明文档
#本工程用到的lib文件
.
└── lib
├── libairkiss_aes.a #本工程用到的aikiss库
└── libsc_assistant.a #本工程用到的配网助手库
#本工程主要用到的头文件
.
└── include
└── smartlink
├── airkiss
│ └── wlan_airkiss.h #SDK中airkiss的头文件
└── sc_assistant.h #SDK中配网助手的头文件
#本程用到XRadio SDK的其他配置文件
.
└── project
   └── common
      └── board
         └── xr806_dig_ver #在project/Kconfig默认指定使用xr806_dig_ver的板级配置
            ├── board_config.h #本工程的板级配置
            └── board_config.c #本工程的板级pin mux的配置。
```
### 代码流程
> 1. 初始化配网助手
> 2. 启动airkiss配网XRadio SDK封装的airkiss配网接口内部会使用配网助手
> 3. 等待配网结果(阻塞等待)
> 4. 配网完成后,获取配网结果
> 5. 用配网结果连接wifi并发送connect ack信号告诉手机设备已经连接上wifi了
## 常见问题
> airkiss连接不上或连接超时
1.检查aes_key是否设置正确2.检查路由器是否是2.4G3.检查路由器是否设置为支持20M或20M/40M。
## 参考文档
> 无