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

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

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

Hi3861:智能錄音筆【環(huán)境搭建+配網(wǎng)】

Harmony&嵌入式學(xué)習(xí) ? 來源:Harmony&嵌入式學(xué)習(xí) ? 作者:Harmony&嵌入式學(xué) ? 2023-06-14 10:23 ? 次閱讀

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

Hi3861:智能錄音筆【環(huán)境搭建+配網(wǎng)】-開源基礎(chǔ)軟件社區(qū)


Hi3861:智能錄音筆【環(huán)境搭建+配網(wǎng)】-開源基礎(chǔ)軟件社區(qū)


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


Hi3861:智能錄音筆【環(huán)境搭建+配網(wǎng)】-開源基礎(chǔ)軟件社區(qū)


通過NFC讀取的方式,得到設(shè)備ID,拉起數(shù)字管家驗(yàn)證后進(jìn)行連接,配網(wǎng)可分為下面兩種:

Hi3861:智能錄音筆【環(huán)境搭建+配網(wǎng)】-開源基礎(chǔ)軟件社區(qū)


包括NAN配網(wǎng)和AP配網(wǎng),可理解為使用的WIFI能力按照固定協(xié)議傳輸要進(jìn)行配網(wǎng)的熱點(diǎn)的SSID和PASSWAD,實(shí)現(xiàn)設(shè)備的聯(lián)網(wǎng)功能,在這個(gè)工程中按照既定協(xié)議實(shí)現(xiàn)UI的進(jìn)度可視化。

Hi3861:智能錄音筆【環(huán)境搭建+配網(wǎng)】-開源基礎(chǔ)軟件社區(qū)


搭配原子化服務(wù)卡片和實(shí)現(xiàn)上圖的拉起效果。

2、WEB配網(wǎng)介紹

Hi3861:智能錄音筆【環(huán)境搭建+配網(wǎng)】-開源基礎(chǔ)軟件社區(qū)


使用手機(jī)或其它第三方設(shè)備連接需配網(wǎng)設(shè)備產(chǎn)生的SoftAP熱點(diǎn),熱點(diǎn)構(gòu)造http協(xié)議下的web網(wǎng)頁,通過網(wǎng)頁的輸入框和按鈕等來實(shí)現(xiàn)配網(wǎng),詳細(xì)的補(bǔ)充如下圖:

Hi3861:智能錄音筆【環(huán)境搭建+配網(wǎng)】-開源基礎(chǔ)軟件社區(qū)


Hi3861:智能錄音筆【環(huán)境搭建+配網(wǎng)】-開源基礎(chǔ)軟件社區(qū)


Hi3861:智能錄音筆【環(huán)境搭建+配網(wǎng)】-開源基礎(chǔ)軟件社區(qū)


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

Hi3861:智能錄音筆【環(huán)境搭建+配網(wǎng)】-開源基礎(chǔ)軟件社區(qū)


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

#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);
在上面的程序中裝載入創(chuàng)建熱點(diǎn)的名稱,雖然設(shè)定了密碼,但在WIFI安全類型部分我們選擇的開放式(無需密碼即可連接),最后由SetHotspotConfig函數(shù)設(shè)定該部分設(shè)置。
(3)打開熱點(diǎn)與分配IP設(shè)定
//啟動(dòng)wifi熱點(diǎn)模式
error = EnableHotspot();
//啟動(dòng)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模式時(shí),創(chuàng)建熱點(diǎn)可當(dāng)做一個(gè)路由器來理解,需要設(shè)定IP段與網(wǎng)關(guān),并且當(dāng)其它設(shè)備連接的時(shí)候?qū)崿F(xiàn)一個(gè)分配IP功能。
3.2 創(chuàng)建TCP服務(wù)器
在創(chuàng)建完熱點(diǎn)后要實(shí)現(xiàn)的是TCP服務(wù)器功能,互聯(lián)網(wǎng)上任何數(shù)據(jù)連接的底層基本都是TCP或UDP,例如網(wǎng)頁訪問、網(wǎng)絡(luò)游戲和在線視頻等等,都是通過TCP來實(shí)現(xiàn)數(shù)據(jù)按照固定協(xié)議的發(fā)送與解析來實(shí)現(xiàn)的。
在WEB配網(wǎng)中同樣用到了TCP功能,設(shè)備作為TCP服務(wù)器后等待設(shè)備連接,連接成功后等待設(shè)備使用瀏覽器訪問,再發(fā)回HTML網(wǎng)頁界面,代碼包括以下幾個(gè)部分:
(1)創(chuàng)建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);
//調(diào)用bind函數(shù)綁定socket和地址
bind(sock_fd, (struct sockaddr *)&server_sock, sizeof(struct sockaddr))
//調(diào)用listen函數(shù)監(jiān)聽(指定port監(jiān)聽)
listen(sock_fd, TCP_BACKLOG)
socket是TCP的另一種叫法,在該部分設(shè)定TCP服務(wù)器的IP(192.168.4.1)和端口(80),因?yàn)榫W(wǎng)頁訪問的默認(rèn)端口都是80。例如訪問百度網(wǎng)頁(www.baidu.com),我們通過ping該域名得到ip(220.181.38.148)。在瀏覽器中輸入http://220.181.38.148:80/會發(fā)現(xiàn)打開的確實(shí)是百度的頁面,這就是網(wǎng)頁訪問發(fā)起的實(shí)際地址。
(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函數(shù)等待客戶連接,連接成功后把客戶地址傳入cli_addr變量并創(chuàng)建處理序號new_fd,以便接下來處理。
(3)處理接受到的數(shù)據(jù)
ret = recv(new_fd, recvbuf, sizeof(recvbuf), 0))
使用recv函數(shù)即可實(shí)現(xiàn)對接受到數(shù)據(jù)的數(shù)據(jù)內(nèi)容進(jìn)行讀取,此時(shí)準(zhǔn)備進(jìn)入模擬網(wǎng)頁階段。
3.3 模擬網(wǎng)頁訪問并讀取傳入數(shù)據(jù)

