RM新时代网站-首页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Hi3861V100創(chuàng)建Wi-Fi驅(qū)動應(yīng)用的步驟

lPCU_elecfans ? 來源:CSDN技術(shù)社區(qū) ? 作者:CSDN技術(shù)社區(qū) ? 2020-10-21 11:42 ? 次閱讀

Hi3861V100、Hi3861LV100 通過API(Application Programming Interface)面向開發(fā)者提供Wi-Fi功能的開發(fā)和應(yīng)用接口,包括芯片初始化、資源配置、Station創(chuàng)建和配置、掃描、關(guān)聯(lián)以及去關(guān)聯(lián)、狀態(tài)查詢等一系列功能, 框架結(jié)構(gòu)如圖1-1所示。

各功能模塊說明如下:

APP應(yīng)用開發(fā)層:用戶基于API接口的二次開發(fā)。

Example示例:SDK提供的功能開發(fā)示例。

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

LWIP協(xié)議棧:網(wǎng)絡(luò)協(xié)議棧。

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

Wi-Fi驅(qū)動:802.11協(xié)議實(shí)現(xiàn)模塊。

Platform平臺:提供SoC系統(tǒng)板級支持包(包括:芯片和外圍設(shè)備驅(qū)動、操作系統(tǒng)以及系統(tǒng)管理)

1、Wi-Fi驅(qū)動加載與卸載

1.1 概述

在完成芯片上電后,驅(qū)動加載實(shí)現(xiàn)對芯片寄存器的初始配置、校準(zhǔn)參數(shù)讀取與寫入、軟件資源的申請和配置;驅(qū)動卸載實(shí)現(xiàn)軟件資源的釋放。

1.2 開發(fā)流程

使用場景:Wi-Fi驅(qū)動初始化為Wi-Fi功能提供基本資源配置和芯片初始化,是Wi-Fi功能實(shí)現(xiàn)的第一步。當(dāng)需要配置Wi-Fi功能時,必須先完成驅(qū)動的初始化,Wi-Fi功能使用完成后,可以使用去初始化完成資源釋放也可以使用軟復(fù)位來完成資源釋放。

功能:Wi-Fi驅(qū)動加載與卸載提供的接口如表2-1所示

使用驅(qū)動加載與卸載的典型流程:

步驟1:調(diào)用hi_wifi_init, 完成Wi-Fi驅(qū)動初始化。

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

步驟3:調(diào)用hi_wifi_deinit,完成Wi-Fi驅(qū)動去初始化。

----

結(jié)束

返回值如表2-2所示

1.3 注意事項(xiàng)

驅(qū)動資源配置不支持運(yùn)行中修改,須先卸載驅(qū)動再進(jìn)行修改,修改后重新初始化。

驅(qū)動為了保證Wi-Fi業(yè)務(wù)的連續(xù)性,會在啟動時根據(jù)VAP數(shù)量和用戶數(shù)量預(yù)申請內(nèi)存,其中1個VAP資源預(yù)申請約5K內(nèi)存,1個用戶資源預(yù)申請約7K內(nèi)存,請根據(jù)場景需要合理配置初始化的資源數(shù)。目前僅配網(wǎng)時需要用到SoftAp和STA共存,一般建議配置為2個VAP和2個用戶;如果可以實(shí)現(xiàn)配網(wǎng)時先關(guān)閉SoftAp再啟動STA去關(guān)聯(lián),VAP和用戶數(shù)量均可配置為1。

1.4 編程實(shí)例

示例1:基于LiteOS的app_main函數(shù),在系統(tǒng)初始化時自動完成Wi-Fi驅(qū)動的加載,此加載方式無須進(jìn)行卸載開發(fā),系統(tǒng)reboot時自動完成驅(qū)動卸載和加載。

示例2:基于shell命令,在系統(tǒng)啟動后,通過手動下發(fā)shell命令完成Wi-Fi驅(qū)動的加載和卸載。

2、STA功能

2.1 概述

STA功能即NON-AP Station功能,實(shí)現(xiàn)驅(qū)動STA VAP的創(chuàng)建、掃描、關(guān)聯(lián)以及DHCP,完成通信鏈路的建立。開發(fā)STA功能前,須完成驅(qū)動加載。

