0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Hi3861V100创建Wi-Fi驱动应用的步骤

lPCU_elecfans 来源:CSDN技术社区 作者:CSDN技术社区 2020-10-21 11:42 次阅读

Hi3861V100、Hi3861LV100 通过API(Application Programming Interface)面向开发者提供Wi-Fi功能的开发和应用接口,包括芯片初始化、资源配置、Station创建和配置、扫描、关联以及去关联、状态查询等一系列功能, 框架结构如图1-1所示。

各功能模块说明如下:

APP应用开发层:用户基于API接口的二次开发。

Example示例:SDK提供的功能开发示例。

API接口:提供基于SDK的通用接口。

LWIP协议栈:网络协议栈。

WPA SUPPLICANT(含HOSTAPD):Wi-Fi管理模块。

Wi-Fi驱动:802.11协议实现模块。

Platform平台:提供SoC系统板级支持包(包括:芯片和外围设备驱动、操作系统以及系统管理)

1、Wi-Fi驱动加载与卸载

1.1 概述

在完成芯片上电后,驱动加载实现对芯片寄存器的初始配置、校准参数读取与写入、软件资源的申请和配置;驱动卸载实现软件资源的释放。

1.2 开发流程

使用场景:Wi-Fi驱动初始化为Wi-Fi功能提供基本资源配置和芯片初始化,是Wi-Fi功能实现的第一步。当需要配置Wi-Fi功能时,必须先完成驱动的初始化,Wi-Fi功能使用完成后,可以使用去初始化完成资源释放也可以使用软复位来完成资源释放。

功能:Wi-Fi驱动加载与卸载提供的接口如表2-1所示

使用驱动加载与卸载的典型流程:

步骤1:调用hi_wifi_init, 完成Wi-Fi驱动初始化。

步骤2:参考“3 STA功能”或“4 SoftAp功能”配置Wi-Fi功能。

步骤3:调用hi_wifi_deinit,完成Wi-Fi驱动去初始化。

----

结束

返回值如表2-2所示

1.3 注意事项

驱动资源配置不支持运行中修改,须先卸载驱动再进行修改,修改后重新初始化。

驱动为了保证Wi-Fi业务的连续性,会在启动时根据VAP数量和用户数量预申请内存,其中1个VAP资源预申请约5K内存,1个用户资源预申请约7K内存,请根据场景需要合理配置初始化的资源数。目前仅配网时需要用到SoftAp和STA共存,一般建议配置为2个VAP和2个用户;如果可以实现配网时先关闭SoftAp再启动STA去关联,VAP和用户数量均可配置为1。

1.4 编程实例

示例1:基于LiteOS的app_main函数,在系统初始化时自动完成Wi-Fi驱动的加载,此加载方式无须进行卸载开发,系统reboot时自动完成驱动卸载和加载。

示例2:基于shell命令,在系统启动后,通过手动下发shell命令完成Wi-Fi驱动的加载和卸载。

2、STA功能

2.1 概述

STA功能即NON-AP Station功能,实现驱动STA VAP的创建、扫描、关联以及DHCP,完成通信链路的建立。开发STA功能前,须完成驱动加载。

2.2 开发流程

使用场景:当需要接入某个网络并与该网络通信时,需要启动STA功能。

功能:驱动STA功能提供的接口,如表3-1所示。

STA功能开发的典型流程:

步骤1:调用hi_wifi_sta_start, 启动STA。

步骤2:调用hi_wifi_set_bandwidth, 设置STA带宽模式,20M带宽可不用配置。

步骤3:(可选,根据需要配置)调用hi_wifi_sta_set_reconnect_policy, 设置自动重连。

步骤4:调用hi_wifi_sta_scan(或调用hi_wifi_sta_advance_scan;执行带参数扫描),触发STA扫描。

步骤5:调用hi_wifi_sta_scan_results,获取扫描结果。

步骤6:根据接入网络需求,自定义筛选扫描结果,调用hi_wifi_sta_connect, 进行连接。

步骤7:调用hi_wifi_sta_get_connect_info,查询Wi-Fi连接状态。