Hi3861:智能錄音筆【環(huán)境搭建+配網(wǎng)】-開源基礎(chǔ)軟件社區(qū)
審核編輯黃宇
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 錄音筆
    +關(guān)注

    關(guān)注

    0

    文章

    86

    瀏覽量

    12998
收藏 人收藏

    評論

    相關(guān)推薦

    專業(yè)設(shè)計(jì)錄音筆

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

    Hi3861 實(shí)現(xiàn)手機(jī)APP網(wǎng)功能

    本節(jié)主要講如何去實(shí)現(xiàn)Hi3861 APP網(wǎng)功能。需要說明的是,本人實(shí)現(xiàn)這個(gè)功能主要是用于學(xué)習(xí),所涉及知識包括Hi3861的WiFi操作,AP模式、STA模式、按鍵功能、網(wǎng)絡(luò)編程、JS
    發(fā)表于 10-04 15:10

    【HarmonyOS HiSpark Wi-Fi IoT套件】 Hi3861 實(shí)現(xiàn)手機(jī)APP網(wǎng)功能

    的ssid和密碼3、Hi3861通過 UDP 包獲取配置信息,切換網(wǎng)絡(luò)模式連接 WIFI 后網(wǎng)完成代碼實(shí)現(xiàn)(1)代碼結(jié)構(gòu)代碼主要由3個(gè)文件組成ap_mode.c:主要實(shí)現(xiàn)AP模式,并實(shí)現(xiàn)一個(gè)簡單的UDP
    發(fā)表于 10-09 17:16

    鴻蒙硬件HI3861開發(fā)環(huán)境搭建 精選資料分享

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

    HI3861 鴻蒙開發(fā)環(huán)境怎么搭建

    Hi3861的鴻蒙開發(fā)環(huán)境怎么搭建,有沒詳細(xì)說明交叉編譯工具包在哪下載鴻蒙設(shè)備開發(fā)網(wǎng)上沒搜索到新人剛學(xué),請指點(diǎn)下
    發(fā)表于 05-08 20:25

    HI3861 環(huán)境怎么搭建

    HI3861 環(huán)境怎么搭建交叉編譯工具包是什么
    發(fā)表于 05-08 20:33

    Hi3861:智能錄音筆環(huán)境搭建+網(wǎng)

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

    錄音筆的設(shè)計(jì)與實(shí)現(xiàn)

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

    什么是數(shù)碼錄音筆

    什么是數(shù)碼錄音筆
    發(fā)表于 12-22 11:16 ?1111次閱讀

    持續(xù)領(lǐng)跑AI錄音筆市場 訊飛智能錄音筆發(fā)布3大升級

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

    Hi3861其他驅(qū)動(dòng)的開發(fā)示例

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

    基于鴻蒙系統(tǒng)+Hi3861的WiFi小車開發(fā)

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

    Hi3861V100/Hi3861LV100 SDK開發(fā)環(huán)境搭建

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

    Hi3861編譯燒錄更快捷

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

    HMDTU-OpenHarmony-Hi3861環(huán)境搭建

    HMDTU-OpenHarmony-Hi3861環(huán)境搭建
    的頭像 發(fā)表于 05-06 12:51 ?623次閱讀
    HMDTU-OpenHarmony-<b class='flag-5'>Hi3861</b><b class='flag-5'>環(huán)境</b><b class='flag-5'>搭建</b>