2.2 開發(fā)流程

使用場景:當(dāng)需要接入某個網(wǎng)絡(luò)并與該網(wǎng)絡(luò)通信時,需要啟動STA功能。

功能:驅(qū)動STA功能提供的接口,如表3-1所示。

STA功能開發(fā)的典型流程:

步驟1:調(diào)用hi_wifi_sta_start, 啟動STA。

步驟2:調(diào)用hi_wifi_set_bandwidth, 設(shè)置STA帶寬模式,20M帶寬可不用配置。

步驟3:(可選,根據(jù)需要配置)調(diào)用hi_wifi_sta_set_reconnect_policy, 設(shè)置自動重連。

步驟4:調(diào)用hi_wifi_sta_scan(或調(diào)用hi_wifi_sta_advance_scan;執(zhí)行帶參數(shù)掃描),觸發(fā)STA掃描。

步驟5:調(diào)用hi_wifi_sta_scan_results,獲取掃描結(jié)果。

步驟6:根據(jù)接入網(wǎng)絡(luò)需求,自定義篩選掃描結(jié)果,調(diào)用hi_wifi_sta_connect, 進(jìn)行連接。

步驟7:調(diào)用hi_wifi_sta_get_connect_info,查詢Wi-Fi連接狀態(tài)。

步驟8:連接成功后,調(diào)用netifapi_dhcp_start,啟動DHCP客戶端,獲取IP地址。

步驟9:調(diào)用hi_wifi_sta_disconncet,離開當(dāng)前連接的網(wǎng)絡(luò)。

步驟10:調(diào)用netifapi_dhcps_stop,停止DHCP客戶端。

步驟11:調(diào)用hi_wifi_sta_stop,關(guān)閉STA。

---結(jié)束

返回值如表3-2所示

2.3 注意事項(xiàng)

STA支持5M/1 OM窄帶模式,需要時可調(diào)用接口設(shè)置,不調(diào)用則默認(rèn)啟動20M帶寬STA。

掃描為非阻塞式接口,掃描命令下發(fā)成功后需要延遲一段時間后再獲取掃描結(jié)果,全信道掃描延遲時間建議設(shè)置為1s。

可通過指定SSID、BSSID、信道等帶指定參數(shù)的掃描,實(shí)現(xiàn)更精準(zhǔn)地掃描,縮短掃描時間。

已知待連接網(wǎng)絡(luò)的參數(shù)時,可省去掃描過程,直接發(fā)起連接。

連接為非阻塞式接口,連接命令下發(fā)成功后,需要通過命令獲取連接狀態(tài)。

注冊事件回調(diào)函數(shù)后,Wi-Fi相關(guān)的事件會通過該回調(diào)上報用戶,用戶可根據(jù)事件執(zhí)行后續(xù)動作。

不支持重復(fù)啟動STA,再次啟動STA時須先執(zhí)行關(guān)閉STA。

關(guān)閉STA步驟為可選,設(shè)備所處的網(wǎng)絡(luò)地位不變,不需要執(zhí)行關(guān)閉STA。

2.4 編程實(shí)例

示例:實(shí)現(xiàn)STA功能啟動、掃描、關(guān)聯(lián)以及獲取IP地址。

3、SoftAp功能

3.1 概述

SoftAp功能提供網(wǎng)絡(luò)接入點(diǎn)供其他STA接入,并對接入的STA提供DHCP Server服務(wù)。

3.2 開發(fā)流程

使用場景:當(dāng)需要創(chuàng)建一個網(wǎng)絡(luò)接入點(diǎn),供其他設(shè)備接入并共享網(wǎng)絡(luò)內(nèi)的數(shù)據(jù)時,需要使用SoftAP功能。

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

SoftAP功能開發(fā)的典型流程:

步驟1:配置SoftAp的網(wǎng)絡(luò)參數(shù):

-調(diào)用hi_wifi_softap_set_protocol_mode,設(shè)置協(xié)議模式。

-調(diào)用hi_wifi_softap_set_beacon_period,設(shè)置beacon周期。

