接下來配合Arduino 做智慧家庭應用,
Farmer 板子為 mega 2560,
接腳為
arduino -> SYN7318 (URAT)
-----------------------------------------------------
RX1 -> TX
TX1 -> RX
5V -> 5V
GND -> GND
-----------------------------------------------------
SYN7318 記得要接喇叭或耳機
SP+ -> 喇叭+
SP- -> 喇叭-或GND
首先我們要了解SYN7318傳遞的指令
官方文件下載
7318接收送出皆由 0x00 ~ 0xFF(16)
傳輸胞率為 115200 (看各家設定板設置胞率有差異,但主要皆為115200)
傳遞指令 開頭接為 0xFD
7318回傳狀態 開頭為 0xFC
下面列出幾項最主要的指令
Arduino傳送指令
開啟喚醒(管家)
0xFD 0x00 0x02 0x51 ! (管家 !: 0x00 云宝、 0x02小播、 0x04百灵、 0x06叮当管家、 0x07百灵管家、 0x08小播管家、 0x09大管家、 0x1F:自定义)
關閉喚醒(管家)
0xFD 0x00 0x01 0x52
開始識別
0xFD 0x00 0x02 0x10 ? (詞典 ?: 0x00 智能家具、 0x01 歌曲、 0x02 點播、 0x03 用戶1、 0x04 用戶2、0x05 用戶3)
停止識別
0xFD 0x00 0x01 0x11
查詢狀態
0xFD 0x00 0x01 0x21
三合一識別
0xFD 0x00 $ 0x15 ? ! 0x02 0x01 0x44 0x3A 0x5C 0x4D 0x70 0x33 0x5C 0x50 0x72 0x6F 0x6D 0x70 0x74 0x5F "0xD6 0xF7 0xC8 0xCB 0xC7 0xEB 0xB7 0xD4 0xB8 0xC0" 0x2E 0x6D 0x70 0x33
(
指令長度 $: 去除 0xFD 0x00 的指令長度,如 0x21: 16*2+1 = 34個指令
辭典 ?: 0x00 智能家具、 0x01 歌曲、 0x02 點播、 0x03 用戶1、 0x04 用戶2、0x05 用戶3
管家 !: 0x00 云宝、 0x02小播、 0x04百灵、 0x06叮当管家、 0x07百灵管家、 0x08小播管家、 0x09大管家、 0x1F:自定义
提示音內容 " "
)
停止三合一
0xFD 0x00 0x01 0x16
7318回複狀態/指令
接收成功
0xFC 0x0 0x1 0x41
識別拒識
0xFC 0x0 0x1 0x7
用戶静音超時
0xFC 0x0 0x1 0x3
模塊空閒
0xFC 0x0 0x1 0x4F
-------------------------------------------------------------------
利用Mega2560的多組RX、TX,即可監看狀態
並且利用上方這些主要指令來配合做動應用
這邊分享官方的 Arduino Simple Code (有小小更動)
在上篇有說到
詞典庫在 程式中有差異
Start_ASR(0x00);
0x00 為 詞典00
0x09 為 詞典09
至於編碼則是在 傳送指令上有所差異,可以請各位嘗試看看
請問一下 SYN7318 有辦法辨識英文單字嗎?或者辨識英文句子?
回覆刪除