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

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

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

【RT-Thread x Infineon創(chuàng)意創(chuàng)客大賽】基于Infineon和ChatGPT的人工智能語(yǔ)音小管家

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來(lái)源:未知 ? 2023-08-04 20:35 ? 次閱讀
原文:https://club.rt-thread.org/ask/article/80312d50bc48fd76.html
概要本文給大家介紹一個(gè)Infineon和ChatGPT的人工智能語(yǔ)音小管家項(xiàng)目,該項(xiàng)目是博主架構(gòu)師李肯參加由RT-Thread與英飛凌聯(lián)合舉辦的2023英飛凌創(chuàng)意創(chuàng)客大賽的參賽項(xiàng)目,旨在探索智能硬件+智能音箱+ChatGPT的超級(jí)組合在C端市場(chǎng)的潛在應(yīng)用,希望能給大家?guī)?lái)幫助和啟發(fā)。
1 前言

如今,智能化的設(shè)備慢慢走進(jìn)了千家萬(wàn)戶,大大提升了人民生活的智能化,但是隨之而來(lái)的是各種智能設(shè)備無(wú)法互聯(lián)互通,形成了一片片信息孤島,這就迫切需要一個(gè)類似于智能家居管家系統(tǒng)的中樞設(shè)備來(lái)接管這些零散的智能設(shè)備;而在各種成熟的應(yīng)用產(chǎn)品方案中,形態(tài)各異的智能音箱無(wú)疑是一個(gè)比較合適的選擇。

眾觀市場(chǎng)上的各種智能音響,小度音響憑借其優(yōu)異的市場(chǎng)表現(xiàn),占據(jù)了很大一塊市場(chǎng)份額,使得“小度小度,現(xiàn)在幾度”成為了家庭中很常見的交互問候語(yǔ)。

有這么一個(gè)設(shè)想,我們將家庭環(huán)境中形態(tài)各異的智能設(shè)備,通過簡(jiǎn)單的協(xié)議改造,加上終端設(shè)備出色的主控能力,智能設(shè)備全部集合到小度音箱中去,而這個(gè)終端系統(tǒng)與小度音響直接打通,這樣跟小度直接對(duì)話就能操作這些智能設(shè)備,這是一個(gè)不錯(cuò)的點(diǎn)子。

同時(shí),當(dāng)下人工智能非?;鸨绕湟訡hatGPT最為強(qiáng)大,倘若這樣的一套終端系統(tǒng)能夠接入最前沿的ChatgPT,那么可以想象的是,這個(gè)智能系統(tǒng)的可玩性將會(huì)大大提升,而本項(xiàng)目正是基于這樣的目的,著手去探討這樣方案的可行性。

2 項(xiàng)目簡(jiǎn)介
2.1 項(xiàng)目名稱

基于Infineon和ChatGPT的人工智能語(yǔ)音小管家

2.2 設(shè)計(jì)思路


本項(xiàng)目主要使用Infineon的控制芯片作為端側(cè)的核心控制器,實(shí)現(xiàn)一個(gè)物聯(lián)網(wǎng)網(wǎng)關(guān),網(wǎng)關(guān)外圍接入多種傳感器器件和控制器件,通過Wi-Fi模組實(shí)現(xiàn)與云端的互通,并接入小度音箱控制系統(tǒng),實(shí)現(xiàn)使用音箱控制智能設(shè)備。

這個(gè)項(xiàng)目中,我將引入時(shí)下最流行的人工智能模型ChatGPT,這將極大地提升智能管家的時(shí)髦性和可玩性。本項(xiàng)目著重定義的應(yīng)用場(chǎng)景是在智慧家庭中,一個(gè)有趣的人工智能小管家,不僅能夠給家庭智能帶來(lái)便利,還將提升家居生活的智能化和幸福感。解放雙手,釋放人類,享受智能生活,一切都將變得可能。

2.3 主要解決的問題


家庭中的智能設(shè)備越來(lái)越多,一個(gè)集中式的智能家庭中樞控制系統(tǒng)迫在眉睫,旨在解決所有智能設(shè)備的調(diào)度和控制問題,為智能生活提供便利。同時(shí),將智能音箱系統(tǒng)接入最前沿的ChatGPT技術(shù),豐富設(shè)備的可玩性。

2.4 項(xiàng)目創(chuàng)新點(diǎn)
  • 主要是設(shè)備端各項(xiàng)傳感器器件和控制器件的集成,以及與小度音響的直連互通。

  • 在智能家居中,目前主流的所謂的“智能”,都是一個(gè)比較粗獷的智能,比如小度、小愛同學(xué)等;真正如果做到引入人工智能這種層次,還得看ChatGPT;如果能將ChatGPT接入智能家庭這個(gè)場(chǎng)景中,那么可玩的的東西,想象力就可大了。

2.5 本次參賽的初衷

采用本項(xiàng)目參賽,本身并不期望做出多么驚艷的產(chǎn)品,旨在探索智能硬件+智能音箱+ChatGPT的超級(jí)組合在C端市場(chǎng)的潛在應(yīng)用,希望能給大家?guī)?lái)幫助和啟發(fā)。