-調(diào)用hi_wifi_softap_ set_dtim_period,設(shè)置dtim周期。

步驟2:調(diào)用hi_wifi_softap_start,啟動SoftAp。

步驟3:調(diào)用hi_wifi_set_bandwidth,設(shè)置SoftAp的帶寬,20M帶寬可不用配置。

步驟4:調(diào)用netifapi_netif_set_addr,配置DHCP服務(wù)器。

步驟5:調(diào)用netifapi_dhcps_start,啟動DHCP服務(wù)器。

步驟6:調(diào)用netifapi_dhcps_stop,停止DHCP服務(wù)器。

步驟7:調(diào)用hi_wifi_softap_stop,關(guān)閉SoftAp。

--結(jié)束

返回值如表4-2所示

3.3 注意事項(xiàng)

SoftAp的網(wǎng)絡(luò)參數(shù)為可選配置,無特殊要求均可使用初始默認(rèn)值。

SoftAp支持5M/1 0M窄帶模式,需要時可調(diào)用接口設(shè)置,不調(diào)用則默認(rèn)啟動20M帶寬SoftAp。

SoftAp的網(wǎng)絡(luò)參數(shù)在關(guān)閉SoftAp時不會重置,會繼續(xù)沿用_上一次配置,重啟單板可恢復(fù)至初始默認(rèn)值。

SoftAp模式下最大關(guān)聯(lián)用戶數(shù)限制:

-小于初始化時配置的用戶數(shù)量。

-最大關(guān)聯(lián)用戶不超過2個。

3.4 編程實(shí)例

示例:實(shí)現(xiàn)將SoftAp功能的beacon周期配置為200ms,并啟動SoftAp,最后將DHCP服務(wù)器的IP地址配置為192.168.43.1。

除此之外,Wi-Fi軟件應(yīng)用創(chuàng)建還包括了混雜模式、CSI數(shù)據(jù)采集、STA&SoftAP共存、Wi-Fi&藍(lán)牙共存、軟件重傳等諸多無線網(wǎng)實(shí)用功能開發(fā)。想詳細(xì)了解學(xué)習(xí)的童鞋,可以掃碼加入我們的鴻蒙技術(shù)交流群,免費(fèi)領(lǐng)取領(lǐng)取完整的基于HarmonyOS Hi3861V100開發(fā)板Wi-Fi模組應(yīng)用開發(fā)文檔。另外還給大家準(zhǔn)備了超級詳細(xì)的Hi3861V100硬件&軟件開發(fā)文檔資料,也一并免費(fèi)送給大家學(xué)習(xí)。
責(zé)任編輯人:CC

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • wi-fi
    +關(guān)注

    關(guān)注

    14

    文章

    2132

    瀏覽量

    124422
  • Hi3861
    +關(guān)注

    關(guān)注

    1

    文章

    59

    瀏覽量

    6491

原文標(biāo)題:鴻蒙實(shí)戰(zhàn)課堂 | Hi3861V100創(chuàng)建Wi-Fi驅(qū)動應(yīng)用詳細(xì)步驟與方法

