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

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

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

NUC980開發(fā)板應(yīng)用 基于NK-980IoT的國(guó)學(xué)唐詩(shī)學(xué)習(xí)機(jī)

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來(lái)源:recan ? 作者:recan ? 2022-06-23 14:55 ? 次閱讀

作者:recan

鏈接:

https://club.rt-thread.org/ask/article/372fe88529e45e45.html

基于NK-980IoT的國(guó)學(xué)唐詩(shī)學(xué)習(xí)機(jī)


ab8c1bcc-f227-11ec-ba43-dac502259ad0.png

1 項(xiàng)目背景

最近一直在陪小孩學(xué)習(xí)國(guó)學(xué)精髓,比如唐詩(shī)、宋詞這些經(jīng)典國(guó)學(xué)常識(shí);恰好看到RT-Thread官方社區(qū)有開展一個(gè)DIY活動(dòng),并且這個(gè)板子剛好帶有音頻相關(guān)的外設(shè)接口,于是想著試著玩一玩,沒準(zhǔn)后面可以把功能再升級(jí)一下,給小孩做個(gè)高級(jí)”玩具”(這個(gè)成本可不低?。?/span>

2 開發(fā)板簡(jiǎn)介

開發(fā)板簡(jiǎn)單的介紹,參考如下:

ab9d0374-f227-11ec-ba43-dac502259ad0.png

整體上板子的外設(shè)情況還是非常不錯(cuò)的,可以做很多有用、好玩的東西。由于我本次的DIY項(xiàng)目主要關(guān)于音頻,所以我也就重點(diǎn)看了這塊的介紹。

abcd95fc-f227-11ec-ba43-dac502259ad0.png

音頻芯片型號(hào)為NAU8822L,其中I2C接口用于配置(MODE引腳低),I2S接口用于傳輸數(shù)據(jù)。

I2S_LRCK接FS,用于區(qū)分左右通道數(shù)據(jù)。
I2S_BCLK接BCLK 數(shù)據(jù)傳輸bit時(shí)鐘。
I2S_DI接ADCOUT 主<-從。
I2S_DO接ADCIN 主->從。
I2S_MCLK接MCLK 主時(shí)鐘,給設(shè)備提供時(shí)鐘源。

3 項(xiàng)目實(shí)現(xiàn)


3.1 硬件部分

本方案中,硬件部分主要包括使用了2個(gè)按鍵和2個(gè)LED,SD卡、以及音頻處理的I2S接口。

abdfaada-f227-11ec-ba43-dac502259ad0.png

LED:用作功能指示;黃燈表示唐詩(shī)五言絕句模式,紅燈表示唐詩(shī)七言絕句模式;

按鍵:用作功能選擇,有唐詩(shī)五言絕句和唐詩(shī)七言律詩(shī),兩種功能模式;

音頻喇叭:用作音頻的輸出;

SD卡:用作音頻文件的存儲(chǔ)。

3.2 軟件部分

整個(gè)代碼結(jié)構(gòu)比較簡(jiǎn)單,如下圖所示:

abffd0ee-f227-11ec-ba43-dac502259ad0.png

使用到的軟件包主要是 wavplayer,在播放音頻時(shí),也主要使用這個(gè)軟件包的接口。

程序的簡(jiǎn)單邏輯如下:

1、程序上電,完成初始化操作,包括按鍵、LED等GPIO的模式設(shè)定,創(chuàng)建一個(gè)信號(hào)量;另外,系統(tǒng)在上電初始化后,檢測(cè)到SD卡存在的話,會(huì)自動(dòng)掛載其文件系統(tǒng),掛載點(diǎn)為 /mnt/sd1 這個(gè)目錄;

2、播放開機(jī)使用歡迎詞;

3、while-1循環(huán)等待功能按鍵的輸入;

4、當(dāng)識(shí)別到對(duì)應(yīng)的按鍵輸入后,響應(yīng)的功能指示燈亮起,并且設(shè)定具體需要播放的音頻文件名,然后通過信號(hào)量觸發(fā)給main循環(huán)的信號(hào)量等待,然后由main循環(huán)調(diào)用wavplayer的接口執(zhí)行對(duì)應(yīng)音頻文件的播放;


	
  1. void wav_palyer_file(constchar*file)

  2. {

  3. int new_argc =3;

  4. char*new_argv[64]={

  5. "wavplayer",

  6. "-s",

  7. "/mnt/sd1/test/test.wav",

  8. };

  9. externint wav_player(int argc,char*argv[]);

  10. snprintf(new_argv[2],64,"%s", file);

  11. wav_player(new_argc, new_argv);

  12. }

1、周次循環(huán)3-4步驟。

工程代碼代碼已開源在gitee:國(guó)學(xué)唐詩(shī)學(xué)習(xí)機(jī)

工程代碼建議使用env環(huán)境執(zhí)行編譯,下載使用官方的NuWriter工具。

工程中使用的音頻文件,如果需要測(cè)試,可以聯(lián)系我獲取。

4 功能展示

4.1 已實(shí)現(xiàn)功能

主要是用按鍵觸發(fā)不同的國(guó)學(xué)內(nèi)容,然后進(jìn)行朗誦,功能屬于比較簡(jiǎn)單,演示視頻詳見:B站鏈接

B站鏈接:

https://www.bilibili.com/video/BV1UY4y1B788/

4.2 未來(lái)實(shí)現(xiàn)功能

比如一鍵聯(lián)網(wǎng)更新 唐詩(shī)音頻文件:通過http或tftp等遠(yuǎn)程方式,自動(dòng)更新已發(fā)布的唐詩(shī)音頻文件;

比如支持本地人工朗誦錄音和播放:通過讀學(xué)習(xí)者的朗誦執(zhí)行與原文的比對(duì);

比如支持考察模式:學(xué)習(xí)機(jī)隨機(jī)選擇一首詩(shī)名,然后學(xué)習(xí)者來(lái)背誦,形成學(xué)習(xí)閉環(huán);

比如加入語(yǔ)音識(shí)別功能:支持語(yǔ)音輸入來(lái)讓學(xué)習(xí)機(jī)朗誦對(duì)應(yīng)的詩(shī)詞;

比如加入LCD顯示:支持更多樣化的人機(jī)交互。

5 音頻文件制作

本次項(xiàng)目使用的所有音頻文件,均使用 AI文字合成語(yǔ)音在線網(wǎng)站制作,詳見如下:

ac150c48-f227-11ec-ba43-dac502259ad0.png

ac23e9b6-f227-11ec-ba43-dac502259ad0.png

將所有制作好的音頻文件,按照預(yù)定的文件名,拷貝到SD卡中,即可被讀取播放了。

6 項(xiàng)目總結(jié)

  • NK-980IoT版子支持下載固件程序到SRAM中快速運(yùn)行,這個(gè)功能很贊,可以加快調(diào)試速度;但是,我使用燒錄到SPI Flash的方式,試了好幾次燒錄完了都沒跑起來(lái),真是有些頭疼;

  • 看似小的DIY項(xiàng)目,也需要一番構(gòu)思,留有功能升級(jí)的設(shè)計(jì);

  • 擴(kuò)展功能,有望再花點(diǎn)時(shí)間,升級(jí)升級(jí);

  • 體驗(yàn)了一把windows下使用env開發(fā)編譯,雖然比不上Linux環(huán)境的流暢,但在windows環(huán)境能有這樣的體驗(yàn)也還不錯(cuò),贊一個(gè)。

7 參考資料

  • NK980IoT使用RT-Thread的簡(jiǎn)介

https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/tutorial/quick-start/nk-980iot/quick-start

  • NK-980IOT測(cè)評(píng)之I2S接口音頻測(cè)試

https://club.rt-thread.org/ask/article/0a848bea7e87954b.html

  • NK-980IOT 測(cè)評(píng)之 I2S 和 SDH

https://club.rt-thread.org/ask/article/02738a52239b522c.html

8 致謝


最后,感謝論壇小伙伴 @qinyunti 的部分技術(shù)支持,I2S音頻操作部分主要參考之前的測(cè)評(píng)文章,也期待論壇中有更多關(guān)于NK-980IoT的技術(shù)文章輸出。


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

    關(guān)注

    29

    文章

    2877

    瀏覽量

    81547
  • 開發(fā)板
    +關(guān)注

    關(guān)注

    25

    文章

    5050

    瀏覽量

    97471
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1289

    瀏覽量

    40129
  • nuc980
    +關(guān)注

    關(guān)注

    0

    文章

    4

    瀏覽量

    1262

原文標(biāo)題:【NUC980開發(fā)板DIY項(xiàng)目大挑戰(zhàn)】基于NK-980IoT的國(guó)學(xué)唐詩(shī)學(xué)習(xí)機(jī)

文章出處:【微信號(hào):RTThread,微信公眾號(hào):RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    基于哪吒開發(fā)板部署YOLOv8模型

    2024英特爾 “走近開發(fā)者”互動(dòng)活動(dòng)-哪吒開發(fā)套件免費(fèi)試 用 AI 創(chuàng)新計(jì)劃:哪吒開發(fā)板是專為支持入門級(jí)邊緣 AI 應(yīng)用程序和設(shè)備而設(shè)計(jì),能夠滿足人工智能學(xué)習(xí)、
    的頭像 發(fā)表于 11-15 14:13 ?249次閱讀
    基于哪吒<b class='flag-5'>開發(fā)板</b>部署YOLOv8模型

    linux開發(fā)板和單片機(jī)開發(fā)的區(qū)別

    硬件架構(gòu) Linux開發(fā)板和單片機(jī)開發(fā)在硬件架構(gòu)上有很大的區(qū)別。Linux開發(fā)板通?;贏RM、x86或其他處理器架構(gòu),具有較高的處理能力和內(nèi)存容量。而單片
    的頭像 發(fā)表于 08-30 15:30 ?788次閱讀

    盤點(diǎn)那些硬件+項(xiàng)目學(xué)習(xí)套件:阿里云HaaS EDU物聯(lián)網(wǎng)開發(fā)板及入門常見問題解答

    ?華清遠(yuǎn)見20歲了~過去3年里,華清遠(yuǎn)見研發(fā)中心針對(duì)個(gè)人開發(fā)板業(yè)務(wù),打造了多款硬件+項(xiàng)目學(xué)習(xí)套件,涉及STM32單片機(jī)、嵌入式、物聯(lián)網(wǎng)、人工智能、鴻蒙、ESP32、阿里云IoT等多技術(shù)
    的頭像 發(fā)表于 07-31 16:28 ?683次閱讀
    盤點(diǎn)那些硬件+項(xiàng)目<b class='flag-5'>學(xué)習(xí)</b>套件:阿里云HaaS EDU物聯(lián)網(wǎng)<b class='flag-5'>開發(fā)板</b>及入門常見問題解答

    小度發(fā)布首款百度文心大模型學(xué)習(xí)機(jī)

    近日,小度科技推出了一款基于文心大模型的學(xué)習(xí)機(jī)——小度學(xué)習(xí)機(jī)Z30。這款學(xué)習(xí)機(jī)針對(duì)學(xué)習(xí)計(jì)劃、診斷、練習(xí)、學(xué)習(xí)、預(yù)習(xí)、育兒、答疑七大環(huán)節(jié)進(jìn)行了
    的頭像 發(fā)表于 05-29 09:10 ?822次閱讀

    全球首款基于文心大模型的學(xué)習(xí)機(jī)—小度學(xué)習(xí)機(jī)Z30重磅發(fā)布

    AI時(shí)代,大模型成為推動(dòng)智能教育升維發(fā)展的新質(zhì)生產(chǎn)力。5月27日小度科技召開新品發(fā)布會(huì),全球首款基于文心大模型的學(xué)習(xí)機(jī)——小度學(xué)習(xí)機(jī)Z30重磅發(fā)布,
    的頭像 發(fā)表于 05-28 09:30 ?655次閱讀

    PY32系列單片機(jī)開發(fā)板 常用型號(hào)都有 支持Keil,IAR進(jìn)行開發(fā)

    、IOT、傳感器、電動(dòng)工具、電機(jī)控制等領(lǐng)域。 PY32系列單片機(jī)與大部份國(guó)產(chǎn)通用型MCU一樣,支持Keil,IAR進(jìn)行開發(fā)。芯嶺技術(shù)提供目前PY32系列主流單片機(jī)
    的頭像 發(fā)表于 05-22 14:48 ?1078次閱讀
    PY32系列單片<b class='flag-5'>機(jī)</b><b class='flag-5'>開發(fā)板</b> 常用型號(hào)都有 支持Keil,IAR進(jìn)行<b class='flag-5'>開發(fā)</b>

    AI大模型落地學(xué)習(xí)機(jī),大模型應(yīng)用成學(xué)習(xí)機(jī)創(chuàng)新方向

    電子發(fā)燒友網(wǎng)報(bào)道(文/李彎彎)大模型在終端產(chǎn)品上的落地,除了智能手機(jī)、PC之外,還有學(xué)習(xí)機(jī)。過去一段時(shí)間,隨著大模型的火熱,互聯(lián)網(wǎng)、教育公司都已經(jīng)紛紛披露大模型在教育領(lǐng)域的最新動(dòng)態(tài),并發(fā)布搭載AI
    的頭像 發(fā)表于 02-23 01:19 ?3860次閱讀

    fpga開發(fā)板與linux開發(fā)板區(qū)別

    FPGA開發(fā)板與Linux開發(fā)板是兩種不同的硬件開發(fā)平臺(tái),各自具有不同的特點(diǎn)和應(yīng)用場(chǎng)景。在以下的文章中,我將詳細(xì)介紹FPGA開發(fā)板和Linux開發(fā)板
    的頭像 發(fā)表于 02-01 17:09 ?2259次閱讀

    51單片機(jī)開發(fā)板的主要功能 51單片機(jī)開發(fā)板能做什么

    51單片機(jī)開發(fā)板是一種基于8051系列單片機(jī)芯片的開發(fā)板,具有豐富的功能和廣泛的應(yīng)用。下面將詳細(xì)介紹51單片機(jī)開發(fā)板的主要功能以及能夠?qū)崿F(xiàn)的
    的頭像 發(fā)表于 01-23 15:52 ?3768次閱讀

    請(qǐng)問如何在Linux下取得NUC980 CPU頻率?

    如何在Linux下取得NUC980 CPU頻率?
    發(fā)表于 01-17 07:01

    NUC980怎么把Uboot和kernel的輸出改到其它串口?

    使用的NUC980官方固件 板子只引出了PA1和PA0 沒有把UART0引出 請(qǐng)問應(yīng)該怎么把Uboot和kernel的輸出改到其它串口
    發(fā)表于 01-17 06:52

    MCP251X can驅(qū)動(dòng)移植nuc980采樣用設(shè)備樹配置時(shí),中斷如何配置設(shè)備樹?

    MCP251X can驅(qū)動(dòng)移植nuc980 采樣用設(shè)備樹配置時(shí),中斷如何配置設(shè)備樹? spi0: spi@b0061000 { status = \"okay\"
    發(fā)表于 01-17 06:43

    NUC980設(shè)備樹DTB文件如何通過NUWrite燒錄到SPI-Flash中,燒錄的地址是多少?

    NUC980設(shè)備樹DTB文件如何通過NUWrite燒錄到SPI-Flash中,燒錄的地址是多少;內(nèi)核編譯設(shè)備樹后卡死在“Calibrating delay loop... ”是什么問題
    發(fā)表于 01-17 06:29

    nuc980機(jī)一次性需要把許多數(shù)據(jù)發(fā)給上位機(jī),每發(fā)一個(gè)packet必須長(zhǎng)時(shí)間延時(shí),是什么原因?qū)е碌模?/a>

    nuc980使用usb0作為從機(jī),在linux內(nèi)核驅(qū)動(dòng)中開啟gadget hid功能,從機(jī)需要和pc上位機(jī)進(jìn)行大數(shù)據(jù)量(1k)通信時(shí),從機(jī)
    發(fā)表于 01-17 06:26

    HC6800-ES V2.0單片機(jī)開發(fā)板學(xué)習(xí)指南

    電子發(fā)燒友網(wǎng)站提供《HC6800-ES V2.0單片機(jī)開發(fā)板學(xué)習(xí)指南.doc》資料免費(fèi)下載
    發(fā)表于 01-07 09:48 ?13次下載