步骤8:连接成功后,调用netifapi_dhcp_start,启动DHCP客户端,获取IP地址。

步骤9:调用hi_wifi_sta_disconncet,离开当前连接的网络。

步骤10:调用netifapi_dhcps_stop,停止DHCP客户端。

步骤11:调用hi_wifi_sta_stop,关闭STA。

---结束

返回值如表3-2所示

2.3 注意事项

STA支持5M/1 OM窄带模式,需要时可调用接口设置,不调用则默认启动20M带宽STA。

扫描为非阻塞式接口,扫描命令下发成功后需要延迟一段时间后再获取扫描结果,全信道扫描延迟时间建议设置为1s。

可通过指定SSID、BSSID、信道等带指定参数的扫描,实现更精准地扫描,缩短扫描时间。

已知待连接网络的参数时,可省去扫描过程,直接发起连接。

连接为非阻塞式接口,连接命令下发成功后,需要通过命令获取连接状态。

注册事件回调函数后,Wi-Fi相关的事件会通过该回调上报用户,用户可根据事件执行后续动作。

不支持重复启动STA,再次启动STA时须先执行关闭STA。

关闭STA步骤为可选,设备所处的网络地位不变,不需要执行关闭STA。

2.4 编程实例

示例:实现STA功能启动、扫描、关联以及获取IP地址。

3、SoftAp功能

3.1 概述

SoftAp功能提供网络接入点供其他STA接入,并对接入的STA提供DHCP Server服务。

3.2 开发流程

使用场景:当需要创建一个网络接入点,供其他设备接入并共享网络内的数据时,需要使用SoftAP功能。

功能:提供的接口如表4-1所示。

SoftAP功能开发的典型流程:

步骤1:配置SoftAp的网络参数:

-调用hi_wifi_softap_set_protocol_mode,设置协议模式。

-调用hi_wifi_softap_set_beacon_period,设置beacon周期。

-调用hi_wifi_softap_ set_dtim_period,设置dtim周期。

步骤2:调用hi_wifi_softap_start,启动SoftAp。

步骤3:调用hi_wifi_set_bandwidth,设置SoftAp的带宽,20M带宽可不用配置。

步骤4:调用netifapi_netif_set_addr,配置DHCP服务器。

步骤5:调用netifapi_dhcps_start,启动DHCP服务器。

步骤6:调用netifapi_dhcps_stop,停止DHCP服务器。

步骤7:调用hi_wifi_softap_stop,关闭SoftAp。

--结束

返回值如表4-2所示

3.3 注意事项

SoftAp的网络参数为可选配置,无特殊要求均可使用初始默认值。

SoftAp支持5M/1 0M窄带模式,需要时可调用接口设置,不调用则默认启动20M带宽SoftAp。

SoftAp的网络参数在关闭SoftAp时不会重置,会继续沿用_上一次配置,重启单板可恢复至初始默认值。

SoftAp模式下最大关联用户数限制:

-小于初始化时配置的用户数量。

-最大关联用户不超过2个。

3.4 编程实例

示例:实现将SoftAp功能的beacon周期配置为200ms,并启动SoftAp,最后将DHCP服务器的IP地址配置为192.168.43.1。

除此之外,Wi-Fi软件应用创建还包括了混杂模式、CSI数据采集、STA&SoftAP共存、Wi-Fi&蓝牙共存、软件重传等诸多无线网实用功能开发。想详细了解学习的童鞋,可以扫码加入我们的鸿蒙技术交流群,免费领取领取完整的基于HarmonyOS Hi3861V100开发板Wi-Fi模组应用开发文档。另外还给大家准备了超级详细的Hi3861V100硬件&软件开发文档资料,也一并免费送给大家学习。
责任编辑人:CC

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • wi-fi
    +关注

    关注

    14

    文章

    1976

    浏览量

    122781
  • Hi3861
    +关注

    关注

    1

    文章

    54

    浏览量

    6223

原文标题:鸿蒙实战课堂 | Hi3861V100创建Wi-Fi驱动应用详细步骤与方法