文章出處:【微信號:elecfans,微信公眾號:電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    【HarmonyOS HiSpark Wi-Fi IoT 套件試用連連載】第一篇、HiSpark Wi-Fi IoT 智能家居套件開箱

    Hi3861V100 --串口芯片:CH340G炫彩燈板 --人體紅外檢測 --光敏電阻 --三色LED環(huán)境監(jiān)測板 --AHT20溫濕度傳感器 --MQ-2燃?xì)鈧鞲衅?--蜂鳴器OLED板
    發(fā)表于 10-17 00:31

    Hi3861V100Hi3861LV100 設(shè)備驅(qū)動 開發(fā)指南

    本帖最后由 萆嶶锝承鍩じ☆ve 于 2020-10-22 10:41 編輯 Hi3861V100Hi3861LV100 設(shè)備驅(qū)動 開發(fā)指南
    發(fā)表于 10-17 10:43

    【HarmonyOS HiSpark Wi-Fi IoT套件】群英薈萃,Hi3861開發(fā)板開箱大盤點(diǎn)

    ://harmonyos.51cto.com/posts/1379HiSpark Wi-Fi IoT Hi3861 套件到手了!開箱 rongwei84nhttps://harmonyos.51cto.com/posts
    發(fā)表于 10-27 10:13

    【HarmonyOS HiSpark Wi-Fi IoT HarmonyOS 智能家居套件試用 】基于海思Hi3861/Hi3861L高度集成的2.4GHz Wi-Fi芯片智能家居系統(tǒng)設(shè)計

    項(xiàng)目名稱:基于海思Hi3861/Hi3861L高度集成的2.4GHz Wi-Fi芯片智能家居系統(tǒng)設(shè)計試用計劃:研究與設(shè)計一款智能家居控制系統(tǒng),核心處理器以基于海思Hi3861/
    發(fā)表于 10-29 14:05

    Hi3861V100Hi3861LV100 設(shè)備驅(qū)動 開發(fā)指南

    https://bbs.elecfans.com/jishu_1998188_1_1.htmlHi3861V100Hi3861LV100 設(shè)備驅(qū)動 開發(fā)指南
    發(fā)表于 11-17 14:17

    HarmonyOS物聯(lián)網(wǎng)應(yīng)用開發(fā)(潤和團(tuán)隊(duì)) 直播鏈接分享

    本帖最后由 jf_73813179 于 2020-12-16 11:06 編輯 基于HiSpark Wi-Fi IoT套件(Hi3861V100) HarmonyOS物聯(lián)網(wǎng)應(yīng)用開發(fā)實(shí)戰(zhàn)分享(一
    發(fā)表于 12-09 17:03

    基于鴻蒙Hi3861V100 MQTT協(xié)議 對接阿里云物聯(lián)網(wǎng)平臺

    更新啦?。。。。。。。。?!基于鴻蒙HarmonyOS Hi3861V100 開發(fā)板通過MQTT協(xié)議 對接阿里云IOT物聯(lián)網(wǎng)平臺同時支持APP端、IOT網(wǎng)頁端、設(shè)備端 三端數(shù)據(jù)同步上傳和狀態(tài)的更新
    發(fā)表于 01-25 08:31

    海思Hi3861V100硬件資料

    海思Hi3861V100硬件資料集合,需要的自行下載~
    發(fā)表于 08-16 15:40

    Hi3861V100高度集成的2.4GHz WiFi SoC芯片系統(tǒng)架構(gòu)

    HiSpark_pegasus(Hi3861V100)是一款高度集成的2.4GHz WiFi SoC芯片,集成IEEE 802.11b/g/n基帶和RF電路,RF電路包括功率放大器PA、低噪聲放大器
    發(fā)表于 04-13 11:02 ?13次下載

    Hi3861V100Hi3861LV100 SDK開發(fā)指南

    Hi3861V100Hi3861LV100 SDK 開發(fā)指南
    發(fā)表于 05-31 16:30 ?25次下載

    Hi3861V100Hi3861LV100 SDK開發(fā)環(huán)境搭建

    Hi3861V100Hi3861LV100 SDK開發(fā)環(huán)境搭建 用戶指南
    發(fā)表于 05-31 16:26 ?10次下載

    Hi3861V100Hi3861LV100 Wi-Fi軟件開發(fā)指南

    Hi3861V100Hi3861LV100 Wi-Fi軟件 開發(fā)指南
    發(fā)表于 05-31 16:21 ?11次下載

    Hi3861V100Hi3861LV100低功耗開發(fā)指南

    Hi3861V100Hi3861LV100 低功耗 開發(fā)指南
    發(fā)表于 05-31 16:18 ?9次下載

    Hi3861V100Hi3861LV100升級開發(fā)指南

    Hi3861V100Hi3861LV100 升級 開發(fā)指南
    發(fā)表于 05-31 16:11 ?0次下載

    Hi3861V100Hi3861LV100 API開發(fā)參考

    Hi3861V100Hi3861LV100 API 開發(fā)參考
    發(fā)表于 05-31 16:13 ?13次下載
    RM新时代网站-首页