<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示

基于博流BL606P音視頻開發板的智能音箱系統開發方案

芯片開放社區 ? 來源:芯片開放社區 ? 2023-06-06 17:11 ? 次閱讀

編輯語:

芯片開放社區(OCC)面向廣大開發者推出應用實戰系列內容,通過分享開發者實戰開發案例,總結應用開發經驗,梳理開發中的常見問題及解決方案,為后續參與的開發者提供更多參考與借鑒。

本文是關于開發者 喬幫主分享了在Docker環境下,基于博流BL606P音視頻開發板,進行智能音箱系統搭建的完成過程。按照文中步驟操作后,你將得到一個可以進行對話的智能音箱。

01背景

平頭哥給我提供了一套博流BL606P音視頻開發板評測:

2a9f7a16-0448-11ee-90ce-dac502259ad0.jpg?2ac89590-0448-11ee-90ce-dac502259ad0.jpg

這套BL606P開發板是由博流科技研發,基于平頭哥的XTC906和E907,集成度較高,非常適合用于智能音箱系統。

開發套件提供了主控板、按鍵板,還提供了4歐3W的喇叭,還有按鍵板連接線和支撐柱,開箱連接好就能用了。

2afc4d2c-0448-11ee-90ce-dac502259ad0.jpg

2b4353f2-0448-11ee-90ce-dac502259ad0.jpg

另外,這塊板子上,還板載調試器,使用Type-C連接電腦后,就能夠直接進行調試和固件燒錄了,不需要單獨配調試器。

我這邊一向習慣使用Docker來搭建Linux開發環境,所以這次也不例外。不過,要進行固件燒錄,目前還得借助Windows上運行的T-Head-DebugServer。

02Docker搭建基礎環境

首先我們要搭建一個基于Ubuntu18.04版本的基礎環境,并安裝好基礎工具包,以及設置好Python3作為默認Python環境。

以下是具體的步驟:

# 主機
# docker啟動
mkdir projects
docker run -v $(pwd)/projects:/root/projects --name BL606P -it ubuntu:18.04

#docker內
# 基本工具安裝
cd /root
apt update && apt -y install sudo vim

# apt更新安裝基礎工具包
sudo apt update
sudo apt upgrade
sudo apt install build-essential git curl lsof ping unzip

# 安裝ppa
sudo apt install -y software-properties-common
sudo add-apt-repository ppa:deadsnakes/ppa #看到Enter就回車

# 安裝python3.7
sudo apt install python3.7

# 更新指向
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2

sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.7 2

sudo update-alternatives --config python
sudo update-alternatives --config python3

sudo apt autoremove

# 安裝pip
sudo apt install python3-dev
sudo apt install python3-pip
sudo update-alternatives --install /usr/bin/pip pip /usr/bin/pip3 1
sudo apt install python3-dev

# 檢查Python安裝結果:
python -V && python3 -V

最終輸出如下,說明基礎環境設置成功:

2b6dc34e-0448-11ee-90ce-dac502259ad0.jpg

03YoC工具鏈安裝

XT系列芯片SDK編譯,在Linux下使用yoc工具來進行,通過Python的包管理工具,可以很方便地安裝。

具體步驟如下:

# 安裝yoctools
sudo pip install yoctools -U

# 安裝工具鏈
sudo yoc toolchain --riscv -f
ls /usr/local/thead/riscv64-unknown-elf

# 查看yoc版本
yoc -V

最終輸出結果如下,說明安裝成功:

2b8c5e76-0448-11ee-90ce-dac502259ad0.jpg

2ba760b8-0448-11ee-90ce-dac502259ad0.jpg

04開發板的連接

將BL606P開發板連接到Windows電腦上之前,需要做好跳線設置。

參考官方提供的原理圖:

2bbe06c4-0448-11ee-90ce-dac502259ad0.jpg

然后對照開發板的跳線進行設置:

2be68a86-0448-11ee-90ce-dac502259ad0.jpg

本質上,就是把GPIO16-19,連接到TCK、TDI、TMS、TDO,這樣Type-C連接到電腦后,就能夠直接對接到調試端口了。

然后使用Type-C,將開發板的UART接口,連接到Windows電腦:

2c1cae5e-0448-11ee-90ce-dac502259ad0.jpg右邊的Type-C接口,只是用于供電的,不能用于調試通信。?

05安裝 T-Head-DebugServer 調試工具

Windows安裝T-Head-DebugServer

