精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

NUC980開發板應用 基于NK-980IoT的國學唐詩學習機

RTThread物聯網操作系統 ? 來源:recan ? 作者:recan ? 2022-06-23 14:55 ? 次閱讀

作者:recan

鏈接:

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

基于NK-980IoT的國學唐詩學習機


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

1 項目背景

最近一直在陪小孩學習國學精髓,比如唐詩、宋詞這些經典國學常識;恰好看到RT-Thread官方社區有開展一個DIY活動,并且這個板子剛好帶有音頻相關的外設接口,于是想著試著玩一玩,沒準后面可以把功能再升級一下,給小孩做個高級”玩具”(這個成本可不低?。?。

2 開發板簡介

開發板簡單的介紹,參考如下:

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

整體上板子的外設情況還是非常不錯的,可以做很多有用、好玩的東西。由于我本次的DIY項目主要關于音頻,所以我也就重點看了這塊的介紹。

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

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

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

3 項目實現


3.1 硬件部分

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

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

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

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

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

SD卡:用作音頻文件的存儲。

3.2 軟件部分

整個代碼結構比較簡單,如下圖所示:

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

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

程序的簡單邏輯如下:

1、程序上電,完成初始化操作,包括按鍵、LED等GPIO的模式設定,創建一個信號量;另外,系統在上電初始化后,檢測到SD卡存在的話,會自動掛載其文件系統,掛載點為 /mnt/sd1 這個目錄;

2、播放開機使用歡迎詞;

3、while-1循環等待功能按鍵的輸入;

4、當識別到對應的按鍵輸入后,響應的功能指示燈亮起,并且設定具體需要播放的音頻文件名,然后通過信號量觸發給main循環的信號量等待,然后由main循環調用wavplayer的接口執行對應音頻文件的播放;


	
  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、周次循環3-4步驟。

工程代碼代碼已開源在gitee:國學唐詩學習機

工程代碼建議使用env環境執行編譯,下載使用官方的NuWriter工具。

工程中使用的音頻文件,如果需要測試,可以聯系我獲取。

4 功能展示

4.1 已實現功能

主要是用按鍵觸發不同的國學內容,然后進行朗誦,功能屬于比較簡單,演示視頻詳見:B站鏈接

B站鏈接:

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

4.2 未來實現功能

比如一鍵聯網更新 唐詩音頻文件:通過http或tftp等遠程方式,自動更新已發布的唐詩音頻文件;

比如支持本地人工朗誦錄音和播放:通過讀學習者的朗誦執行與原文的比對;

比如支持考察模式:學習機隨機選擇一首詩名,然后學習者來背誦,形成學習閉環;

比如加入語音識別功能:支持語音輸入來讓學習機朗誦對應的詩詞;

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

5 音頻文件制作

本次項目使用的所有音頻文件,均使用 AI文字合成語音在線網站制作,詳見如下:

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

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

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

6 項目總結

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

  • 看似小的DIY項目,也需要一番構思,留有功能升級的設計;

  • 擴展功能,有望再花點時間,升級升級;

  • 體驗了一把windows下使用env開發編譯,雖然比不上Linux環境的流暢,但在windows環境能有這樣的體驗也還不錯,贊一個。

7 參考資料

  • NK980IoT使用RT-Thread的簡介

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

  • NK-980IOT測評之I2S接口音頻測試

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

  • NK-980IOT 測評之 I2S 和 SDH

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

8 致謝


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


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

    關注

    29

    文章

    2839

    瀏覽量

    81373
  • 開發板
    +關注

    關注

    25

    文章

    4959

    瀏覽量

    97214
  • RT-Thread
    +關注

    關注

    31

    文章

    1274

    瀏覽量

    39941
  • nuc980
    +關注

    關注

    0

    文章

    4

    瀏覽量

    1252

原文標題:【NUC980開發板DIY項目大挑戰】基于NK-980IoT的國學唐詩學習機

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    linux開發板和單片開發的區別

    硬件架構 Linux開發板和單片開發在硬件架構上有很大的區別。Linux開發板通?;贏RM、x86或其他處理器架構,具有較高的處理能力和內存容量。而單片
    的頭像 發表于 08-30 15:30 ?640次閱讀

    盤點那些硬件+項目學習套件:阿里云HaaS EDU物聯網開發板及入門常見問題解答

    ?華清遠見20歲了~過去3年里,華清遠見研發中心針對個人開發板業務,打造了多款硬件+項目學習套件,涉及STM32單片、嵌入式、物聯網、人工智能、鴻蒙、ESP32、阿里云IoT等多技術
    的頭像 發表于 07-31 16:28 ?628次閱讀
    盤點那些硬件+項目<b class='flag-5'>學習</b>套件:阿里云HaaS EDU物聯網<b class='flag-5'>開發板</b>及入門常見問題解答

    小度發布首款百度文心大模型學習機

    近日,小度科技推出了一款基于文心大模型的學習機——小度學習機Z30。這款學習機針對學習計劃、診斷、練習、學習、預習、育兒、答疑七大環節進行了
    的頭像 發表于 05-29 09:10 ?745次閱讀

    全球首款基于文心大模型的學習機—小度學習機Z30重磅發布

    AI時代,大模型成為推動智能教育升維發展的新質生產力。5月27日小度科技召開新品發布會,全球首款基于文心大模型的學習機——小度學習機Z30重磅發布,
    的頭像 發表于 05-28 09:30 ?626次閱讀

    PY32系列單片開發板 常用型號都有 支持Keil,IAR進行開發

    、IOT、傳感器、電動工具、電機控制等領域。 PY32系列單片與大部份國產通用型MCU一樣,支持Keil,IAR進行開發。芯嶺技術提供目前PY32系列主流單片
    的頭像 發表于 05-22 14:48 ?929次閱讀
    PY32系列單片<b class='flag-5'>機</b><b class='flag-5'>開發板</b> 常用型號都有 支持Keil,IAR進行<b class='flag-5'>開發</b>

    AI大模型落地學習機,大模型應用成學習機創新方向

    電子發燒友網報道(文/李彎彎)大模型在終端產品上的落地,除了智能手機、PC之外,還有學習機。過去一段時間,隨著大模型的火熱,互聯網、教育公司都已經紛紛披露大模型在教育領域的最新動態,并發布搭載AI
    的頭像 發表于 02-23 01:19 ?3798次閱讀

    51單片開發板的主要功能 51單片開發板能做什么

    51單片開發板是一種基于8051系列單片機芯片的開發板,具有豐富的功能和廣泛的應用。下面將詳細介紹51單片開發板的主要功能以及能夠實現的
    的頭像 發表于 01-23 15:52 ?3433次閱讀

    請問如何在Linux下取得NUC980 CPU頻率?

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

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

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

    MCP251X can驅動移植nuc980采樣用設備樹配置時,中斷如何配置設備樹?

    MCP251X can驅動移植nuc980 采樣用設備樹配置時,中斷如何配置設備樹? spi0: spi@b0061000 { status = \"okay\"
    發表于 01-17 06:43

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

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

    nuc980一次性需要把許多數據發給上位,每發一個packet必須長時間延時,是什么原因導致的?

    nuc980使用usb0作為從,在linux內核驅動中開啟gadget hid功能,從需要和pc上位進行大數據量(1k)通信時,從
    發表于 01-17 06:26

    HC6800-ES V2.0單片開發板學習指南

    電子發燒友網站提供《HC6800-ES V2.0單片開發板學習指南.doc》資料免費下載
    發表于 01-07 09:48 ?12次下載

    51單片開發板原理圖介紹

    電子發燒友網站提供《51單片開發板原理圖介紹.pdf》資料免費下載
    發表于 12-18 09:12 ?4次下載

    nuc980雙網卡開機啟動

    nuc980雙網卡開機啟動
    的頭像 發表于 12-07 18:25 ?1408次閱讀
    <b class='flag-5'>nuc980</b>雙網卡開機啟動