3 系統(tǒng)架構(gòu)介紹
3.1 方案預(yù)研

在過往的項(xiàng)目經(jīng)歷中,我已實(shí)現(xiàn)過 基于小度音箱的智能家庭中樞控制系統(tǒng),參見這里; 這個(gè)方案已經(jīng)證實(shí)了,小度音箱作為控制中樞的可行性,現(xiàn)在只不過把控制中樞的邏輯移植過來(lái)。

剩下的就是小度音箱與ChatGPT的銜接問題,從查到的資料可知,在DuerOS開放平臺(tái) (baidu.com) 的開放資料可知,小度音箱支持自定義 技能, 而通過這個(gè)技能,我們可以實(shí)現(xiàn)捕捉到從小度音箱獲取的用戶語(yǔ)音輸入信息,這個(gè)時(shí)候需要利用到 DuerOS SDK 的API能力, 將語(yǔ)音的輸入轉(zhuǎn)換成文本信息,進(jìn)而轉(zhuǎn)發(fā)到了用戶自定義的處理服務(wù)器,再由這個(gè)服務(wù)器將文本信息通過ChatGPT的Open API能力,得到反饋的信息(經(jīng)ChatGPT處理得到的信息),再通過DuerOS SDK的API,通過小度音箱將信息輸出,形成一個(gè)操作閉環(huán)。

同時(shí),這個(gè)自定義的服務(wù)器還可以將與ChatGPT交互的信息,以MQTT Publish的形式推送到智能終端,達(dá)到保存信息記錄的目的。

在預(yù)研的過程中,有參考一篇博文,給我一定的指導(dǎo)意義,詳見這里。

經(jīng)過以上分析,得到了方案的可行性,下面開始著手設(shè)計(jì)系統(tǒng)架構(gòu)圖。

3.2 系統(tǒng)核心架構(gòu)圖
經(jīng)過調(diào)研設(shè)計(jì),得到整個(gè)系統(tǒng)的核心架構(gòu)圖如下所示:

a280c410-32c2-11ee-9e74-dac502259ad0.png

從上面這個(gè)核心架構(gòu)圖中,我們可以看到整個(gè)IoT系統(tǒng)組成,包括智能設(shè)備終端側(cè)、巴法云物聯(lián)網(wǎng)平臺(tái)、小度云平臺(tái)、小度音箱、OpenAI-ChatGPT后臺(tái),自定義后臺(tái)服務(wù)(負(fù)責(zé)對(duì)接小度云平臺(tái))等等。下面就整個(gè)系統(tǒng)的幾大重要組件,我會(huì)一一進(jìn)行簡(jiǎn)要講解。

3.3 終端側(cè)

終端側(cè)主要承載的是對(duì)巴法云平臺(tái)的對(duì)接,接收巴法云平臺(tái)下發(fā)的控制指令和ChatGPT交互數(shù)據(jù),同時(shí)做一些邊緣側(cè)的應(yīng)用邏輯處理,還需要具備對(duì)外網(wǎng)絡(luò)的通訊能力,保持與巴法云平臺(tái)的MQTT長(zhǎng)鏈接。

這里巴法云平臺(tái)推送的數(shù)據(jù)主要有兩類:

  • 對(duì)外圍的智能設(shè)備的操作之類,比如關(guān)燈/開燈;

  • 還有一類就是小度音箱與ChatGPT的交互記錄數(shù)據(jù)。

終端側(cè)包括的核心組件有:英飛凌的PSoC 62 with CAPSENSE evaluation kit,搭載的是國(guó)產(chǎn)實(shí)時(shí)操作系統(tǒng) RT-Thread,同時(shí)外設(shè)板載有 ESP8266 Wi-Fi通訊模組、繼電器(GPIO模擬)、存儲(chǔ)的SD卡等等。

終端側(cè)不僅包含設(shè)備硬件,還需要對(duì)應(yīng)的固件軟件,兩者相輔相成,共同完成終端側(cè)的功能邏輯。

a2d333da-32c2-11ee-9e74-dac502259ad0.png

3.4 后端側(cè)

后端側(cè)包括兩部分:

巴法云平臺(tái)

這個(gè)后端側(cè),其實(shí)沒有真正的開發(fā)工作,僅僅是登錄巴法云平臺(tái)后臺(tái),配置MQTT板塊,然后生成【智能燈】?jī)蓚€(gè)設(shè)備,以便于終端側(cè)和小度音響識(shí)別。

同時(shí),巴法云的MQTT后臺(tái),還需要配置一個(gè)專門用于傳輸ChatGPT交互數(shù)據(jù)的topic通道,以便于終端與自定義服務(wù)器進(jìn)行數(shù)據(jù)傳輸。

a30915c2-32c2-11ee-9e74-dac502259ad0.png

自定義服務(wù)器

這個(gè)后端側(cè)是有一定的開發(fā)工作量,包括以下幾個(gè)核心內(nèi)容:

  • 移植DuerOS SDK,調(diào)用其API,通過小度技能的Callback能力,將從小度音箱輸入的語(yǔ)音轉(zhuǎn)文本信息取得;

  • 基于OpenAI 的API KEY 能力,編寫邏輯程序,將文本信息發(fā)往ChatGPT服務(wù),并獲得ChatGPT的響應(yīng)數(shù)據(jù);

  • 再通過DuerOS SDK 的API,把ChatGPT的響應(yīng)數(shù)據(jù)轉(zhuǎn)為語(yǔ)音,再通過小度音箱播放出來(lái)。

