資料介紹
描述
我們越來越多地面臨著人工智能 (AI) 革命,正如 Gartner 所說,Edge AI具有非常高的影響潛力,而且現在是這樣!
在新興技術的“靶心”中,雷達就是Edge Computer Vision ,而當我們談到Machine Learning (ML)應用于視覺時,首先想到的就是Image Classification ,一種ML的“Hello World” “!
Seeed Studio 發布了一款經濟實惠的新型開發板XIAO ESP32S3 Sense ,它集成了攝像頭傳感器、數字麥克風和 SD 卡支持。該開發板結合了嵌入式 ML 計算能力和攝影能力,是開始使用 TinyML(智能語音和視覺 AI)的絕佳工具。
XIAO ESP32S3 Sense 主要特點
- 強大的 MCU 板:集成 ESP32S3 32 位雙核 Xtensa 處理器芯片,運行頻率高達 240 MHz,安裝多個開發端口,支持 Arduino / MicroPython
- 高級功能:1600*1200分辨率的可拆卸OV2640攝像頭傳感器,兼容OV5640攝像頭傳感器,集成一個額外的數字麥克風
- 精心設計的電源設計:鋰電池充電管理能力提供四種功耗模式,允許深度睡眠模式,功耗低至14μA
- 大內存,更多可能性:提供 8MB PSRAM 和 8MB 閃存,支持 SD 卡插槽,用于外部 32GB FAT 內存
- 出色的射頻性能:支持2.4GHz Wi-Fi和BLE雙無線通信,連接U.FL天線支持100m+遠程通信
- 拇指大小的緊湊型設計:21 x 17.5mm,采用 XIAO 的經典外形,適用于可穿戴設備等空間有限的項目
以下是通用板引出線:
更多詳情請參考Seeed Studio WiKi頁面:https://wiki.seeedstudio.com/xiao_esp32s3_getting_started/
在 Arduino IDE 上安裝 XIAO ESP32S3 Sense
在 Arduino IDE 上,導航到File > Preferences ,然后填寫 URL:
https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
在現場 ==>其他 Boards Manager URL
接下來,打開板管理器。轉到Tools > Board > Boards Manager...并輸入esp32。選擇并安裝最新的軟件包:
在Tools上,選擇 Board ( XIAO ESP32S3 ):
最后但同樣重要的是,選擇連接 ESP32S3 的端口。
這就對了!設備應該沒問題。讓我們做一些測試。
使用 BLINK 測試電路板
XIAO ESP32S3 Sense 有一個連接到 GPIO21 的內置 LED。因此,您可以按原樣運行閃爍草圖(使用LED_BUILTIN
Arduino 常量)或相應地更改閃爍草圖:
#define LED_BUILT_IN 21
void setup() {
pinMode(LED_BUILT_IN, OUTPUT); // Set the pin as output
}
// Remember that the pin work with inverted logic
// LOW to Turn on and HIGH to turn off
void loop() {
digitalWrite(LED_BUILT_IN, LOW); //Turn on
delay (1000); //Wait 1 sec
digitalWrite(LED_BUILT_IN, HIGH); //Turn off
delay (1000); //Wait 1 sec
}
請注意,引腳與反邏輯一起工作:LOW 開啟,HIGH 關閉
連接Sense模塊(擴展板)
購買時,擴展板與主板分離,但安裝擴展板非常簡單。需要將擴展??板上的連接器對準XIAO ESP32S3上的B2B連接器,用力按壓,聽到“咔噠”一聲即表示安裝完成。
如介紹中所述,擴展板或設備的“感知”部分具有一個 1600x1200 OV2640 攝像頭、一個 SD 卡插槽和一個數字麥克風。
麥克風測試
讓我們從聲音檢測開始。轉到GitHub 項目并下載草圖:XIAOEsp2s3_Mic_Test并在 Arduino IDE 上運行它:
發出聲音時,您可以在串行繪圖儀上進行驗證。
將錄制的聲音(.wav 音頻文件)保存到 microSD 卡。
現在讓我們使用板載 SD 卡讀卡器來保存 .wav 音頻文件。為此,我們需要修復 XIAO PSRAM。
ESP32-S3 在 MCU 芯片上只有幾百 KB 的內部 RAM。對于某些用途,ESP32-S3 可以使用與 SPI 閃存芯片并聯的最多 16 MB 的外部 PSRAM(偽靜態 RAM)可能不夠。外部存儲器包含在存儲器映射中,并且在某些限制下,可以像內部數據 RAM 一樣使用。
首先,如下圖所示將 SD 卡插入 XIAO(SD 卡應格式化為FAT32 )。
- 下載草圖Wav_Record ,您可以在 GitHub 上找到它。
- 執行代碼(Wav Record)需要用到ESP-32芯片的PSRAM功能,所以上傳前先開啟:Tools>PSRAM: "OPI PSRAM">OPI PSRAM
-
運行代碼
Wav_Record.ino
- 該程序僅在用戶打開串口監視器后執行一次,錄音 20 秒并將錄音文件保存到 microSD 卡中,名為“arduino_rec.wav”。
- 當。。。的時候 ”。” 串口監視器每1秒輸出一次,程序執行完畢,可以借助讀卡器播放錄制的聲音文件。
音質非常好!
代碼工作原理的解釋超出了本教程的范圍,但您可以在wiki頁面上找到出色的描述。
測試相機
要測試相機,您應該從 GitHub 下載文件夾take_photos_command 。該文件夾包含草圖 ( .ino
) 和兩個.h
包含相機詳細信息的文件。
-
運行代碼:take_photos_command.ino。打開串行監視器并發送命令“
capture
”以捕獲圖像并將其保存在 SD 卡上:
確認在串行監視器上選擇了 [Both NL & CR]。
這是拍攝照片的示例:
測試無線網絡
XIAO ESP32S3 的差異化因素之一是其 WiFi 功能。所以,讓我們測試它的無線電,掃描它周圍的 wifi 網絡。您可以通過運行板上的代碼示例之一來完成。
轉到 Arduino IDE 示例并查找WiFI ==> WiFIScan
在串行監視器上,您應該會看到設備范圍內的 wifi 網絡(SSID 和 RSSI)。這是我在家里得到的:
簡單的 WiFi 服務器(打開/關閉 LED)
讓我們測試設備充當 WiFi 服務器的能力。我們將在設備上托管一個簡單的頁面,該頁面發送命令以打開和關閉 XIAO 內置 LED。
和以前一樣,去 GitHub 下載帶有 sketch 的文件夾:SimpleWiFiServer 。
在運行草圖之前,您應該輸入您的網絡憑據:
const char* ssid = "Your credentials here";
const char* password = "Your credentials here";
您可以使用串行監視器監視您的服務器如何工作。
獲取 IP 地址并將其輸入瀏覽器:
您將看到一個頁面,其中包含可以打開和關閉 XIAO 內置 LED 的鏈接。讓我們將相機拍攝的圖像傳輸到網頁:
從 GitHub 下載包含代碼的文件夾:XIAO-ESP32S3-Streeming_Video.ino。
請記住,該文件夾不僅包含 .ino 文件,還包含一些處理相機所必需的 .h 文件。
輸入您的憑據并運行草圖。在串行監視器上,您可以找到要在瀏覽器中輸入的頁面地址:
在瀏覽器上打開頁面(等待幾秒鐘以開始流式傳輸)。就是這樣。
當您定位相機以捕獲 ML 項目的數據集(例如,使用代碼“take_phots_commands.ino”)時,簡化相機“看到”的內容可能很重要。
當然,我們可以同時做這兩件事,在頁面上顯示相機所看到的內容,并發送一個命令來捕獲圖像并將其保存在 SD 卡上。為此,您可以使用代碼 Camera_HTTP_Server_STA,該文件夾可以從 GitHub 下載。
該程序將執行以下任務:
- 將相機設置為 JPEG 輸出模式。
- 創建網頁(例如==> http://192.168.4.119//)。正確的地址將顯示在串行監視器上。
- 如果是 server.on ("/capture", HTTP_GET, serverCapture),程序會拍攝照片并將其發送到 Web。
- 可以使用 [ROTATE] 按鈕在網頁上旋轉圖像
- [CAPTURE]命令只會在網頁上預覽圖片,在串口監視器上顯示圖片大小
- [SAVE] 命令會將圖像保存在 SD 卡上,同時在網絡上顯示該圖像。
- 保存的圖像將遵循順序命名(image1.jpg,image2.jpg。
該程序可用于圖像分類項目的圖像數據集捕獲。
檢查代碼;這將更容易理解相機的工作原理。此代碼是基于偉大的 Rui Santos 教程:ESP32-CAM 在 Web 服務器中拍照和顯示而開發的,我邀請大家訪問。
水果與蔬菜 - TinyML 圖像分類項目
現在我們有一個嵌入式相機在運行,是時候嘗試圖像分類了。為了比較動機,我將復制為與舊 ESP2-CAM 一起使用而開發的相同圖像分類項目:
我們項目的整體思路是訓練模型并在 XIAO ESP32S3 Sense 上進行推理。對于訓練,我們應該找到一些數據(實際上是大量數據!)。
但首先,我們需要一個目標!我們要分類什么?
使用TinyML,一組與嵌入式設備上的機器學習推理相關的技術,由于限制(在這種情況下主要是內存),我們應該將分類限制為三或四類。我們將區分蘋果與香蕉和土豆(您可以嘗試其他類別)。
因此,讓我們找到一個包含這些類別圖像的特定數據集。Kaggle 是一個好的開始:
https://www.kaggle.com/kritikseth/fruit-and-vegetable-image-recognition
該數據集包含以下食品的圖像:
- 水果-香蕉、蘋果、梨、葡萄、橙子、奇異果、西瓜、石榴、菠蘿、芒果。
- 蔬菜- 黃瓜、胡蘿卜、辣椒、洋蔥、馬鈴薯、檸檬、番茄、蘿卜、甜菜根、卷心菜、生菜、菠菜、大豆、花椰菜、燈籠椒、辣椒、蘿卜、玉米、甜玉米、紅薯、紅辣椒、墨西哥辣椒、生姜、 大蒜、 豌豆、 茄子。
每個類別分為訓練(100 張圖像)、測試(10 張圖像)和驗證(10 張圖像)。
- 從 Kaggle 網站將數據集下載到您的計算機。
或者,您可以添加一些來自家庭廚房的香蕉、蘋果和土豆的新鮮照片,例如,使用上一節中討論的草圖。
使用 Edge Impulse Studio 訓練模型
我們將使用 Edge Impulse Studio 來訓練我們的模型。Edge Impulse是領先的邊緣設備機器學習開發平臺。
在 Edge Impulse 輸入您的帳戶憑據(或創建一個免費帳戶)。接下來,創建一個新項目:
數據采集
接下來,在該UPLOAD DATA
部分,從您的計算機上傳所選類別的文件:
您現在應該擁有訓練數據集,分為三類數據:
您可以上傳額外的數據以進行進一步的模型測試或拆分訓練數據。我將保留原樣,盡可能使用大部分數據。
沖量設計
脈沖獲取原始數據(在本例中為圖像),提取特征(調整圖片大小),然后使用學習塊對新數據進行分類。
如前所述,對圖像進行分類是深度學習最常見的用途,但要完成這項任務需要大量數據。每個類別我們有大約 90 張圖像。這個數量夠嗎?一點也不!我們將需要數千張圖像來“教授或建模”以區分蘋果和香蕉。但是,我們可以通過使用數千張圖像重新訓練之前訓練過的模型來解決這個問題。我們稱這種技術為“遷移學習”(TL)。
借助 TL,我們可以根據我們的數據微調預訓練圖像分類模型,即使在相對較小的圖像數據集(我們的案例)中也能表現良好。
因此,從原始圖像開始,我們將調整它們的大小 (96x96) 像素,然后將它們提供給我們的遷移學習塊:
預處理(特征生成)
除了調整圖像大小,我們應該將它們改為灰度以保持實際的 RGB 顏色深度。這樣做,我們的每個數據樣本都將具有 9 維、216 個特征 (96x96x1)。保持 RGB,這個維度會大三倍。使用灰度有助于減少推理所需的最終內存量。
不要忘記“保存參數”。這將生成要在訓練中使用的特征。
培訓(遷移學習和數據增強)
2007 年,谷歌推出了MobileNetV1,這是一個通用計算機視覺神經網絡系列,專為移動設備而設計,支持分類、檢測等。MobileNet 是小型、低延遲、低功耗模型,經過參數化以滿足各種用例的資源限制。
盡管基本 MobileNet 架構已經很小并且延遲很低,但很多時候,特定的用例或應用程序可能需要模型更小和更快。MobileNet 引入了一個稱為寬度乘數的簡單參數 α (alpha) 來構建這些更小且計算成本更低的模型。寬度乘數 α 的作用是在每一層均勻地細化網絡。
Edge Impulse Studio 具有可用的 MobileNet V1(96x96 圖像)和 V2(96x96 和 160x160 圖像),具有多個不同的α值(從 0.05 到 1.0)。例如,您將使用 V2、160x160 圖像和 α=1.0 獲得最高準確度。當然,需要權衡取舍。精度越高,運行模型所需的內存就越多(大約 1.3M RAM 和 2.6M ROM),這意味著更多的延遲。
在MobileNet V1和 α=0.10(大約 53.2K RAM 和 101K ROM)的另一個極端情況下,將獲得更小的占用空間。
當我們第一次發布這個在 ESP32-CAM 上運行的項目時,我們停留在可能性的較低端,這保證了推理具有較小的延遲但不具有高精度。對于第一遍,我們將保留此模型設計(MobileNet V1和 α=0.10)。
與深度學習一起使用的另一個重要技術是數據增強。數據增強是一種可以幫助提高機器學習模型準確性的方法,可以創建額外的人工數據。數據增強系統在訓練過程中對訓練數據進行小的隨機更改(例如翻轉、裁剪或旋轉圖像)。
在底層,您可以在這里看到 Edge Impulse 如何對您的數據實施數據增強策略:
# Implements the data augmentation policy
def augment_image(image, label):
# Flips the image randomly
image = tf.image.random_flip_left_right(image)
# Increase the image size, then randomly crop it down to
# the original dimensions
resize_factor = random.uniform(1, 1.2)
new_height = math.floor(resize_factor * INPUT_SHAPE[0])
new_width = math.floor(resize_factor * INPUT_SHAPE[1])
image = tf.image.resize_with_crop_or_pad(image, new_height, new_width)
image = tf.image.random_crop(image, size=INPUT_SHAPE)
# Vary the brightness of the image
image = tf.image.random_brightness(image, max_delta=0.2)
return image, label
在訓練期間接觸這些變化有助于防止您的模型通過“記住”訓練數據中的表面線索來走捷徑,這意味著它可以更好地反映數據集中深層的潛在模式。
我們模型的最后一層將有 16 個神經元和 10% 的 dropout 以防止過度擬合。這是訓練輸出:
結果不是很好。該模型達到了 77% 左右的準確率,但預計在推理過程中使用的 RAM 量相對較小(約 60 KB),這非常好。
部署
經過訓練的模型將部署為 .zip Arduino 庫:
打開您的 Arduino IDE,在Sketch 下,轉到Include Library并添加 .ZIP Library。選擇您從 Edge Impulse Studio 下載的文件,就是這樣!
在 Arduino IDE 的示例選項卡下,您應該在項目名稱下找到草圖代碼。
打開靜態緩沖區示例:
您可以看到第一行代碼正是調用一個庫,其中包含在您的設備上運行推理所需的所有必要內容。
#include
當然,這是一個通用代碼(一個“模板”),它只獲取一個原始數據樣本(存儲在變量中:features = {} 并運行分類器,進行推理。結果顯示在串行監視器上。
我們應該從相機中獲取樣本(圖像)并對其進行預處理(將大小調整為 96x96,轉換為灰度,并將其展平)。這將是我們模型的輸入張量。輸出張量將是一個具有三個值(標簽)的向量,顯示每個類別的概率。
返回您的項目(選項卡圖像),復制原始數據示例之一:
9、將216個特征復制到剪貼板。這是輸入張量(96x96x1 的扁平圖像),在本例中為香蕉。超過此輸入張量 features[] = {0xb2d77b, 0xb5d687, 0xd8e8c0, 0xeaecba, 0xc2cf67, ...}
注意:Edge Impulse在其 SDK 中包含ESP NN 庫,其中包含針對各種 Espressif 芯片優化的 ??NN(神經網絡)函數。在本教程發布(5 月 2 日)之前,ESP NN 無法與 ESP32S3 (Arduino IDE) 一起使用。
如果您編譯代碼并遇到錯誤,則有必要修復它。EI 建議關閉 ESP NN 加速。為此,ei_classifier_config.h
在導出的 Arduino 庫文件夾中找到: /scr/edge-impulse-sdk/classifier/:
找到帶有 的行#define EI_CLASSIFIER_TFLITE_ENABLE_ESP_NN 1
,并將其從 1 更改為 0:
現在,在運行推理時,您應該得到“banana”的最高分。
好消息!我們的設備進行推理,發現輸入圖像是香蕉。這是比 ESP32 CAM(525 毫秒延遲)更好的結果。
現在,我們應該結合攝像頭并對圖像進行實時分類。
轉到 Arduino IDE 示例并從您的項目下載草圖 esp32_camera:
您應該根據與我們的模型相關的數據更改第 32 行到第 75 行,它們定義了相機模型和引腳:
修改后的草圖可以從 GitHub 下載:xiao_esp32s3_camera 。
請注意,您可以選擇將引腳保留為 ah 文件,就像我們在前幾節中所做的那樣。
將代碼上傳到您的 XIAO ESP32S3 Sense,您應該就可以開始對水果和蔬菜進行分類了!您可以在串行監視器上檢查結果。
測試模型(推理)
使用相機拍攝照片,分類結果將顯示在串口監視器上:
其他測試:
使用更大的模型進行測試
現在,讓我們轉到模型尺寸的另一側。讓我們選擇一個 MobilinetV2 96x96 0.35,輸入 RGB 圖像。
即使使用更大的模型,準確性也不好,最糟糕的是,運行模型所需的內存量增加了五倍,延遲增加了七倍。因此,為了讓我們的模型更好,我們可能需要訓練更多的圖像。
即使我們的模型沒有改進,讓我們測試一下 XIAO 是否可以處理這么大的模型。我們將使用靜態緩沖區草圖進行簡單的推理測試。
結果是肯定的!內存在這里不是問題;延遲是!在實際測試中看到,XIAO 花費了將近 2.5 秒來執行推理(與之前的 318 毫秒相比)。
可選擇使用 ESP-NN 加速 [2013 年 5 月 19 日更新]
盡管 Edge Impulse 尚未發布使用加速器的 ESP32S3 SDK,但多虧了Dmitry Maslov, 我們可以為 ESP32-S3 恢復和修復 ESP NN 的裝配優化。這個解決方案還不是官方的,因為一旦他們解決了與其他板的沖突,EI 就會將它包含在 EI SDK 中。
目前,這僅適用于非 EON 版本。因此,如果在生成庫時啟用了 EON 編譯器,則應重新部署模型。
同時,你可以從項目的GitHub上下載一個初步版本,解壓,將src/edge-impulse-sdk/porting/espressif/ESP-NN,
你的Arduino庫文件夾下的ESP NN文件夾替換為:
然后編譯草圖。替換文件夾后重新啟動 IDE 可能會有所幫助。
使用 MobilinetV2 96x96 0.35 進行推理,將 RGB 圖像作為輸入,延遲從 2,383 毫秒減少到 219 毫秒,減少了十倍以上!
在我的測試中,此選項適用于 MobileNet V2 但不適用于 V1。因此,我再次訓練模型,使用最小版本的 MobileNet V2,alpha 為 0.05。
請注意,以 480MHz 時鐘運行的 Arduino Portenta(ou Nicla)的估計延遲為 45ms。
部署模型,并應用修復,替換 ESP-NN 文件夾,如前所述,我得到的推斷只有 135 毫秒,記得 XIAO 運行的時鐘是 Portenta/Nicla 使用的時鐘的一半(240MHz):
結論
XIAO ESP32S3 Sense 是一款非常靈活、價格低廉且易于編程的設備。該項目證明了 TinyML 的潛力。內存不是問題;該設備可以處理許多后處理任務,包括通信。但是你應該考慮到高延遲(沒有 ESP NN 加速器)會限制一些應用程序,盡管 XIAO 比 ESP32-CAM 快 50%。
在我的 GitHub 存儲庫中,您會找到最新版本的代碼:XIAO-ESP32S3-Sense。
一如既往,我希望這個項目可以幫助其他人在令人興奮的人工智能、電子和物聯網世界中找到自己的出路!
鏈接:MJRoBot.org
來自世界南方的問候!
在我的下一個項目見!
謝謝
馬塞洛
- TinyML變得簡單:關鍵詞識別(KWS)
- TinyML:使用合成數據的永遠在線的音頻分類器
- TinyML課程#7變得更小
- 使用Esp32和TinyML進行手勢分類
- TinyML:ESP32 CAM和TFT上的實時圖像分類
- 智能零售場景中的圖像分類技術綜述 15次下載
- 基于空譜聯合特征的高光譜圖像分類方法 2次下載
- 基于空間特征的遙感圖像場景分類方法 6次下載
- 眼底視網膜及圖像質量分類研究綜述 9次下載
- 結合CSPPNet與集成學習的人類蛋白質圖像分類 4次下載
- 基于區域RGB統計數據的圖像粗分類方法 17次下載
- 基于特征交換的卷積神經網絡圖像分類算法 27次下載
- 基于二維圖像與遷移卷積神經網絡的分類方法 6次下載
- 針對遙感圖像場景分類的多粒度特征蒸餾方法 20次下載
- 一種新的圖像定位和分類系統實現方案
- 計算機視覺怎么給圖像分類 219次閱讀
- 基于XIAO的圖像分類處理項目 1118次閱讀
- 如何在KV260上快速體驗Vitsi AI圖像分類示例程序 1289次閱讀
- 【tinyML】使用EdgeImpulse讓您的Arduino可以辨識手勢! 4081次閱讀
- 如何使用TinyML在內存受限的設備上部署ML模型呢 958次閱讀
- 圖像分類任務的各種tricks 1059次閱讀
- 如何在 MCU 上快速部署 TinyML 1689次閱讀
- 如何利用TinyML實現語音識別機器人車的設計 2110次閱讀
- 圖像分類法實現智能車找路功能 1604次閱讀
- 圖像分類的5種技術,總結并歸納算法、實現方式,并進行實驗驗證 7.3w次閱讀
- 數字圖像噪聲的四種分類方式 1.3w次閱讀
- CNN是怎么幫助進行圖像分類的 1.7w次閱讀
- 簡單好上手的圖像分類教程! 8136次閱讀
- 深度學習的典型應用是圖像分類問題 8527次閱讀
- 如何讓光伏逆變器效率測量變得更簡單 1492次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多