小智AI硬體搭建指南
本文詳細介紹搭建小智AI聊天機器人所需的硬體清單、組裝步驟和接線方案,適合有一定電子基礎的DIY愛好者參考。如果你想自己動手搭建一台小智AI,這份指南將為你提供詳細的指導。
一、DIY所需硬體清單
1.1 核心組件
- 開發板:ESP32-S3-DevKitC-1(推薦選擇 WROOM N16R8 模組)或微雪ESP32-S3-Touch-LCD-3.49
- 數位麥克風:INMP441
- 功放:MAX98357A
- 腔體喇叭:8Ω 2
3W 或 4Ω 23W - 導線:跳線一盒,杜邦線若干
- 400孔麵包板 2塊
- 128x32 I2C(IIC)液晶顯示屏,SSD1306驅動(推薦)
- ML307R Cat.1 4G模組,AT韌體版(可選)
- 6*6mm立式輕觸開關(可選)
1.2 輔助工具
除了核心組件外,你可能還需要以下工具:
- 萬用表
- 電烙鐵套件
- 鉗子三件套
- Type-C資料線
- 用於燒錄韌體的PC
二、硬體詳細說明
2.1 開發板選擇
2.1.1 ESP32-S3-DevKitC-1(推薦)
盡量選擇N16R8配置,即16MB Flash和8MB PSRAM的配置。N8R2配置需要進行額外設定:
- 把PSRAM的工作模式從OCTAL改為QUAD
- Flash大小改為8MB
- 自訂分區表改為
partitions_8M.csv - 重新編譯韌體
注意:部分開發板的RGB燈未接通,需要焊接燈座旁邊的兩個小焊點。建議購買時選擇已接通RGB燈的版本。
2.1.2 微雪ESP32-S3-Touch-LCD-3.49
微雪推出的一體化開發板,整合了3.49英寸觸控液晶屏:
- 優勢:一體化設計,減少接線複雜度,內建顯示屏
- 產品連結:https://www.waveshare.net/shop/ESP32-S3-Touch-LCD-3.49.htm
- 配置要求:與ESP32-S3-DevKitC-1相同,推薦N16R8配置
- 特點:支援觸控操作,可顯示更豐富的介面資訊
對應的韌體變體為 waveshare-esp32-s3-touch-lcd-3.49,見支援的開發板。
2.2 MEMS數位麥克風(INMP441)
這是最小的電子元件,焊接難度較大。新手建議購買已焊接好的成品。自行焊接時注意:
- 不可以讓引腳和半環形金屬線接通
- 使用杜邦線接線時,不能把VDD和GND反接,否則容易燒壞(建議多買一個備用)
2.3 數位功放(MAX98357A)
建議購買已經焊接排針的成品,使用麵包板連接。
2.4 腔體喇叭(8Ω 3W 或 4Ω 3W)
端子可自行選擇或不要。
2.5 導線
如果使用杜邦線連接(不使用麵包板),請額外購買幾條1分2的分叉線(母線),用於麥克風和數位功放的短接,以解決開發板的電源3V3和接地GND排針接口不夠用的問題。
2.6 麵包板(推薦)
強烈建議使用麵包板組裝,否則電子元件多起來後容易混亂。推薦使用兩塊400孔麵包板拼接,將開發板安裝在中間,最大化利用麵包板空間。
麵包板基礎知識:
- 麵包板分區塊,中間兩個區塊相同數字橫向的每行是連通的(中間隔斷除外)
- 正負紅藍線是豎向每列連通的(如有隔斷除外)
2.7 OLED顯示屏(可選)
購買時需確認使用SSD1306驅動,建議選擇GND開頭的新版OLED屏幕。
2.8 Cat.1 4G模組(ML307R,可選)
ML307R是中移物聯推出的Cat.1物聯網模組,DC版比DL版增加了OpenCPU SDK二次開發支援。購買時需確認是AT韌體版本。
使用說明:
- 此模組用於連接4G行動數據網路,實現AI連網對話
- 適合戶外等無Wi-Fi環境使用
- 建議選擇可插拔卡的模組,如經常使用可用手機副卡(模組自帶的流量卡每月流量可能不夠)
2.9 微動開關/按鈕(可選)
使用6*6MM微動開關/輕觸開關,在麵包板上請岔開橫行插入。新手建議使用2腳的直插按鈕,避免短接引腳。
三、購買指南
3.1 購買渠道
在電商平台選購時,請注意:
- 部分電子元件可能未焊接引腳,可與商家溝通進行焊接或選擇焊接好的商品
- 盡量選擇信譽高、銷量大、評價好的店鋪
- 購買諮詢和售後品質問題請自行與商家協商
3.2 電烙鐵入門
如果你是新手,可以選擇購買焊接好的版本,或先觀看電烙鐵入門教程再進行焊接,避免損壞電子元件。
推薦教程:小白的電烙鐵使用入門
四、接線方案
4.1 ESP32-S3-DevKitC-1標準版(44 IO引腳)接線
此接線方案適用於小智AI聊天機器人韌體版本 >=V0.3.0。
注意:如果不使用麵包板,請使用1分2的分叉線解決電源3V3和接地GND排針接口不夠用的問題。
麥克風接線(INMP441)
| ESP32-S3開發板 | 麥克風(INMP441) |
|---|---|
| GPIO4 | WS (數據選擇) |
| GPIO5 | SCK (數據時鐘) |
| GPIO6 | SD (數據輸出) |
| 3V3 | VDD (電源正 3.3V) |
| GND | GND (接地) 短接 L/R (左/右聲道) |
功放接線(MAX98357A)
| ESP32-S3開發板 | 功放(MAX98357A) |
|---|---|
| GPIO7 | DIN (數位訊號) |
| GPIO15 | BCLK (位時鐘) |
| GPIO16 | LRC (左/右時鐘) |
| 3V3 | Vin/VCC (電源) 短接 SD (關機頻道) |
| GND | GND (接地) 短接 GAIN (增益和頻道) |
喇叭接線
- 音頻+ 接喇叭正極(一般紅線)
- 音頻- 接喇叭負極
OLED顯示屏接線(可選)
| ESP32-S3開發板 | OLED顯示屏 |
|---|---|
| GPIO41 | SDA (數據線) |
| GPIO42 | SCK (時鐘線) |
| 3V3 | VCC (電源正) |
| GND | GND (接地) |
4G模組接線(ML307R,可選)
| ESP32-S3開發板 | 4G模組(ML307R) |
|---|---|
| LDO正極(4.7V) | BAT(3.7~4.5V) 短接 EN使能 |
| GND | GND (接地) |
| GPIO11 | TXD (發送數據) |
| GPIO12 | RXD (接收數據) |
按鈕接線(0.4.1版本及以上)
| ESP32-S3開發板 | 按鈕 |
|---|---|
| GPIO39 | 音量減-按鈕(另一頭接GND),短按減小音量,長按靜音 |
| GPIO40 | 音量加+按鈕(另一頭接GND),短按加大音量 |
注意:
- 如果使用MAX98357A的BGA封裝版本(較小),可以不接GAIN_GND短線
- 請以表格引腳對照為準,預覽圖僅作外觀參考
- 麥克風如果焊接反了(進聲孔朝下,排針朝上),需要重新焊接
4.2 ESP32-S3-DevKitC-1果雲版(42 IO引腳)接線
果雲版與標準版的主要區別:
- 果雲版少幾個引腳,多了4個固定開孔
- 版本1左上方3V3供電口調整到左下方
- 版本2左邊增加了GPIO19、GPIO20
- 版本1左邊的GPIO13、GPIO14、5VIN對應調整到版本2右下方
- 版本2少了左右最下方的兩個GND
但外部模組的引腳接線與標準版相同,使用相同韌體。
五、進階接線知識
5.1 外接按鍵詳解
5.1.1 音量調節
- 韌體版本0.3.3新增音量調節按鈕:GPIO40接按鈕,另一端接地,按下增加音量,長按靜音
- 韌體版本0.4.1增加音量減少按鈕:GPIO39接按鈕,長按靜音,之前的按鈕長按變為最大音量
5.1.2 喚醒/中斷
韌體版本0.3.1以上支援按鍵喚醒和中斷對話:
- 可使用開發板上的Boot按鈕
- 或接GPIO0引腳,另一端接地
- 對話時按下可打斷,再次按下可喚醒恢復
注意事項:外接按鈕時不要直接在開發板上單行連接四腳開關,請錯開成兩行插接,避免引腳短接。
5.2 跳線顏色方案
建議的統一配色方案:
- VCC:紅色和棕色
- GND:灰色和黑色
- 數位訊號:咖啡色和橙色
這樣可以避免正負極反接。
5.3 不同連接模式
小智AI支援兩種連接模式:
5.3.1 Duplex模式
使用一個I2S控制器連接麥克風和功放,適合GPIO數量不多的開發板。
| 開發板 | INMP441 | MAX98357A |
|---|---|---|
| GND | GND, L/R | GND, GAIN |
| 3.3V | VDD | SD, VIN |
| GPIO4 | WS | LRC |
| GPIO5 | SCK | BCLK |
| GPIO6 | SD | |
| GPIO7 | DIN |
5.3.2 Simplex模式(預設)
使用I2S 0連接麥克風,I2S 1連接功放,比Duplex模式多使用兩個GPIO。
| 開發板 | INMP441 | MAX98357A |
|---|---|---|
| GND | GND, L/R | GND, GAIN |
| 3.3V | VDD | SD, VIN |
| GPIO4 | WS | |
| GPIO5 | SCK | |
| GPIO6 | SD | |
| GPIO7 | DIN | |
| GPIO15 | BCLK | |
| GPIO16 | LRC |
預設配置使用Simplex模式,GPIO與電子元件引腳一對一關係,接線相對容易。MAX98357A的VIN引腳可接3.3V或5V。
5.4 液晶屏幕擴展
增加液晶屏幕可顯示Wi-Fi或4G訊號強度:
| 開發板 | SSD1306 |
|---|---|
| GND | GND |
| 3.3V | VCC |
| GPIO41 | SDA |
| GPIO42 | SCK |
5.5 4G模組擴展
注意:4G天線不能離麥克風太近(距離<3cm會有明顯干擾)。最簡處理方案是將天線黏貼在喇叭的模擬訊號線上,遠離麥克風。
4G模組需要5V電壓供電。由於開發板只有5V VIN輸入引腳,沒有5V輸出引腳,需要在LDO穩壓器的近似5V引腳上引出電源。
六、故障排除
6.1 常見問題
RGB燈不亮 檢查RGB燈旁邊的兩個焊點是否已接通。如未焊接,可先用導線接通,重啟查看是否亮起。
電路故障檢查方法
- 不接電源時:用萬用表測試導線是否導通,如距離較遠的兩個GND引腳或兩個3.3V引腳
- 接電源後:檢查GND與其他引腳電壓是否在正常值範圍
接線完成後安全檢查 完成接線後,建議使用萬用表檢查開發板和已安裝電子元件上的GND與VCC(3.3V)之間是否有短路情況。確認無短路後,再接入USB電源。
6.2 隱藏接線提示
MAX98357和INMP441底部有隱藏接線,請特別注意檢查。
七、相關文檔
- ESP32丐版實現方案 - 低成本方案
- 支援的開發板 - 成品開發板與韌體變體
- 韌體下載與燒錄教程 - 取得並安裝韌體
- 小智AI常見問題 - 常見問題解答
- ESP-IDF開發環境搭建 - 編譯自訂韌體
接線已對照 78/xiaozhi-esp32 v2.5.2 的 main/boards/bread-compact-wifi/config.h 與 bread-compact-ml307/config.h。