衡阳派盒市场营销有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Hi3861:智能錄音筆【環境搭建+配網】

Harmony&嵌入式學習 ? 來源:Harmony&嵌入式學習 ? 作者:Harmony&嵌入式學 ? 2023-06-14 10:23 ? 次閱讀

演示視頻https://www.bilibili.com/video/BV1oS4y1z7Qv
環境搭建:嗶哩嗶哩:https://www.bilibili.com/video/BV1PY41147z8
一、課題詳情
1、項目描述
基于OpenHarmony開發一款智能錄音筆,功能如下:
1,能夠支持錄音
2,支持配網
3,支持錄音上傳生成文稿
2、項目產出
滿足功能的實物硬件+軟件
3、項目主要創新點
使用一句話識別API,翻譯生成文稿并上傳
二、設計思路與方案
1、作品設計思路(包含系統架構圖、程序流程圖、軟硬件工具等)

Hi3861:智能錄音筆【環境搭建+配網】-開源基礎軟件社區


Hi3861:智能錄音筆【環境搭建+配網】-開源基礎軟件社區


圖1 基本流程圖
整體系統流程圖如上,在上電初始化后判斷是否能直接入網(flash存儲掉電WIFI信息),若不能直接聯網則進行配網操作,此時拒絕聯網只能實現基礎錄音放音功能,當使用數字管家進行配網后,進行API的初始化,在進行錄音后若選擇文稿導出功能則上報數據和返回。
二、項目內容
(1)選用Hi3861芯片開發;
(2)使用Codec_Wm8978實現收音放音;
(3)使用WIFI_AP_STA實現WEB配網;
(4)使用云服務語音API識別實現語音識別
三、編譯環境搭建(純windows下開發)
詳細操作流程可參考上方視頻
四、WEB配網
嗶哩嗶哩視頻:
https://www.bilibili.com/video/BV19L411M75o
CSDN:
https://blog.csdn.net/weixin_42193239/article/details/121717340
1、華為配網方式


Hi3861:智能錄音筆【環境搭建+配網】-開源基礎軟件社區


通過NFC讀取的方式,得到設備ID,拉起數字管家驗證后進行連接,配網可分為下面兩種:

Hi3861:智能錄音筆【環境搭建+配網】-開源基礎軟件社區


包括NAN配網和AP配網,可理解為使用的WIFI能力按照固定協議傳輸要進行配網的熱點的SSID和PASSWAD,實現設備的聯網功能,在這個工程中按照既定協議實現UI的進度可視化。

Hi3861:智能錄音筆【環境搭建+配網】-開源基礎軟件社區


搭配原子化服務卡片和實現上圖的拉起效果。

2、WEB配網介紹

Hi3861:智能錄音筆【環境搭建+配網】-開源基礎軟件社區


使用手機或其它第三方設備連接需配網設備產生的SoftAP熱點,熱點構造http協議下的web網頁,通過網頁的輸入框和按鈕等來實現配網,詳細的補充如下圖:

Hi3861:智能錄音筆【環境搭建+配網】-開源基礎軟件社區


Hi3861:智能錄音筆【環境搭建+配網】-開源基礎軟件社區


Hi3861:智能錄音筆【環境搭建+配網】-開源基礎軟件社區


3、WEB配網程序
見文檔頭部的鏈接;
4、使用到的參考資料
小熊派開源項目:
https://gitee.com/bearpi/bearpi-hm_nano/tree/master/applications/BearPi/BearPi-HM_Nano/sample
潤和開源項目:
https://gitee.com/hihopeorg/HarmonyOS-IoT-Application-Development/tree/master
五、配網過程
1.1項目描述
使用潤和HI3861開發板實現WEB配網,具有輸入路由器帳號密碼進行連接,并掉電保存的功能,實現設備快速入網。
1.2資源獲取
演示視頻:https://www.bilibili.com/video/BV19L411M75o
程序代碼:包括下面六個文件
https://pan.baidu.com/s/1zBl3zI-dmxMVD-Xsyy1YHw
提取碼:1234
二. 解決方法
2.1基本流程

Hi3861:智能錄音筆【環境搭建+配網】-開源基礎軟件社區


2.2實現原理
以HI3861芯片為核心,使用STA/AP兼容模式實現TCP服務器的功能,通過固定解析內容實現為網頁服務器(可實現網頁訪問)。當手機或其它設備使用TCP連接設備產生的熱點后,訪問固定IP,即可打開固化在板子內部的HTML網頁,輸入目標帳號和密碼后點擊提交,此時數據讀入芯片,驗證是否可連接成功,若成功的話將該數據寫入FLASH存儲器,可掉電保存。
2.3解決方案
任何需要上網的場景應用,碰一碰配網暫時只支持鴻蒙系統的設備,而WEB配網在任何有能力訪問互聯網的設備上均可實現。
三. 代碼結構
3.1 創建AP熱點
手機/其它設備需要先連接設備產生的熱點后才能實現TCP的連接,在HI3861中創建熱點包括下面幾步:
(1)注冊回調
//注冊wifi事件的回調函數
g_wifiEventHandler.OnHotspotStaJoin = OnHotspotStaJoinHandler;
g_wifiEventHandler.OnHotspotStaLeave = OnHotspotStaLeaveHandler;
g_wifiEventHandler.OnHotspotStateChanged = OnHotspotStateChangedHandler;
RegisterWifiEvent(&g_wifiEventHandler);
(2)裝載熱點名稱與密碼

