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

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

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

【XR806開發(fā)板試用】語音緊急呼叫系統(tǒng)

冬至子 ? 來源:寒冰1988 ? 作者:寒冰1988 ? 2023-10-19 11:39 ? 次閱讀

1.背景介紹

老人和小孩子獨自在家的時候如果遇到緊急情況,通過撥打電話或者微信的方式通知家人存在操作不便的問題。例如,如果老人摔倒了手機很可能不在身邊,對小孩來說手機的操作又過于復(fù)雜。針對這種情況,研發(fā)一種主動語音上報的系統(tǒng),語音實時時別人的求救聲,然后通過網(wǎng)絡(luò)發(fā)送信息告知家人。

2.硬件選型

在該語音主動告警系統(tǒng)中,需要語音時別模塊和網(wǎng)絡(luò)告警模塊。xr806有豐富的外圍接口,能夠采集外部多種傳感器的數(shù)據(jù),功耗低,可以采用移動電源供電,支持wifi和bt,體積小,可以靈活部署于房間的各個角落。語音模塊選用天問的ASRPRO模塊,該模塊集成度高,支持模塊化編程,識別率高的特點。

硬件連接框圖如下所示,Speech Module支持uart通信和gpio信號,本次實驗選用gpio通信,即當(dāng)識別到特定詞匯時拉高gpio向xr806發(fā)送信后,xr806接收到信號后發(fā)送信息給mqtt client。

硬件連接框圖.png

硬件實物鏈接如下圖所示

硬件實物連接圖.png

3.軟件實現(xiàn)

3.1 軟件流程

軟件整體的流程如下圖所示。xr806完成初始化以后,連接網(wǎng)絡(luò),建立mqtt連接等待語音模塊的輸入,接收到信號后,發(fā)送mqtt信息給broken,訂閱該topic的所有client都會收到該告警信號。語音試別模塊上電完成初始化以后輸入語音提示信息并循壞等待語音的輸入,匹配到對應(yīng)語音后拉高gpio發(fā)送信號給x806,延遲一秒下拉gpio,并輸入提示語音。

程序流程圖.png

3.2 語音識別(ASR)的實現(xiàn)

天問的語音試別模塊支持類似Scrach的模塊化圖形編程,程序代碼如下。

ASR Code.png

程序編寫完成后先生成模型,然后編譯下載即可。

3.3 XR806主機編程

3.3.1 工程的建立

3.3.2 代碼開發(fā)

官方SDK中提供了參考,代碼位于xr806_sdk/project/example,本次實現(xiàn)主要參考gpio和mqtt兩個文件,基于mqtt的代碼完成整體工程的開發(fā)。

官方例程是采用的阿里云的mqtt broken服務(wù),使用前需要注冊,本次開發(fā)采用EMQX提供的免費的公共MQTT服務(wù)器,相關(guān)信息如下:

MQTT服務(wù)器信息.png

按照此信息修改代碼的定義:

#define MQTT_DEMO_CLIENT_ID "xr806-mqtt"
#define MQTT_DEMO_HOST_NAME "mqtt://broker.emqx.io"
#define MQTT_DEMO_PORT      "1883"
// #define MQTT_DEMO_USERNAME  "xr806_senor_set0&vo84Hm3xbUj"
// #define MQTT_DEMO_PASSWORD  "4f9ebb2143f01e4489133c1ea55051fbbfc4c44e"
#define MQTT_DEMO_TOPIC     "/topic/xr806-sos"

客戶端采用EMQX免費的MQTTX,該工具跨平臺且提供網(wǎng)頁版。手機端可以搜到MQTT助手等類似工具。

GPIO直接套用實例中的即可,需要完成默認(rèn)func等配置的初始化:

static void gpio_input_init(void)
{
    GPIO_InitParam param;
    param.driving = GPIO_DRIVING_LEVEL_1;
    param.mode = GPIOx_Pn_F0_INPUT;
    param.pull = GPIO_PULL_NONE;
    HAL_GPIO_Init(GPIO_INPUT_PORT, GPIO_INPUT_PIN, ¶m);
}

static  uint8_t gpio_input_read(void)
{
    return (uint8_t)HAL_GPIO_ReadPin(GPIO_INPUT_PORT, GPIO_INPUT_PIN);
}

修改mqtt_demo_funwhile(1)代碼塊,先判斷采集到的gpio信號,然后再publish信息,相關(guān)修改如下:

while (1) {
        if (gpio_input_read()) {
            /* publish message to topic */
            mqtt_demo_publish(MQTT_DEMO_TOPIC, MQTT_DEMO_MSG_TEXT);
            ret = MQTTYield(&mqtt_demo_client, 300);
            if (ret != 0) {
                printf("mqtt yield err, ret:%dn", ret);
reconnect:
                printf("mqtt reconnectn");
                mqtt_demo_disconnect();
                ret = mqtt_demo_connect(MQTT_DEMO_HOST_NAME, MQTT_DEMO_PORT);
                if (ret != 0) {
                    reconnect_times++;
                    if (reconnect_times > 5)
                        goto exit;
                    OS_MSleep(5000); //5s
                    goto reconnect;
                }
            }
        }
        OS_MSleep(10); //10ms
    }

3.3.3 編譯執(zhí)行

編譯步驟可以參考工程建立章節(jié)提供的鏈接,官方實例,mqtt的啟動依賴于網(wǎng)絡(luò)的建立,因此系統(tǒng)啟動后需要先建立網(wǎng)絡(luò),建立網(wǎng)絡(luò)的命令如下:

# net sta config [ssid] [password]
# net sta enable

系統(tǒng)啟動以后,說一句“救命”,XR806就會發(fā)送"SOS"信息到broken,同時語音試別模塊會發(fā)出“我來了”的提示信息。訂閱/topic/xr806-sos該topic的Client會收到sos信息,如下:

mqttx client.png

4.總結(jié)

首先感謝極術(shù)社區(qū)和全志科技組織的這次活動,能夠有機會試用到功能如此強悍的芯片。通過本次試用一方面對XR806芯片本身的功能和開發(fā)流程有了更深入的了解,另一方面也接觸到了FreeRtos的開發(fā)。相對于鴻蒙liteos SDK,F(xiàn)reeRtos的SDK使用起來方便了很多,這也看出了廠商的用心。因為時間的原因XR806的很多功能還沒有來得及挖掘,接下來有時間會利用這顆芯片做一些更有意思的設(shè)計。

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

    關(guān)注

    2545

    文章

    50453

    瀏覽量

    751099
  • ASR
    ASR
    +關(guān)注

    關(guān)注

    2

    文章

    35

    瀏覽量

    18694
  • FreeRTOS
    +關(guān)注

    關(guān)注

    12

    文章

    483

    瀏覽量

    61918
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1189

    瀏覽量

    51839
  • MQTT協(xié)議
    +關(guān)注

    關(guān)注

    0

    文章

    97

    瀏覽量

    5335