Windows可以直接下載 T-Head-DebugServer-windows 版本進行安裝即可。下載地址:https://occ.t-head.cn/community/download?id=4133634465765330944

T-Head-DebugServer默認需要1025端口,所以啟動前,先檢查該端口是否被占用,可在Windows黑窗口執行下面的命令檢查:

netstat -aon | findstr LISTEN | findstr 1025

如果輸出端口被占用了,上述命令會輸出對應的PID信息,可以到任務管理器中查看是什么進程占用了,停止它即可。

其他成功后,界面如下:

2c382116-0448-11ee-90ce-dac502259ad0.jpg

上述界面輸出的最后一行,顯示了用于遠程連接的地址和端口,需要記好,在Docker的Linux環境下面需要使用。

target remote 192.168.1.47:8025

Linux安裝:T-Head-DebugServer

Docker環境中的Linux系統上,需要下載 T-Head-DebugServer-linux-x86_64 版本,在上述地址下載,解壓后,直接執行解壓得到的shell文件安裝即可:

2c693d46-0448-11ee-90ce-dac502259ad0.jpg

在Linux環境中,也可以檢查1025端口是否被占用,對應的指令如下:

lsof -i:1025

安裝好以后,再執行下面的命令啟動T-Head-DebugServer:

DebugServerConsole -setclk 8 -port 1025

06測試基礎功能開發

上述環境搭建好以后,可以使用官方提供的HelloWorld進行測試,使用如下的步驟,在Docker中的Linux環境下,下載編譯HelloWorld工程:

mkdir ~/test
cd ~/test
yoc init
yoc install helloworld
cd solutions/helloworld
make SDK=sdk_chip_bl606p_e907

在上述命令中,使用yoc工具,可以很方便地管理和下載源碼。

最后一步完成編譯,輸出如下:

2ca45368-0448-11ee-90ce-dac502259ad0.jpg

經過上面的步驟, HelloWorld已經編譯完畢,可以用于燒錄測試了。

在第四節【安裝 T-Head-DebugServer 調試工具】中,得到了遠程調試的地址和端口,要在Docker中的Linux環境下進行燒錄,只需要將gdb燒錄配置文件中地址和端口,修改為遠程調試端口即可,具體命令如下:

sed -i 's#localhost8025#' gdbinitflash

然后,再執行下面的命令進行燒錄:

make flashall SDK=sdk_chip_bl606p_e907

燒錄過程中,Windows上的T-Head-DebugServer會有如下的信息輸出:

2cc02a5c-0448-11ee-90ce-dac502259ad0.jpg

其中"Get connection from 192.168.1.100",表示來自這個IP的遠程調試連接,也就是Docker中的Linux連上來了。

make flashall燒錄命令執行成功后,具體輸出如下:

2ce843fc-0448-11ee-90ce-dac502259ad0.jpg

現在,可以關閉 Windows上的T-Head-DebugServer 工具,然后使用串口工具連接開發板,波特率使用 2000000,然后重啟開發板,就能收到如下的輸出信息:

2d1dd918-0448-11ee-90ce-dac502259ad0.jpg

看到【hello world】,說明我們的基礎開發燒錄運行搞定,下面可以開始進行智能音箱功能的開發燒錄測試了。

07智能音箱系統搭建

平頭哥為bl606提供了SDK_longyuan,用于智能音箱系統的基礎開發,類似上面的HelloWorld,也使用yoc工具進行操作,具體步驟如下:

cd ~/test
yoc install smart_speaker_v2
cd solutions/helloworld
cp package_bl606p_mind.yaml package.yaml
make clean && make

但是在最后make編譯的過程中,會出現找不到ao.h文件的問題:

2d473e0c-0448-11ee-90ce-dac502259ad0.jpg

經過一番了解,正確獲取該工程的步驟應該如下:

mkdir ~/longyuan
cd ~/longyuan
yoc init
yoc install sdk_longyuan
cd solutions/smart_speaker_v2
cp package_bl606p_mind.yaml package.yaml
make clean && make

編譯成功后,輸出如下:

2d722edc-0448-11ee-90ce-dac502259ad0.jpg

然后,進行燒錄,具體步驟如下:

sed -i 's#localhost8025#' gdbinitflash
make erasechip #擦除
make flashall  #燒錄全量鏡像
make flash     #僅燒錄應用鏡像

類似HelloWorld,第一步是設置遠程調試地址,所以需要先關閉串口工具,并打開Windows上的T-Head-DebugServer 工具,再執行上面的燒錄指令。