#define AP_SSID “Lal_Han”
#define AP_PSK “12345678”
strcpy(config.ssid, AP_SSID);
strcpy(config.preSharedKey, AP_PSK);
config.securityType = WIFI_SEC_TYPE_OPEN;//選擇不需要密碼
config.band = HOTSPOT_BAND_TYPE_2G;
config.channelNum = 7;
SetHotspotConfig(&config);
在上面的程序中裝載入創建熱點的名稱,雖然設定了密碼,但在WIFI安全類型部分我們選擇的開放式(無需密碼即可連接),最后由SetHotspotConfig函數設定該部分設置。
(3)打開熱點與分配IP設定
//啟動wifi熱點模式
error = EnableHotspot();
//啟動dhcp
g_lwip_netif = netifapi_netif_find(“ap0”);
IP4_ADDR(&bp_gw,192,168,1,1);
IP4_ADDR(&bp_ipaddr,192,168, 1, 1);
IP4_ADDR(&bp_netmask, 255, 255, 255, 0);
netifapi_netif_set_addr(g_lwip_netif,&bp_ipaddr,&bp_netmask, &bp_gw);
netifapi_dhcps_start(g_lwip_netif, 0, 0);
我們在使用AP/STA模式時,創建熱點可當做一個路由器來理解,需要設定IP段與網關,并且當其它設備連接的時候實現一個分配IP功能。
3.2 創建TCP服務器
在創建完熱點后要實現的是TCP服務器功能,互聯網上任何數據連接的底層基本都是TCP或UDP,例如網頁訪問、網絡游戲和在線視頻等等,都是通過TCP來實現數據按照固定協議的發送與解析來實現的。
在WEB配網中同樣用到了TCP功能,設備作為TCP服務器后等待設備連接,連接成功后等待設備使用瀏覽器訪問,再發回HTML網頁界面,代碼包括以下幾個部分:
(1)創建socket接口
sock_fd = socket(AF_INET, SOCK_STREAM, 0);
bzero(&server_sock, sizeof(server_sock));
server_sock.sin_family = AF_INET;
server_sock.sin_addr.s_addr = htonl(INADDR_ANY);
server_sock.sin_port = htons(PROT);
//調用bind函數綁定socket和地址
bind(sock_fd, (struct sockaddr *)&server_sock, sizeof(struct sockaddr))
//調用listen函數監聽(指定port監聽)
listen(sock_fd, TCP_BACKLOG)
socket是TCP的另一種叫法,在該部分設定TCP服務器的IP(192.168.4.1)和端口(80),因為網頁訪問的默認端口都是80。例如訪問百度網頁(www.baidu.com),我們通過ping該域名得到ip(220.181.38.148)。在瀏覽器中輸入http://220.181.38.148:80/會發現打開的確實是百度的頁面,這就是網頁訪問發起的實際地址。
(2)等待客戶端連接
new_fd = accept(sock_fd, (struct sockaddr *)&client_sock, (socklen_t *)&sin_size))
cli_addr = malloc(sizeof(struct sockaddr));
memcpy(cli_addr, &client_sock, sizeof(struct sockaddr));
使用accept函數等待客戶連接,連接成功后把客戶地址傳入cli_addr變量并創建處理序號new_fd,以便接下來處理。
(3)處理接受到的數據
ret = recv(new_fd, recvbuf, sizeof(recvbuf), 0))
使用recv函數即可實現對接受到數據的數據內容進行讀取,此時準備進入模擬網頁階段。
3.3 模擬網頁訪問并讀取傳入數據

Hi3861:智能錄音筆【環境搭建+配網】-開源基礎軟件社區
審核編輯黃宇
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 錄音筆
    +關注

    關注

    0

    文章

    89

    瀏覽量

    13128