值得注意的是,這部分涉及的后端知識(shí)比較多,對(duì)多個(gè)SDK的研究還需要投入更多的時(shí)間和精力。

3.5 移動(dòng)端

這里說的移動(dòng)端,特指小度APP;其實(shí)這里面也沒有開發(fā)工作,當(dāng)你的小度APP賬號(hào)登錄之后,它有一個(gè)操作步驟可以加入基于巴法云平臺(tái)的【智能設(shè)備】,按照說明添加成功后,就可以在小度APP上看到巴法云平臺(tái)對(duì)應(yīng)的設(shè)備列表了。

詳細(xì)的綁定操作步驟,見 此文的第二部分。

a323c4c6-32c2-11ee-9e74-dac502259ad0.png

4 系統(tǒng)設(shè)計(jì)說明
4.1 硬件部分
  • MCU主控:英飛凌的PSoC 62

Infineon Technologies 的 PSoC 62S2 評(píng)估套件 (CY8CEVAL-062S2) 使客戶能夠使用 PSoC 62 MCU 評(píng)估和開發(fā)應(yīng)用。該套件采用 PSoC 62 MCU (CY8C624ABZI-S2D44):150 MHz Arm Cortex-M4 和 100 MHz Arm Cortex-M0+內(nèi)核、2 MB 閃存、1 MB SRAM、硬件加密加速器、豐富的模擬和數(shù)字外設(shè)、音頻通信接口,以及采用 CAPSENSE 技術(shù)的行業(yè)領(lǐng)先電容式感應(yīng)。PSoC 62S2 評(píng)估套件提供了許多開箱即用的用例,用于開發(fā)即將推出的連接邊緣節(jié)點(diǎn)。

它的具體接口資源展示如下:

a351f62a-32c2-11ee-9e74-dac502259ad0.png

在我的項(xiàng)目中,我主要使用它的以下幾個(gè)外設(shè)資源:

1)UART6:RT-Thread的終端調(diào)試串口;

2)UART5:用于連接串口WI-Fi模塊ESP8266,實(shí)現(xiàn)網(wǎng)絡(luò)通訊能力;

3)GPIO:P0.0 用作系統(tǒng)工作狀態(tài)顯示燈,P0.1 用于控制智能燈開關(guān)(模擬);

4)SDIO:外掛SD卡,用于存儲(chǔ)ChatGPT的交互信息。

以下是我的實(shí)物連接示意圖:

a380dc56-32c2-11ee-9e74-dac502259ad0.png

  • Wi-Fi模組:ESP8266

本次參賽,我采用了我慣用的Wi-Fi通訊模組ESP8266,非常的便捷,借助RT-Thread的軟件包,基本無(wú)需編寫任何代碼,就可以實(shí)現(xiàn)網(wǎng)絡(luò)能力;當(dāng)然串口通訊還是需要配置一下,只不過不用寫代碼而已。

我這里使用的搭建ESP8266 Wi-Fi芯片的模組ESP-12F,它是由安信可科技開發(fā)的,該模塊核心處理器 ESP8266 在較小尺寸封裝中集成了 業(yè)界領(lǐng)先的 Tensilica L106 超低功耗 32 位微型 MCU,帶有 16 位精簡(jiǎn)模式,主頻支持 80 MHz 和 160 MHz,支持 RTOS,集成 Wi-Fi MAC/ BB/RF/PA/LNA,板載天線。

a3c0320c-32c2-11ee-9e74-dac502259ad0.png

  • GPIO控制:

目前這一塊的接入,采用的是GPIO做模擬,并沒有實(shí)際接入繼電器,但已經(jīng)完全可以實(shí)現(xiàn)其操作原理。

其中,P0.0 用作系統(tǒng)工作狀態(tài)顯示燈(每一秒閃爍一次),P0.1 用于控制智能燈開關(guān)(模擬)。

如上上圖所示。

4.2 軟件部分

整個(gè)軟件部分的開發(fā)主要分為兩大部分:終端軟件和后端服務(wù)器軟件。

終端固件開發(fā)

主要包括四大部分:英飛凌的PSoC 62的原廠BSP、RT-Thread實(shí)時(shí)操作系統(tǒng)、ESP8266相關(guān)的配置代碼使能、個(gè)性化的應(yīng)用邏輯代碼。

其中英飛凌的PSoC 62的原廠BSP基本不動(dòng),原廠和相關(guān)開發(fā)者已經(jīng)適配好了;通用的RT-Thread操作系統(tǒng)的代碼也不在此處的修改中,直接復(fù)用已有的代碼,這里使用的版本是 5.0.0版本 。

ESP8266相關(guān)的AT、網(wǎng)絡(luò)組件代碼也是現(xiàn)成的,使能配置之后就可以直接用了,還是非常的方便。