燒錄完成后,輸出如下:

2d928bd2-0448-11ee-90ce-dac502259ad0.jpg

燒錄完成后,再次關閉Windows上的T-Head-DebugServer 工具,然后使用串口工具連接到開發板,重啟開發板后,會進入基礎shell環境,并提示進行WiFi連接設置,此時要使用如下的指令:

kv set wifi_ssid0 OpenBSD
kv set wifi_psk0 13581882013
reboot

再次重啟成功后,喇叭就會發聲,網絡連接成功,天貓精靈歡迎。

按照正常邏輯,此時就可以說【天貓精靈】喚醒,進行對話了。

實際使用時,說【天貓精靈】喚醒后,馬上就死機了,反復嘗試都是直接崩潰了。

又經過一番了解,原來,需要降級編譯鏈才行。

具體步驟如下:

從https://occ.t-head.cn/community/download?id=4049193882418745344下載Xuantie-900-gcc-elf-newlib-x86_64-V2.4.0-20220428.tar.gz到~/

解壓工具鏈:

cd ~
tar xzvf Xuantie-900-gcc-elf-newlib-x86_64-V2.4.0-20220428.tar.gz

設置工具鏈路徑:

export PATH="/root/Xuantie-900-gcc-elf-newlib-x86_64-V2.4.0/bin:/root/Xuantie-900-gcc-elf-newlib-x86_64-V2.4.0/riscv64-unknown-elf/bin:$PATH"

設置完成,重新上面的編譯燒錄步驟,并再次設置WiFi連接,一切就正常了。

08智能音箱系統體驗

完成后的智能音箱,可以脫離調試環境了,使用專用電源供電,或者使用Type-C供電,就能使用了。

使用【天貓精靈】喚醒,發出滴滴咚聲后,就可以進行自然語言對話了。

說出【天貓精靈】喚醒,會出現如下的輸出:

2dc57bc8-0448-11ee-90ce-dac502259ad0.png最后的WAKEUP表示喚醒。

再說出【告訴我現在時間】,就可看到和聽到回復了:

2e1f173c-0448-11ee-90ce-dac502259ad0.png??

現在,就可以愉快地玩耍了。

09智能音箱系統體驗

雖然在智能音箱系統搭建的過程中,遇到了一些小問題,不過總的來說,還是比較順暢的。

博流提供了完成的BL6060開發套件,平頭哥提供了可以用于二次開發的系統源碼,最終實現的智能音箱,使用起來也非常流暢,回復也基本感覺不到延遲,體驗很好。

基于此基礎上,以此為原型,實現更多功能,進行產品的開發,可以非常的快捷方便。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 音視頻
    +關注

    關注

    4

    文章

    420

    瀏覽量

    29639
  • 開發板
    +關注

    關注

    25

    文章

    4534

    瀏覽量

    94668
  • 智能音箱
    +關注

    關注

    31

    文章

    1776

    瀏覽量

    78087
  • Docker
    +關注

    關注

    0

    文章

    439

    瀏覽量

    11638

原文標題:應用速遞 | 博流BL606P音視頻開發板:基于Docker環境進行智能音箱系統開發全過程