文章出处:【微信号:elecfans,微信公众号:电子发烧友网】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【HarmonyOS HiSpark Wi-Fi IoT 套件试用连连载】第一篇、HiSpark Wi-Fi IoT 智能家居套件开箱

    Hi3861V100 --串口芯片:CH340G炫彩灯板 --人体红外检测 --光敏电阻 --三色LED环境监测板 --AHT20温湿度传感器 --MQ-2燃气传感器 --蜂鸣器OLED板
    发表于 10-17 00:31

    Hi3861V100Hi3861LV100 设备驱动 开发指南

    本帖最后由 萆嶶锝承鍩じ☆ve 于 2020-10-22 10:41 编辑 Hi3861V100Hi3861LV100 设备驱动 开发指南
    发表于 10-17 10:43

    【HarmonyOS HiSpark Wi-Fi IoT套件】群英荟萃,Hi3861开发板开箱大盘点

    ://harmonyos.51cto.com/posts/1379HiSpark Wi-Fi IoT Hi3861 套件到手了!开箱 rongwei84nhttps://harmonyos.51cto.com/posts
    发表于 10-27 10:13

    【HarmonyOS HiSpark Wi-Fi IoT HarmonyOS 智能家居套件试用 】基于海思Hi3861/Hi3861L高度集成的2.4GHz Wi-Fi芯片智能家居系统设计

    项目名称:基于海思Hi3861/Hi3861L高度集成的2.4GHz Wi-Fi芯片智能家居系统设计试用计划:研究与设计一款智能家居控制系统,核心处理器以基于海思Hi3861/
    发表于 10-29 14:05

    Hi3861V100Hi3861LV100 设备驱动 开发指南

    https://bbs.elecfans.com/jishu_1998188_1_1.htmlHi3861V100Hi3861LV100 设备驱动 开发指南
    发表于 11-17 14:17

    HarmonyOS物联网应用开发(润和团队) 直播链接分享

    本帖最后由 jf_73813179 于 2020-12-16 11:06 编辑 基于HiSpark Wi-Fi IoT套件(Hi3861V100) HarmonyOS物联网应用开发实战分享(一
    发表于 12-09 17:03

    基于鸿蒙Hi3861V100 MQTT协议 对接阿里云物联网平台

    更新啦!!!!!!!!!!基于鸿蒙HarmonyOS Hi3861V100 开发板通过MQTT协议 对接阿里云IOT物联网平台同时支持APP端、IOT网页端、设备端 三端数据同步上传和状态的更新
    发表于 01-25 08:31

    海思Hi3861V100硬件资料

    海思Hi3861V100硬件资料集合,需要的自行下载~
    发表于 08-16 15:40

    LYEVK-3861A IoT物联网开发板套件 用户手册

    LYEVK-3861A 智能物联网开发板套件 基于海思Hi3861V100芯片能力并融合周边扩展模块组成的智能家居场景应用开发平台。套件内嵌HUAWEI LiteOS开放操作系统,提供Wi-Fi
    发表于 11-16 15:55

    Hi3861V100Hi3861LV100 SDK开发指南

    Hi3861V100Hi3861LV100 SDK 开发指南
    发表于 05-31 16:30 25次下载

    Hi3861V100Hi3861LV100 SDK开发环境搭建

    Hi3861V100Hi3861LV100 SDK开发环境搭建 用户指南
    发表于 05-31 16:26 9次下载

    Hi3861V100Hi3861LV100 Wi-Fi软件开发指南

    Hi3861V100Hi3861LV100 Wi-Fi软件 开发指南
    发表于 05-31 16:21 11次下载

    Hi3861V100Hi3861LV100低功耗开发指南

    Hi3861V100Hi3861LV100 低功耗 开发指南
    发表于 05-31 16:18 8次下载

    Hi3861V100Hi3861LV100升级开发指南

    Hi3861V100Hi3861LV100 升级 开发指南
    发表于 05-31 16:11 0次下载

    Hi3861V100Hi3861LV100 API开发参考

    Hi3861V100Hi3861LV100 API 开发参考
    发表于 05-31 16:13 11次下载