除了AT相關(guān)的軟件包代碼外,我還使用了 paho-mqtt 這個(gè)軟件包,這個(gè)軟件包主要封裝了MQTT協(xié)議的實(shí)現(xiàn)技術(shù)細(xì)節(jié),開放了一些靈活好用的API給到應(yīng)用層,以便于提供MQTT的通訊能力。

還有一個(gè)cJSON的軟件包,這里也使用到了,它用于做一些上下行數(shù)據(jù)包的解析和封裝,主要原因是需要解析一些與云平臺(tái)對(duì)接的數(shù)據(jù)協(xié)議,這就要求終端必須具備解析JSON數(shù)據(jù)的能力。

所以這里重點(diǎn)講一下,應(yīng)用邏輯的代碼:主要包括GPIO的控制等,而這些控制信號(hào)的輸入,都是來(lái)源于巴法云平臺(tái)的下發(fā),而巴法云平臺(tái)的聯(lián)動(dòng)下發(fā)則來(lái)源于用戶對(duì)小度音響的語(yǔ)音控制輸入。

另一方面,當(dāng)終端收到來(lái)自ChatGPT交互日志的請(qǐng)求數(shù)據(jù)時(shí),也會(huì)將該數(shù)據(jù)寫入SD卡作為存儲(chǔ)。

以下是終端軟件應(yīng)用邏輯部分的層次圖:

a3fdcaf4-32c2-11ee-9e74-dac502259ad0.png

其中:

Wi-Fi線程:由于在RT-Thread中AT組件是開啟后,默認(rèn)就跑起來(lái)了,而在應(yīng)用層暫時(shí)沒有一個(gè)比較好的方式感知網(wǎng)絡(luò)能力的建立,所以這里新建了一個(gè)線程,用于實(shí)時(shí)檢查網(wǎng)絡(luò)通訊能力;當(dāng)網(wǎng)絡(luò)通訊能力已建立時(shí),通過信號(hào)量的方式,通知其他模塊。

Smart Home (+ ChatGPT) MQTT線程:主要負(fù)責(zé)跟巴法云物聯(lián)網(wǎng)平臺(tái)進(jìn)行對(duì)接,采用的MQTT通訊協(xié)議,它的運(yùn)行,依賴于基礎(chǔ)網(wǎng)絡(luò)能力的建立;當(dāng)它與巴法云物聯(lián)網(wǎng)平臺(tái)建立聯(lián)系時(shí),它就可以接收平臺(tái)的控制指令下發(fā),比如開關(guān)空調(diào)或開關(guān)照明燈等;

系統(tǒng)運(yùn)行展示線程:此線程并沒有參與過多的應(yīng)用邏輯,僅僅是每一秒鐘閃爍一下運(yùn)行指示燈,表示系統(tǒng)正在運(yùn)行中;

智能燈(模擬)控制模塊:一個(gè)LED模擬繼電器控制智能燈的邏輯,當(dāng)收到下發(fā)的打開或關(guān)閉指令時(shí),執(zhí)行對(duì)燈的操控;

SD卡存儲(chǔ)顯示:此線程主要用于存儲(chǔ)小度音箱與ChatGPT的交互信息。

以上各個(gè)線程各司其職,相輔相成,共同完成智能家庭中樞控制系統(tǒng)的邏輯功能。

下面展示的是工程項(xiàng)目中的代碼結(jié)構(gòu),里面的代碼結(jié)構(gòu)一本與上面的代碼邏輯示意圖保持一致。

a411c9aa-32c2-11ee-9e74-dac502259ad0.png

后端代碼開發(fā):

由于時(shí)間關(guān)系比較緊張,還未完全學(xué)透DuerOS SDK與小度音箱的銜接,以下是部分參考代碼,還需要進(jìn)一步學(xué)習(xí):


		1javascriptCopycode  2constsdk=require('baidu-sdk');  3constOpenAI=require('openai');  4constopenai=newOpenAI('');  5sdk.onVoice((data)=>{  6consttext=data.result.recognize[0].payload.result.word[0];  7openai.generate(text).then((response)=>{  8sdk.sendText(response.data[0].text);  9}); 10});關(guān)于應(yīng)用OpenAI 的API KEY 構(gòu)建ChatGPT能力,倒不是一個(gè)難事,使用python腳本即可實(shí)現(xiàn),范例代碼如下:

		1importopenai  2#my_gpt_key="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"  3#my_gpt_key="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"  4#my_gpt_key="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"  5#my_gpt_key="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"  6#my_gpt_key="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"  7my_gpt_key="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"  8importtime  9defask_gpt(text:str): 10#openai.api_type="azure" 11#openai.api_key="..." 12#openai.api_base="https://example-endpoint.openai.azure.com" 13#openai.api_version="2022-12-01" 14openai.api_key=my_gpt_key#"PUTYOURAPIKEYHERE" 15#獲取當(dāng)前時(shí)間 16t1=int(time.time()) 17#listengines 18#engines=openai.Engine.list() 19#printthefirstengine'sid 20#print(engines.data[0].id) 21res=openai.Completion.create( 22engine="text-davinci-003",prompt=text,temperature=0.6,max_tokens=2048 23) 24t2=int(time.time()) 25print(t2-t1) 26returnres.choices[0].text 27defmain(): 28whileTrue: 29query=input("Askaquestion:") 30res=ask_gpt(query) 31print(f"{res} ") 32main()4.3 創(chuàng)新性的開發(fā)環(huán)境