文章出處:【微信號:芯片開放社區,微信公眾號:芯片開放社區】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于博流BL606P音視頻開發板的ADC Key按鈕例程

    本文是關于開發者 kit7828 基于BL606P-DVK開發板實戰開發的系列文章中的第三篇,主要介紹了ADC Key按鈕例程,后面還會持續更新該
    的頭像 發表于 05-22 11:09 ?887次閱讀
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開發板</b>的ADC Key按鈕例程

    基于博流BL606P音視頻開發板開發環境搭建及例程測試

    本文是關于開發者 zhanghui 基于BL606P-DVK開發板實戰開發的系列文章中的第一篇,主要介紹了開發環境搭建及例程測試,后面還會持
    發表于 06-09 10:04 ?560次閱讀
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開發板</b>的<b class='flag-5'>開發</b>環境搭建及例程測試

    博流BL606P音視頻開發板:(三)ADC測試

    本文是關于開發者 qinyunti 基于BL606P-DVK開發板實戰開發的系列文章中的一篇,主要介紹了ADC測試,后面還會持續更新該開發
    的頭像 發表于 04-10 10:26 ?536次閱讀

    基于博流BL606P音視頻開發板智能音箱測試

    本文是關于開發者 qinyunti 基于BL606P-DVK開發板實戰開發的系列文章中的一篇,主要介紹了智能
    的頭像 發表于 05-09 11:22 ?654次閱讀
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開發板</b>的<b class='flag-5'>智能</b><b class='flag-5'>音箱</b>測試

    博流BL606P音視頻開發板:HelloWord Demo運行及跳線帽設置

    本文是關于開發者 kit7828 基于BL606P-DVK開發板實戰開發的系列文章中的第一篇,主要介紹了環境搭建及HelloWord Demo運行,后面還會持續更新該
    的頭像 發表于 05-15 15:25 ?712次閱讀
    博流<b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開發板</b>:HelloWord Demo運行及跳線帽設置

    基于博流BL606P音視頻開發板實現RGB點燈

    本文是關于開發者 kit7828 基于BL606P-DVK開發板實戰開發的系列文章中的第二篇,主要介紹了BL606P實現RGB點燈,后面還會
    的頭像 發表于 05-18 10:57 ?687次閱讀
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開發板</b>實現RGB點燈

    博流BL606P音視頻開發板CKLink無法下載的解決辦法

    本文是關于開發者 kit7828 基于BL606P-DVK開發板實戰開發的系列文章中的第五篇,主要介紹了CKLink無法下載的解決辦法,后面還會持續更新該
    的頭像 發表于 05-29 10:59 ?557次閱讀
    博流<b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開發板</b>CKLink無法下載的解決辦法

    基于博流BL606P音視頻開發板的藍牙音頻測試

    本文是關于開發者 zhanghui 基于BL606P-DVK開發板實戰開發的系列文章中的第三篇,主要介紹了藍牙音頻測試,后面還會持續更新該開發
    的頭像 發表于 06-25 09:42 ?386次閱讀
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開發板</b>的藍牙音頻測試

    基于博流BL606P音視頻開發板驅動LED數碼管

    本文是關于開發者 zhanghui 基于BL606P-DVK開發板實戰開發的系列文章中的第四篇,主要介紹了LED數據管模塊TM1638驅動的測試,后面還會持續更新該
    的頭像 發表于 06-29 09:49 ?294次閱讀
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開發板</b>驅動LED數碼管

    基于博流BL606P音視頻開發板的CAN擴展模塊收發測試

    本文是關于開發者 zhanghui 基于BL606P-DVK開發板實戰開發的系列文章中的第五篇,主要介紹了CAN擴展模塊收發測試,后面還會持續更新社區
    的頭像 發表于 07-03 10:06 ?438次閱讀
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開發板</b>的CAN擴展模塊收發測試

    基于BL606P-DVK音視頻開發板的實戰案例

    本文是關于開發者 乘簡 基于BL606P-DVK開發板實戰開發的系列文章中的第五篇,主要介紹了CAN擴展模塊收發測試!
    發表于 07-06 10:51 ?370次閱讀

    博流BL606P音視頻開發板:驅動MAX7219點陣模組

    本文是關于開發者 乘簡 基于BL606P-DVK開發板實戰開發的系列文章中的一篇,主要介紹了驅動MAX7219點陣模組,后面還會持續更新社區開發
    的頭像 發表于 07-10 10:43 ?566次閱讀
    博流<b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開發板</b>:驅動MAX7219點陣模組

    基于博流BL606P音視頻開發板的GPIO點燈教程

    本文是關于開發者 swzswz 基于BL606P-DVK開發板實戰開發的系列文章中的一篇,主要介紹了GPIO點燈,后面還會持續更新社區開發
    的頭像 發表于 07-17 10:54 ?472次閱讀
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開發板</b>的GPIO點燈教程

    基于博流BL606P音視頻開發板驅動LED數碼管

    本文是關于開發者 swzswz 基于BL606P-DVK開發板實戰開發的系列文章中的一篇,主要介紹了驅動led數碼管,后面還會持續更新社區開發
    的頭像 發表于 07-20 10:58 ?361次閱讀
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開發板</b>驅動LED數碼管

    基于博流BL606P音視頻開發板的音響測試

    本文是關于開發者 swzswz 基于BL606P-DVK開發板實戰開發的系列文章中的一篇,主要介紹了音響測試,后面還會持續更新社區開發者的測
    的頭像 發表于 07-25 09:56 ?366次閱讀
    基于博流<b class='flag-5'>BL606P</b><b class='flag-5'>音視頻</b><b class='flag-5'>開發板</b>的音響測試
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>