收藏 人收藏

    評論

    相關推薦

    專業設計錄音筆

    `本人專業設計錄音筆,包括軟件硬件!主要開發炬力 安凱等方案!開發設計過聯想 紐曼 現代等多家知名品牌的錄音筆!如有需要請QQ1292841172。`
    發表于 03-07 15:29

    Hi3861 實現手機APP功能

    本節主要講如何去實現Hi3861 APP功能。需要說明的是,本人實現這個功能主要是用于學習,所涉及知識包括Hi3861的WiFi操作,AP模式、STA模式、按鍵功能、網絡編程、JS
    發表于 10-04 15:10

    【HarmonyOS HiSpark Wi-Fi IoT套件】 Hi3861 實現手機APP功能

    的ssid和密碼3、Hi3861通過 UDP 包獲取配置信息,切換網絡模式連接 WIFI 后完成代碼實現(1)代碼結構代碼主要由3個文件組成ap_mode.c:主要實現AP模式,并實現一個簡單的UDP
    發表于 10-09 17:16

    鴻蒙硬件HI3861開發環境搭建 精選資料分享

    鴻蒙HI3861開發環境搭建1.板子在哪里買https://item.taobao.com/item.htm?spm=a1z09.2.0.0.6b0a2e8d93tcAY&id
    發表于 07-22 06:42

    HI3861 鴻蒙開發環境怎么搭建

    Hi3861的鴻蒙開發環境怎么搭建,有沒詳細說明交叉編譯工具包在哪下載鴻蒙設備開發網上沒搜索到新人剛學,請指點下
    發表于 05-08 20:25

    HI3861 環境怎么搭建

    HI3861 環境怎么搭建交叉編譯工具包是什么
    發表于 05-08 20:33

    Hi3861:智能錄音筆環境搭建+

    演示視頻:環境搭建:嗶哩嗶哩:一、課題詳情1、項目描述基于OpenHarmony開發一款智能錄音筆,功能如下:1,能夠支持錄音2,支持
    發表于 12-31 10:35

    錄音筆的設計與實現

      隨著電子技術的飛速發展,數碼錄音筆已得到了越來越多人的青睞,論文通過對多種錄音筆的設計方案進行了比較和分析,選定凌陽單片機設計了一個數字錄音筆。  
    發表于 09-08 15:04 ?179次下載

    什么是數碼錄音筆

    什么是數碼錄音筆
    發表于 12-22 11:16 ?1171次閱讀

    持續領跑AI錄音筆市場 訊飛智能錄音筆發布3大升級

    5月27日,科大訊飛在京召開媒體溝通會,科大訊飛執行總裁胡郁、科大訊飛副總裁兼消費者事業群副總裁李傳剛出席活動并共同宣布其消費者智能轉寫旗艦產品訊飛智能錄音筆SR系列重磅升級。 作為大屏AI
    的頭像 發表于 05-27 19:43 ?2595次閱讀

    Hi3861其他驅動的開發示例

    摘要:本文簡單介紹Hi3861其他驅動的開發示例、包括PWM、SPI、SDIO等。
    的頭像 發表于 03-02 18:04 ?3598次閱讀
    <b class='flag-5'>Hi3861</b>其他驅動的開發示例

    基于鴻蒙系統+Hi3861的WiFi小車開發

    本文簡單介紹鴻蒙系統 + Hi3861 的WiFi小車開發,適用于開發潤和Hi3861開發板的小伙伴們。
    的頭像 發表于 03-03 09:31 ?5814次閱讀
    基于鴻蒙系統+<b class='flag-5'>Hi3861</b>的WiFi小車開發

    Hi3861V100/Hi3861LV100 SDK開發環境搭建

    Hi3861V100/Hi3861LV100 SDK開發環境搭建 用戶指南
    發表于 05-31 16:26 ?11次下載

    Hi3861編譯燒錄更快捷

    Windows環境開發Hi3861,顯著提升編譯、燒錄效率,同時還帶來了更多實用的功能及模板,為廣大開發者朋友帶來更加高效、便捷的開發體驗。接下來,讓我們來看看吧! 純Windows環境開發H
    的頭像 發表于 02-11 13:25 ?982次閱讀

    HMDTU-OpenHarmony-Hi3861環境搭建

    HMDTU-OpenHarmony-Hi3861環境搭建
    的頭像 發表于 05-06 12:51 ?772次閱讀
    HMDTU-OpenHarmony-<b class='flag-5'>Hi3861</b><b class='flag-5'>環境</b><b class='flag-5'>搭建</b>
    网上百家乐娱乐场| 博彩百家乐官网五2013124预测| 女优百家乐官网的玩法技巧和规则 | 包赢百家乐官网的玩法技巧和规则| 澳门1百家乐网| 大发888常见断续| 百家乐官网试玩平台| 百家乐官网玩牌| 百家乐走势图| 江城足球网| 沙龙百家乐官网娱乐平台| 百家乐走势图| 安西县| 3U百家乐官网的玩法技巧和规则| 贝博百家乐的玩法技巧和规则| 永凡棋牌官网下载| 裕昌太阳城户型图| 足球平台开户| HG百家乐官网大转轮| 百家乐游戏介绍与分析| 华亭县| 百家乐官网不锈钢| 大发888信誉| 百家乐官网2号机器投注技巧 | 赌百家乐的方法| 大发888娱乐场 手机版| 誉博百家乐官网开户导航| 联众百家乐的玩法技巧和规则 | KK百家乐官网的玩法技巧和规则| 百家乐斗地主炸金花| 三易博| 百家乐官网赌场走势图| 百家乐长龙技巧| 百家乐官网终端下载| 百家乐筹码方| 榆中县| 在线百家乐博彩网| 剑阁县| 真人百家乐澳门娱乐城| 武冈市| 金海岸百家乐娱乐城|