由于我早期基于RT-Thread做開發(fā),也是非常依賴于RT-Thread Studio開發(fā)環(huán)境,雖然提供了一些便利,但是礙于它的配置實(shí)在是太慢了,并且非常吃內(nèi)存和吃存儲(chǔ)空間,于是被我啟用了。

也正是由于這些吃癟,我自己經(jīng)過設(shè)計(jì),延續(xù)了scons+env的構(gòu)建環(huán)境,打造了一套屬于自己的開發(fā)環(huán)境,我取名叫 xiotman。關(guān)于它的介紹,詳見我的開源項(xiàng)目:xiotman: 一套致力于解決物聯(lián)網(wǎng)終端應(yīng)用多樣化挑戰(zhàn)的軟件架構(gòu)解決方案。(gitee.com)a451b380-32c2-11ee-9e74-dac502259ad0.png借助這個(gè)項(xiàng)目,我很方便就把我本次參賽的項(xiàng)目移植移植進(jìn)來(lái)了:

a4790c1e-32c2-11ee-9e74-dac502259ad0.png

基于scons+env的構(gòu)建編譯,也是非常的絲滑,多線程編程,想想就開心:

a49e9556-32c2-11ee-9e74-dac502259ad0.png

在燒錄固件這塊,我沒有使用RT-Studio的下載工具,而是使用了原廠提供的 Cypress Programmer 4.2,燒錄工具用起來(lái)還是很爽的,尤其是自帶燒錄器這個(gè)實(shí)用功能,必須點(diǎn)個(gè)贊。

a4ce1aba-32c2-11ee-9e74-dac502259ad0.png

5 項(xiàng)目實(shí)施過程

1)熟悉英飛凌的PSoC 62的基本開發(fā)資料

這一步主要是熟悉開發(fā)板的基本資源,對(duì)外設(shè)等信息有一定的概念,以便于方便后續(xù)的開發(fā)調(diào)試;同時(shí),還需要把相關(guān)的一些官方軟件給安裝好,熟練使用配置工具和下載工具。參加大賽主辦方舉行的一些線上直播活動(dòng),了解必要的開發(fā)基礎(chǔ)。磨刀不誤砍柴工,只要熟練上手了,才能開發(fā)出優(yōu)秀的應(yīng)用程序。

2)移植RT-Thread操作系統(tǒng)

本次參賽,其實(shí)并不要求去移植RT-Thread,其實(shí)也要多感謝RT-Thread官方和社區(qū)的小伙伴,其實(shí)他們都已經(jīng)做好了基本的移植了,只需要對(duì)照著自己的開發(fā)板資源跳調(diào)整一下即可。

有了上面的踩坑經(jīng)驗(yàn),直接上手RT-Thread的DEMO教程,很快就可以把操作系統(tǒng)跑起來(lái)了,一切都回歸到熟悉的地方,研發(fā)進(jìn)度再次提速。

下面就是基于RT-Thread操作系統(tǒng)進(jìn)行編程了。

3)配置RT-Thread的軟件包

目前由于xiotman的在線更新軟件包的功能還沒完全打通,所以我是通過在原生rt-thread/bsp目錄,使用env配置工具先把軟件包下載下來(lái),然后手動(dòng)拷貝到xiotman的components/packages/對(duì)應(yīng)的目錄。

這個(gè)項(xiàng)目中,我使用了paho-matt軟件包、AT-device軟件包、CJSON軟件包;的確讓我的項(xiàng)目開發(fā)提速了不少。

a52d5c0a-32c2-11ee-9e74-dac502259ad0.png

4)配置巴法云物聯(lián)網(wǎng)平臺(tái)

我是參考這個(gè) esp8266接入小度語(yǔ)音,小度音箱控制 來(lái)創(chuàng)建自己的自定義產(chǎn)品的,并實(shí)現(xiàn)與小度音箱的綁定的。

基本上以上4步完成后,終端就可以很順利地連上巴法云物聯(lián)網(wǎng)平臺(tái)了,而這期間基本就是零代碼,全部都?xì)w功于RT-Thread靈活的代碼配置工具,非常地贊。

a5548690-32c2-11ee-9e74-dac502259ad0.png

5)調(diào)試外設(shè)驅(qū)動(dòng)

這里主要是調(diào)試各種驅(qū)動(dòng)接口,包括紅外發(fā)射器的UART接口、照明燈開關(guān)的GPIO控制。

在調(diào)試過程中,一般一個(gè)個(gè)模塊來(lái),避免模塊直接的干擾,這樣可以有效地加快開發(fā)速度。

等到各個(gè)功能模塊完成后,統(tǒng)一串起來(lái)跑一跑,確保沒有問題。

6)全功能自測(cè)