收藏 人收藏

    評論

    相關(guān)推薦

    XR806開發(fā)板適用】基于多源信息融合的糧食霉變檢測系統(tǒng)設(shè)計

    XR806開發(fā)板具有強大的數(shù)據(jù)處理和傳輸能力,廣泛應(yīng)用于物聯(lián)網(wǎng)和嵌入式系統(tǒng)開發(fā)。
    的頭像 發(fā)表于 10-27 17:06 ?876次閱讀
    【<b class='flag-5'>XR806</b><b class='flag-5'>開發(fā)板</b>適用】基于多源信息融合的糧食霉變檢測<b class='flag-5'>系統(tǒng)</b>設(shè)計

    基于全志XR806開發(fā)板的家用環(huán)境監(jiān)測傳感器設(shè)計

    本文來自全志XR806開發(fā)板評測活動文章,作者使用XR806開發(fā)板制作一個簡單的家用環(huán)境監(jiān)測傳感器,可以獲取當(dāng)前的溫度、濕度、氣壓、海拔這四個參數(shù),同時能夠通過外部的屏幕實時顯示刷新。
    的頭像 發(fā)表于 12-03 10:20 ?623次閱讀
    基于全志<b class='flag-5'>XR806</b><b class='flag-5'>開發(fā)板</b>的家用環(huán)境監(jiān)測傳感器設(shè)計

    如何使用XR806開發(fā)板來設(shè)計一個糧食霉變檢測系統(tǒng)?

    XR806開發(fā)板具有強大的數(shù)據(jù)處理和傳輸能力,廣泛應(yīng)用于物聯(lián)網(wǎng)和嵌入式系統(tǒng)開發(fā),
    的頭像 發(fā)表于 01-05 17:30 ?770次閱讀
    如何使用<b class='flag-5'>XR806</b><b class='flag-5'>開發(fā)板</b>來設(shè)計一個糧食霉變檢測<b class='flag-5'>系統(tǒng)</b>?

    OpenHarmony南向嵌入式:【XR806開發(fā)板指導(dǎo)文檔】

    XR806_OpenHarmony開發(fā)板是基于XR806芯片設(shè)計開發(fā)的參考評估,身集成了XR806
    的頭像 發(fā)表于 04-14 09:25 ?729次閱讀
    OpenHarmony南向嵌入式:【<b class='flag-5'>XR806</b><b class='flag-5'>開發(fā)板</b>指導(dǎo)文檔】

    用全志XR806開發(fā)板實現(xiàn)語音緊急呼叫系統(tǒng)

    的建立工程建立和編譯參考【XR806開發(fā)板試用】全志XR806開發(fā)板FreeRTOS代碼包及開發(fā)
    發(fā)表于 01-15 10:41

    XR806芯片、XR806開源鴻蒙開發(fā)板簡介

    ??蓮V泛滿足 智能家居、智慧樓宇、工業(yè)互聯(lián)、兒童玩具、電子競賽、極客DIY 等領(lǐng)域的無線連接需求。芯片框圖芯片參數(shù)XR806開源鴻蒙開發(fā)板介紹XR806開發(fā)板是基于
    發(fā)表于 11-15 17:08

    XR806芯片、XR806開源鴻蒙開發(fā)板簡介

    。可廣泛滿足 智能家居、智慧樓宇、工業(yè)互聯(lián)、兒童玩具、電子競賽、極客DIY 等領(lǐng)域的無線連接需求。芯片框圖芯片參數(shù)XR806開源鴻蒙開發(fā)板介紹XR806開發(fā)板是基于
    發(fā)表于 11-15 18:32

    有哪位大神可以分享一下XR806開發(fā)板/模組的資料呢

    XR806開發(fā)板/模組的硬件包含哪幾個部分?XR806開發(fā)板/模組的硬件該怎樣去設(shè)計呢?
    發(fā)表于 12-28 06:51

    請問大佬XR806鴻蒙開發(fā)板怎么樣?

    請問大佬XR806鴻蒙開發(fā)板怎么樣?
    發(fā)表于 12-29 07:06

    簡述星辰處理器的全志XR806鴻蒙開發(fā)板上手體驗

    本文轉(zhuǎn)載于極術(shù)社區(qū)極術(shù)專欄:STAR CPU(星辰處理器)作者:PingYang XR806鴻蒙開發(fā)板是全志科技新出的一款支持WiFi和BLE的高集成度無線MCU芯片,支持鴻蒙L0系統(tǒng)。CPU采用
    的頭像 發(fā)表于 11-03 15:00 ?8435次閱讀
    簡述星辰處理器的全志<b class='flag-5'>XR806</b>鴻蒙<b class='flag-5'>開發(fā)板</b>上手體驗

    簡述XR806開發(fā)板與STAR-MC1處理器

    全志XR806開發(fā)板基于XR806芯片設(shè)計,搭載了安謀中國的星辰系列STAR-MC1處理器。該開發(fā)板體積較小,具備WiFi、低功耗藍牙技術(shù)等功能,技術(shù)集成度高,成本低,支持鴻蒙
    的頭像 發(fā)表于 04-11 18:08 ?3095次閱讀

    XR806開發(fā)板試用】留言功能開發(fā)

    XR806開源鴻蒙開發(fā)板是一款基于XR806芯片設(shè)計,高度集成WiFi/BLE/常用外設(shè),可供開發(fā)者進行方案評估、DIY或小規(guī)模產(chǎn)品研發(fā),可廣泛應(yīng)用于智能家居、智能樓宇、智能城市和工業(yè)
    的頭像 發(fā)表于 10-08 10:58 ?619次閱讀

    XR806開發(fā)板試用】FreeRTOS創(chuàng)建任務(wù)測試

    這篇來學(xué)習(xí)下,XR806開發(fā)板在FreeRTOS系統(tǒng)下創(chuàng)建兩個任務(wù)測試,由于沒有找到學(xué)習(xí)的文檔,試著參考例程來測試。
    的頭像 發(fā)表于 10-10 11:47 ?606次閱讀
    【<b class='flag-5'>XR806</b><b class='flag-5'>開發(fā)板</b><b class='flag-5'>試用</b>】FreeRTOS創(chuàng)建任務(wù)測試

    XR806串口驅(qū)動CM32M對小廚寶的控制實驗

    非常感謝基于安謀科技STAR-MC1的全志XR806 Wi-Fi+BLE開源鴻蒙開發(fā)板試用活動,并獲得開發(fā)板試用
    的頭像 發(fā)表于 10-23 11:39 ?524次閱讀
    <b class='flag-5'>XR806</b>串口驅(qū)動CM32M對小廚寶的控制實驗

    全志XR806開發(fā)板原理圖

    全志XR806開發(fā)板原理圖
    發(fā)表于 10-19 15:11 ?11次下載