到了這一步,基本功能開發(fā)就已經(jīng)完成了,需要將終端設(shè)備的功能與云端能力聯(lián)系起來(lái)調(diào)試,比如對(duì)小度音箱進(jìn)行控制語(yǔ)音輸入,看一下巴法云平臺(tái)能否推送對(duì)應(yīng)的控制消息下來(lái),同時(shí)看下終端能否對(duì)控制消息進(jìn)行合理的處理,比如控制空調(diào)開關(guān)或者控制照明開關(guān)等。

但是由于對(duì)接ChatGPT的后端服務(wù)器程序還未完工,所以涉及ChatGPT部分的邏輯,還需要再等一等,是一個(gè)遺憾。

7)準(zhǔn)備結(jié)項(xiàng)資料

項(xiàng)目收尾的最后,需要準(zhǔn)備各種結(jié)項(xiàng)資料,包括項(xiàng)目穩(wěn)定、演示視頻、各種實(shí)物圖片等等。

6 項(xiàng)目效果顯示


6.1 功能描述


本期項(xiàng)目中,已實(shí)現(xiàn)以下功能:

  • 在巴法云后臺(tái)配置智能設(shè)備:智能空調(diào)和智能燈,在小度APP是可以看到設(shè)備情況;

  • 基于英飛凌的PSoC 62的終端,實(shí)現(xiàn)智能家庭中樞控制系統(tǒng)的功能;

  • 跟小度音響語(yǔ)音對(duì)話,比如【打開燈】或【關(guān)閉燈】,即可實(shí)現(xiàn)控制指令下發(fā),終端通過GPIO控制LED(模擬真實(shí)場(chǎng)景的智能燈)

  • 打通本地空調(diào)狀態(tài)和智能燈狀態(tài)與巴法云、小度平臺(tái)的聯(lián)系,實(shí)現(xiàn)實(shí)時(shí)控制聯(lián)動(dòng)。

還未實(shí)現(xiàn)的功能:

  • 打通小度音箱與自定義后端服務(wù)器,完成語(yǔ)音輸入的提取和轉(zhuǎn)發(fā)

  • 對(duì)接OpenAI,基于API KEY 實(shí)現(xiàn)ChatGPT的功能。

6.2 圖片展示
以下是項(xiàng)目的部分圖片展示:
  • 項(xiàng)目應(yīng)用啟動(dòng)/調(diào)試log

a5734012-32c2-11ee-9e74-dac502259ad0.png

a59dfaf0-32c2-11ee-9e74-dac502259ad0.png

  • 小度APP使用界面

a5bfbea6-32c2-11ee-9e74-dac502259ad0.png

  • 通過巴法云添加的智能設(shè)備在小度APP的展示

a5d0e9ec-32c2-11ee-9e74-dac502259ad0.png

6.3 視頻展示

B站視頻(演示小度音箱的智能控制):【英飛凌創(chuàng)意創(chuàng)客大賽】基于Infineon和ChatGPT的人工智能語(yǔ)音小管家】www.bilibili.com/video/BV1Pz4y1E7fp

因時(shí)間關(guān)系,基于ChatGPT的智能邏輯還沒完全實(shí)現(xiàn),演示視頻待下次補(bǔ)充。。。

6.4 代碼開源

本參賽項(xiàng)目的源代碼已全面開源在 這里

其中應(yīng)用部分的代碼在:https://gitee.com/recan-li/xiotman/tree/master/apps/app_baidu_chatgpt

有關(guān)項(xiàng)目源代碼的事情,也可與我討論。

7 項(xiàng)目復(fù)盤

項(xiàng)目還有一部分功能未實(shí)現(xiàn),小小總結(jié)一下這次項(xiàng)目:

  • DDL無(wú)效論:時(shí)間不夠用,下次別留這么少的時(shí)間了;
  • 百度開發(fā)者賬號(hào)是需要認(rèn)證的,需要幾天的時(shí)間審核,容易耽誤事兒;
  • 英飛凌的PSoC 62 很好用,搭配的開發(fā)工具、下載工具非常棒,能夠讓人快速上手;
  • xiotman第一次用于參加業(yè)余比賽,感覺使用起來(lái)還是比較清爽的,后面慢慢會(huì)都轉(zhuǎn)到它來(lái)開發(fā)更多的項(xiàng)目。

8 致謝

感謝本次大賽的主辦方RT-Thread和英飛凌,為廣大開發(fā)者提供福利的同時(shí),也帶來(lái)了業(yè)內(nèi)前沿的開發(fā)技術(shù),是我們學(xué)習(xí)和提高的一個(gè)好平臺(tái),期待下次繼續(xù)參與這樣的比賽。

至于,比賽結(jié)果怎么樣,倒是其次,參與過,學(xué)習(xí)過,提高過,差不多就可以了。

9 項(xiàng)目的TODOLIST

DuerOS SDK的深度研究,爭(zhēng)取玩透小度音箱及百度的AI相關(guān)應(yīng)用;

基于ChatGPT的API KEY 熟練部署ChatGPT的應(yīng)用,打通智能音箱與ChatGPT的溝通渠道;演示視頻,待補(bǔ)充。 10 參考鏈接

RT-Thread x Infineon創(chuàng)意創(chuàng)客大賽

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

DuerOS開放平臺(tái) (baidu.com)https://dueros.baidu.com/open把 chatGPT 接入小度 - 掘金 (juejin.cn)https://juejin.cn/post/7203685609654550588xiotman: 一套致力于解決物聯(lián)網(wǎng)終端應(yīng)用多樣化挑戰(zhàn)的軟件架構(gòu)解決方案。(gitee.com)https://gitee.com/recan-li/xiotmanesp8266接入小度語(yǔ)音,小度音箱控制,附開源app控制https://blog.csdn.net/bemfa/article/details/120034113?spm=1001.2014.3001.5501巴法云接入文檔https://cloud.bemfa.com/docs/#/巴法云開發(fā)者論壇https://bbs.bemfa.com/

11 更多分享

本次項(xiàng)目介紹后,我還繼續(xù)探索RT-Thread在各種嵌入式平臺(tái)開發(fā)的可能性,并以此來(lái)要求自己輸出各種關(guān)于RT-Thread、嵌入式、物聯(lián)網(wǎng)等等熱門技術(shù)話題的原創(chuàng)內(nèi)容,歡迎大家持續(xù)關(guān)注我。

我是 架構(gòu)師李肯 (全網(wǎng)同名),2022年電子發(fā)燒友論壇優(yōu)秀開發(fā)者、2022年RT-Thread技術(shù)社區(qū)優(yōu)秀布道者、CSDN博客專家,歡迎大家來(lái)交流。

———————End——————


點(diǎn)擊閱讀原文進(jìn)入官網(wǎng)


原文標(biāo)題:【RT-Thread x Infineon創(chuàng)意創(chuàng)客大賽】基于Infineon和ChatGPT的人工智能語(yǔ)音小管家

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


聲明:本文內(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)投訴
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1239

    瀏覽量

    39440

原文標(biāo)題:【RT-Thread x Infineon創(chuàng)意創(chuàng)客大賽】基于Infineon和ChatGPT的人工智能語(yǔ)音小管家

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    2024 RT-Thread全球巡回 線下培訓(xùn)火熱來(lái)襲!

    親愛的RT-Thread社區(qū)成員們:我們非常高興地宣布,2024年RT-Thread全球開發(fā)者線下培訓(xùn)即將拉開帷幕!24年全球巡回培訓(xùn)將覆蓋超10座城市及國(guó)家,為開發(fā)者提供一個(gè)深入學(xué)習(xí)RT-Thread嵌入式開發(fā)的絕佳機(jī)會(huì)。
    的頭像 發(fā)表于 08-07 08:35 ?362次閱讀
    2024 <b class='flag-5'>RT-Thread</b>全球巡回 線下培訓(xùn)火熱來(lái)襲!

    RT-Thread全球嵌入式電子設(shè)計(jì)大賽—報(bào)名即將截止!

    RT-Thread嵌入式電子設(shè)計(jì)大賽旨在匯聚全球嵌入式系統(tǒng)開發(fā)者和學(xué)生,通過實(shí)際項(xiàng)目展示他們?cè)谖锫?lián)網(wǎng)、智能設(shè)備等領(lǐng)域的創(chuàng)新和技術(shù)實(shí)力。本次大賽提供了瑞薩(Renesas)、英飛凌(
    的頭像 發(fā)表于 07-16 08:35 ?922次閱讀
    <b class='flag-5'>RT-Thread</b>全球嵌入式電子設(shè)計(jì)<b class='flag-5'>大賽</b>—報(bào)名即將截止!

    唯一國(guó)產(chǎn)品牌“先楫半導(dǎo)體”加入RT-Thread全球嵌入式電子設(shè)計(jì)大賽

    大賽背景RT-Thread嵌入式電子設(shè)計(jì)大賽旨在匯聚全球嵌入式系統(tǒng)開發(fā)者和學(xué)生,通過實(shí)際項(xiàng)目展示他們?cè)谖锫?lián)網(wǎng)、智能設(shè)備等領(lǐng)域的創(chuàng)新和技術(shù)實(shí)力。本次
    的頭像 發(fā)表于 07-10 08:17 ?228次閱讀
    唯一國(guó)產(chǎn)品牌“先楫半導(dǎo)體”加入<b class='flag-5'>RT-Thread</b>全球嵌入式電子設(shè)計(jì)<b class='flag-5'>大賽</b>

    RT-Thread 3個(gè)命題入選中國(guó)國(guó)際大學(xué)生創(chuàng)新大賽(2024)產(chǎn)業(yè)命題賽道

    大學(xué)生創(chuàng)新大賽(2024)產(chǎn)業(yè)命題賽道入選命題名單RT-Thread命題詳情命題名稱:基于RT-Thread混合部署的智能機(jī)器人命題組別:產(chǎn)教協(xié)同創(chuàng)新組命題類型:新工
    的頭像 發(fā)表于 07-03 08:35 ?266次閱讀
    <b class='flag-5'>RT-Thread</b> 3個(gè)命題入選中國(guó)國(guó)際大學(xué)生創(chuàng)新<b class='flag-5'>大賽</b>(2024)產(chǎn)業(yè)命題賽道

    RT-Thread全球嵌入式電子設(shè)計(jì)大賽

    Infineon)、恩智浦(NXP)、意法半導(dǎo)體(ST)硬件平臺(tái)參賽者將有機(jī)會(huì)展示他們的創(chuàng)意和技術(shù)成果。RT-Thread一直致力于推動(dòng)開源社區(qū)的發(fā)展,本次大賽不僅為開發(fā)者
    的頭像 發(fā)表于 06-20 08:35 ?658次閱讀
    <b class='flag-5'>RT-Thread</b>全球嵌入式電子設(shè)計(jì)<b class='flag-5'>大賽</b>

    6月6日杭州站RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    6月6日下午我們將在杭州舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺(tái)上實(shí)現(xiàn)同時(shí)運(yùn)行RT-Thread和linux,本次workshop邀請(qǐng)到RT-Thread資深
    的頭像 發(fā)表于 05-28 08:35 ?313次閱讀
    6月6日杭州站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    2024 RT-Thread 全球技術(shù)大會(huì)演講議程發(fā)布!

    創(chuàng)造價(jià)值!2023RT-Thread全球技術(shù)大會(huì)匯集了人工智能、RISC-V、嵌入式、物聯(lián)網(wǎng)、安全、應(yīng)用、開發(fā)環(huán)境和工具等多領(lǐng)域的行業(yè)專家和RT-Thread社區(qū)工
    的頭像 發(fā)表于 05-16 08:34 ?358次閱讀
    2024 <b class='flag-5'>RT-Thread</b> 全球技術(shù)大會(huì)演講議程發(fā)布!

    4月25日北京站RT-Thread線下workshop,探索RT-Thread混合部署新模式

    4月25日,下午我們將在北京舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺(tái)上實(shí)現(xiàn)同時(shí)運(yùn)行RT-Thread和linux,本次workshop邀請(qǐng)到RT-Thread資深
    的頭像 發(fā)表于 04-16 08:35 ?322次閱讀
    4月25日北京站<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式

    4月10日深圳場(chǎng)RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺(tái)上實(shí)現(xiàn)同時(shí)運(yùn)行RT-Thread和linux,本次workshop邀請(qǐng)到RT-Thread資深嵌入式軟件工程師農(nóng)曉明老師為您講
    的頭像 發(fā)表于 03-27 11:36 ?662次閱讀
    4月10日深圳場(chǎng)<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    4月10日深圳場(chǎng)RT-Thread線下workshop,探索RT-Thread混合部署新模式!

    4月10日我們將在深圳福田舉辦RT-Thread混合部署線下workshop,在瑞芯微RK3568平臺(tái)上實(shí)現(xiàn)同時(shí)運(yùn)行RT-Thread和linux,本次workshop邀請(qǐng)到RT-Thread資深
    的頭像 發(fā)表于 03-27 08:34 ?391次閱讀
    4月10日深圳場(chǎng)<b class='flag-5'>RT-Thread</b>線下workshop,探索<b class='flag-5'>RT-Thread</b>混合部署新模式!

    RT-thread源碼移植到STM32F10x和STM32F4xx

    RT-thread源碼移植到STM32F10x和STM32F4xx: 一、源碼下載 點(diǎn)擊入門->下載 ? 在歷史版本里邊隨便選取一個(gè) ? 會(huì)進(jìn)入百度云盤的下載地址,里邊有全部版本的源碼。這里下載
    的頭像 發(fā)表于 11-15 09:38 ?2063次閱讀
    <b class='flag-5'>RT-thread</b>源碼移植到STM32F10<b class='flag-5'>x</b>和STM32F4xx

    基于rt-thread的socket通信設(shè)計(jì)

    最近再研究 rt-thread 的通信 ,想設(shè)計(jì)出 eps8266(多個(gè)) rt-thread(作為中控) 服務(wù)器的通信框架,使用的開發(fā)板是 潘多拉
    的頭像 發(fā)表于 10-13 15:02 ?1071次閱讀
    基于<b class='flag-5'>rt-thread</b>的socket通信設(shè)計(jì)

    RT-Thread使用Soft RTC(軟件模擬RTC)

    開發(fā)環(huán)境:野火的stm32f407,rt-thread studio版本是版本: 2.2.6,rt-thread 使用版本為4.0.3,stm32f4的資源包為0.2.2。
    的頭像 發(fā)表于 10-12 17:39 ?581次閱讀
    <b class='flag-5'>RT-Thread</b>使用Soft RTC(軟件模擬RTC)

    試用RT-Thread Studio(VSCode)

    想嘗試RT-Thread studio (VSCode),先下載安裝VSCode,再搜索RT-Thread
    的頭像 發(fā)表于 10-12 10:58 ?883次閱讀
    試用<b class='flag-5'>RT-Thread</b> Studio(VSCode)

    RT-Thread v5.0.2 發(fā)布

    RT-Thread 代碼倉(cāng)庫(kù)地址: ●? https://github.com/RT-Thread/rt-thread RT-Thread 5.0.2 版本發(fā)布日志詳情: ●? htt
    的頭像 發(fā)表于 10-10 18:45 ?1202次閱讀
    <b class='flag-5'>RT-Thread</b> v5.0.2 發(fā)布