電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>為活動(dòng)姿勢(shì)監(jiān)測(cè)和警報(bào)可穿戴設(shè)備構(gòu)建概念驗(yàn)證

為活動(dòng)姿勢(shì)監(jiān)測(cè)和警報(bào)可穿戴設(shè)備構(gòu)建概念驗(yàn)證

2022-11-10 | zip | 0.22 MB | 次下載 | 免費(fèi)

資料介紹

描述

概述

在 COVID19 之前,人們不得不在正常的生活活動(dòng)中自愿或不自愿地進(jìn)行一些體育鍛煉。例如,他們必須通勤到學(xué)校、辦公室或商業(yè)場(chǎng)所。在 COVID19 期間,許多人改變了生活方式。他們中的大多數(shù)人已經(jīng)開(kāi)始在家遠(yuǎn)程工作,身體活動(dòng)受到限制。此外,在學(xué)?;蜣k公室中,您必須保持坐姿,但在家里,您可以自由地以自己舒適的任何姿勢(shì)坐下或躺著,或者在工作時(shí)出于懶惰。從長(zhǎng)遠(yuǎn)來(lái)看,缺乏活動(dòng)和不良姿勢(shì)會(huì)造成嚴(yán)重的健康問(wèn)題。主要問(wèn)題是在辦公椅上的不良坐姿引起的脊椎疼痛。在這個(gè)項(xiàng)目中,我為活動(dòng)和姿勢(shì)監(jiān)測(cè)和警報(bào)可穿戴設(shè)備構(gòu)建了一個(gè)概念驗(yàn)證,它告訴用戶他們的活動(dòng)或空閑情況,并及時(shí)提醒他們讓他們活躍或要求糾正姿勢(shì)。如果有人想重新創(chuàng)建項(xiàng)目,我會(huì)盡力提供分步說(shuō)明。

設(shè)置開(kāi)發(fā)環(huán)境

我正在使用 MacOS 進(jìn)行開(kāi)發(fā)。首先,我們需要從這里下載 nRF connect for Desktop:nRF Connect for Desktop 是一個(gè)跨平臺(tái)工具,可以使用 nRF5340 進(jìn)行測(cè)試和開(kāi)發(fā)。請(qǐng)按照上面鏈接中的安裝指南進(jìn)行操作。安裝后打開(kāi)應(yīng)用程序并單擊工具鏈管理器以安裝 nRF Connect SDK。

pYYBAGNonRSATdQVAACcUvqR66k423.jpg
?

默認(rèn)情況下,它安裝在 MacOS 的 /opt/nordic/ncs 中。由于我們將使用帶有 nRF5340 DK 的 Adafruit display shield,Zephyr 中當(dāng)前版本的 nrf5340 板文件不完全支持 Adafruit display shield 所需的 Arduino 定義。為了解決這個(gè)問(wèn)題,我們需要應(yīng)用補(bǔ)丁。請(qǐng)按照以下命令應(yīng)用補(bǔ)丁。

$ cd /tmp
$ git clone https://github.com/NordicPlayground/ncs-display-ble-example.git
$ cd ncs-display-ble-example
$ cp nrf5340_display.patch /opt/nordic/ncs/v1.5.1/zephyr
$ cd /opt/nordic/ncs/v1.5.1/zephyr
$ git apply nrf5340_display.patch

此外,我們將在帶有 nRF5340 DK 的 Adafruit shield 中使用內(nèi)置的 microSD 卡。我們需要在 board/shields/adafruit_2_8_tft_touch_v2/adafruit_2_8_tft_touch_v2.overlay 文件中將 arduino_header 引腳定義從 12 更改為 11,如下所示。

<&arduino_header 11 GPIO_ACTIVE_LOW>; /* D04 */

環(huán)境設(shè)置完成后,我們必須通過(guò)執(zhí)行以下命令來(lái)激活它。

$ source /opt/nordic/ncs/v1.5.1/zephyr/zephyr-env.sh

硬件設(shè)置

帶顯示屏蔽的 nRF5340 DK 用作 BLE 中央設(shè)備。連接到 ADXL345 加速度計(jì)的 nRF52840 加密狗用作 BLE 外設(shè)。連接圖原理圖可以在原理圖部分找到。物理連接如下圖所示。

pYYBAGNonRuAZD81AA2292kGyBI79.jpeg
?

我們需要在 BLE 外設(shè)應(yīng)用程序中為 ADXL345 加速度計(jì)添加一個(gè)覆蓋文件,該文件定義加速度計(jì) I2C 引腳定義和從機(jī)地址。

&i2c1 {
  compatible = "nordic,nrf-twim";
  status = "okay";
  sda-pin = < 31 >;
  scl-pin = < 29 >;
  clock-frequency = ;
  adxl345@53 {
    compatible = "adi,adxl345";
    reg = < 0x53 >;
    label = "ADXL345";
 };
};

應(yīng)用

為此,創(chuàng)建了 3 個(gè)項(xiàng)目的概念證明。

  • nrf52840_dongle_ble_peripheral_acc(作為數(shù)據(jù)節(jié)點(diǎn))
  • nrf5340_dk_ble_central_acc(用于數(shù)據(jù)收集)
  • nrf5340_dk_ble_central_inf(用于模型推理)

所有項(xiàng)目的代碼都可以在 Github 存儲(chǔ)庫(kù)中找到:https ://github.com/metanav/AdvancedWearables

數(shù)據(jù)采集

為 4 個(gè)類收集訓(xùn)練數(shù)據(jù):

  • 跑步
  • 步行
  • 得好
  • 不好

BLE 外設(shè)(nRF52840 加密狗)以 25Hz 的采樣率收集 3 軸加速度計(jì)數(shù)據(jù)。每秒它會(huì)通過(guò) 150 字節(jié) [25 (Hz) x 3 (axis) x 2 (16 bit)] 有效負(fù)載通知連接的中央設(shè)備。一個(gè)易于使用的圖形用戶界面 (GUI) 是使用允許選擇訓(xùn)練標(biāo)簽和存儲(chǔ)數(shù)據(jù)的顯示屏蔽設(shè)計(jì)的。BLE 中央設(shè)備從外圍設(shè)備收集加速度計(jì)數(shù)據(jù)并將其保存到 SD 卡(內(nèi)置在顯示擴(kuò)展板中)。3 軸加速度計(jì)數(shù)據(jù)保存為 CSV 文件格式,文件名作為標(biāo)簽與自動(dòng)增量整數(shù)連接。示例如下所示:

Filename: Sitting_Bad.4.csv

-187,-937,218
-187,-937,218
-187,-937,218
-187,-906,218
-187,-906,218
-218,-906,218
-218,-906,218
-187,-937,218
-218,-906,218
-218,-906,218
-187,-906,218
-187,-906,218
-187,-906,218
-218,-906,218
-187,-906,218
-218,-906,218
-218,-906,218
-218,-906,218
-218,-906,218
-218,-906,218
-187,-906,218

為 nRF5340 DK 構(gòu)建和刷新數(shù)據(jù)采集固件

使用 USB 電纜將 nRF5340 DK 連接到計(jì)算機(jī)并運(yùn)行命令:

$ pip3 install -U west
$ git clone https://github.com/metanav/AdvancedWearables
$ cd AdvancedWearables/nrf5340_dk_ble_central_acc
$ source /opt/nordic/ncs/v1.5.1/zephyr/zephyr-env.sh
$ rm -rf build
$ west build -b nrf5340dk_nrf5340_cpuapp
$ west flash

nRF52840 Dongle 的構(gòu)建和閃存固件

將 nRF52840 加密狗連接到計(jì)算機(jī)并運(yùn)行命令:

$ cd AdvancedWearables/nrf52840_dongle_ble_peripheral_acc
$ rm -rf build
$ west build -b nrf52840dongle_nrf52840

我們不能用west來(lái)刷 nRF52840。我們將使用 nRF Connect > Programmer。首先按下加密狗上的重置按鈕,然后從左上角的下拉菜單中選擇設(shè)備。單擊添加十六進(jìn)制文件按鈕>瀏覽...并選擇 AdvancedWearables/nrf52840_dongle_ble_peripheral_acc/build/zephyr/zephyr.hex 文件并單擊寫(xiě)入按鈕。

poYBAGNonR6AYKRQAAG2JQ62qfA783.png
?

數(shù)據(jù)收集演示

?

數(shù)據(jù)采集??演示(實(shí)時(shí))

?

數(shù)據(jù)上傳到 Edge Impulse Studio

Edge Impulse Studio 為 nRF5340 DK 創(chuàng)建的固件很方便,它會(huì)自動(dòng)將來(lái)自 USB UART 連接的數(shù)據(jù)上傳到 DK。但我想制作一款可用于現(xiàn)場(chǎng)數(shù)據(jù)收集和模型推理的可穿戴設(shè)備。走路或跑步時(shí)攜帶筆記本電腦采集數(shù)據(jù)不方便。此外,您可能在現(xiàn)場(chǎng)沒(méi)有互聯(lián)網(wǎng)連接。所以我創(chuàng)建了完全獨(dú)立的設(shè)備,它通過(guò) BLE 從外圍設(shè)備捕獲數(shù)據(jù)并保存到 microSD 卡中。捕獲的數(shù)據(jù)被復(fù)制到計(jì)算機(jī)。我編寫(xiě)了一個(gè)腳本(如下),它將原始加速度計(jì)數(shù)據(jù)轉(zhuǎn)換為 Edge Impulse 工作室訓(xùn)練所需的數(shù)據(jù)采集 JSON 格式。

import json
import time
import hmac
import hashlib
import os
import configparser

config = configparser.ConfigParser()
config.read('config.ini')
HMAC_KEY = config['edge_impulse']['hmac_key']

dir = 'raw_data'

for filename in os.listdir(dir):
    if filename.endswith('.csv'):
        prefix, ext = os.path.splitext(filename)
        outfilename = os.path.join('formatted_data', '{}.json'
                             .format(prefix))
        values = []
        with open(os.path.join(dir, filename)) as fp:
            for line in fp:
                line = line.strip()
                values.append([int(i) for i in line.split(',')])
                emptySignature = ''.join(['0'] * 64)
                data = {
                    "protected": {
                        "ver": "v1",
                        "alg": "HS256",
                        "iat": time.time()
                    },
                    "signature": emptySignature,
                    "payload": {
                        "device_name": "E1:01:2D:53:40:DA",
                        "device_type": "NRF5340DK",
                        "interval_ms": 40,
                        "sensors": [
                            { "name": "accX", "units": "m/s2" },
                            { "name": "accY", "units": "m/s2" },
                            { "name": "accZ", "units": "m/s2" }
                        ],
                        "values": values
                    }
                }   
                # encode in JSON
                encoded = json.dumps(data)
                # sign message
                signature = hmac.new(bytes(HMAC_KEY, 'utf-8'), 
                                msg = encoded.encode('utf-8'), 
                                digestmod = hashlib.sha256).hexdigest()
                # set the signature again in the message, and encode again
                data['signature'] = signature
                encoded = json.dumps(data, indent=4)
                with open(outfilename, 'w') as fout:
                    fout.write(encoded)

首先將 microSD 卡中的所有原始數(shù)據(jù)復(fù)制到計(jì)算機(jī)的 raw_data 目錄中。您需要在 Edge Impulse 注冊(cè)一個(gè)帳戶并創(chuàng)建一個(gè)新項(xiàng)目來(lái)上傳數(shù)據(jù)。

poYBAGNonSCAPmCCAAAjJ-Wb3XM324.png
?

此外,您需要 Edge Impulse Studio 項(xiàng)目的 HMAC 密鑰來(lái)生成數(shù)據(jù)采集格式的簽名。您可以從 Dashboard > Keys [tab] 復(fù)制 HMAC 密鑰,如下所示。

pYYBAGNonSOAXNk4AABJ21e2iow395.png
?

使用您自己的 HMAC 密鑰創(chuàng)建一個(gè)包含以下內(nèi)容的config.ini文件。

[edge_impulse]
hmac_key = <your hmac key>

執(zhí)行以下命令。

$ mkdir formatted_data
$ python3 data_aquisition_format.py

轉(zhuǎn)換后的數(shù)據(jù)如下圖所示。采樣率為 25 Hz,因此 interval_ms 為 40ms,如果您的傳感器采樣率不同,可以在腳本中更改。

{
  "protected": {
    "ver": "v1",
    "alg": "HS256",
    "iat": 1623920716.465548
  },
  "signature": "19bec321f71e504460add5f453fc12d636153f06ebac2f3f6ba4a49813",
  "payload": {
  "device_name": "E1:01:2D:53:40:DA",
  "device_type": "NRF5340DK",
  "interval_ms": 40,
  "sensors": [
     { "name": "accX", "units": "m/s2" },
     { "name": "accY","units": "m/s2" },
     { "name": "accZ", "units": "m/s2" }
   ],
   "values": [
     [ -187, -906, 250 ],
     [ -218, -906, 250 ],
     [ -187, -906, 250 ],
     [ -187, -875, 250 ],
     // more values
    ]
  }
}

使用 Edge Impulse CLI 上傳數(shù)據(jù)。請(qǐng)按照說(shuō)明在此處安裝 CLI:下面的命令用于上傳所有 JSON 文件,這些文件會(huì)自動(dòng)拆分為訓(xùn)練和測(cè)試數(shù)據(jù)集。

$ cd formatted_data
$ edge-impulse-uploader --category split *.json

我們可以在Data Acquisition頁(yè)面看到上傳的數(shù)據(jù)。

pYYBAGNonSeAGzwGAAFc5UWBD5U715.png
?

訓(xùn)練

轉(zhuǎn)到 Impulse Design > Create Impulse 頁(yè)面并單擊Add a processing block并選擇Spectral Analysis ,它非常適合分析來(lái)自加速度計(jì)的重復(fù)數(shù)據(jù)。它提取信號(hào)隨時(shí)間變化的頻率和功率特性。此外,在同一頁(yè)面上單擊添加學(xué)習(xí)塊并選擇從數(shù)據(jù)中學(xué)習(xí)模式的神經(jīng)網(wǎng)絡(luò)(Keras),并將其應(yīng)用于新數(shù)據(jù)。它非常適合對(duì)運(yùn)動(dòng)數(shù)據(jù)進(jìn)行分類。由于 Sitting 狀態(tài)的運(yùn)動(dòng)識(shí)別需要更長(zhǎng)的持續(xù)時(shí)間,因此對(duì)于時(shí)間序列數(shù)據(jù)塊,我選擇了 2000ms 窗口大小和 100ms 窗口增加。現(xiàn)在單擊保存脈沖按鈕。

pYYBAGNonSqAIHquAAD-CdB2NSc704.png
?

現(xiàn)在轉(zhuǎn)到 Impulse Design > Spectral Features 頁(yè)面并單擊Save parameters按鈕。我保留了對(duì)我來(lái)說(shuō)看起來(lái)不錯(cuò)的默認(rèn)值。

poYBAGNonS6AIeNPAAHCxPD-wiw271.png
?

單擊“保存參數(shù)按鈕將重定向到另一個(gè)頁(yè)面,我們應(yīng)該單擊“生成特征”按鈕。完成特征生成通常需要幾分鐘。我們可以在 Feature Explorer 中看到生成的特征的 3D 可視化。數(shù)據(jù)似乎對(duì)步行和跑步有明確的劃分,但坐姿有點(diǎn)接近。訓(xùn)練和學(xué)習(xí)模式并在類之間進(jìn)行更好的分離將是神經(jīng)網(wǎng)絡(luò)的工作。

?

現(xiàn)在轉(zhuǎn)到 Impulse Design > NN Classifier 頁(yè)面并定義神經(jīng)網(wǎng)絡(luò)架構(gòu)。我創(chuàng)建了具有 4 個(gè)密集(完全連接)層的模型,這些層非常適合頻譜分析 DSP 模塊的輸出。訓(xùn)練周期數(shù)選擇為 50。

poYBAGNonTCAZ20kAADtTPnSk2A430.png
?

現(xiàn)在單擊開(kāi)始訓(xùn)練按鈕并等待幾分鐘,直到訓(xùn)練完成。我們可以在下面看到訓(xùn)練輸出。該模型有 86.8% 的準(zhǔn)確率,對(duì)于這么小的數(shù)據(jù)集來(lái)說(shuō)還不錯(cuò),我們還有改進(jìn)的空間。此外,混淆矩陣清楚地顯示了 Sitting_Good 和 Sitting_Bad 類具有誤報(bào),可以通過(guò)為這兩個(gè)類收集更多數(shù)據(jù)來(lái)改進(jìn)。對(duì)于這個(gè)概念驗(yàn)證項(xiàng)目,我們將使用這個(gè)模型。

pYYBAGNonTSAamPYAACfmLyisB8167.png
?

部署

Edge Impulse Studio 支持 nRF5340 DK 部署固件二進(jìn)制文件,但對(duì)于這個(gè)項(xiàng)目,我們正在使用其他功能,例如連接到外圍設(shè)備以獲取數(shù)據(jù)并在 Adafruit 顯示屏上顯示結(jié)果。因此,在部署頁(yè)面中,我們將選擇創(chuàng)建庫(kù) > C++ 庫(kù)選項(xiàng)。對(duì)于Select optimization選項(xiàng),我們將選擇Enable EON Compiler以減少模型的內(nèi)存使用。此外,我們將選擇未優(yōu)化 (Float32) 模型,因?yàn)樗攘炕?(Int8) 模型具有更好的準(zhǔn)確性。現(xiàn)在單擊Build按鈕,幾秒鐘后庫(kù)包將下載到本地計(jì)算機(jī)。

對(duì)于推理,我創(chuàng)建了一個(gè)新的 nRF5340 DK 項(xiàng)目,它借用了數(shù)據(jù)收集項(xiàng)目中的大部分 BLE 和顯示代碼。由于推理庫(kù)主要包含 C++ 代碼庫(kù),我們需要在項(xiàng)目設(shè)置中更改一些內(nèi)容。

  • 將數(shù)據(jù)采集項(xiàng)目復(fù)制的src目錄下的所有*.c文件重命名為*.cpp
  • 在幾個(gè)頭文件中使用 extern "C"
  • 在 prj.conf 中添加 C++ 配置
CONFIG_CPLUSPLUS=y
CONFIG_LIB_CPLUSPLUS=y
CONFIG_NEWLIB_LIBC=y
CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y
CONFIG_FPU=y

現(xiàn)在解壓縮并將以下文件移動(dòng)到項(xiàng)目根目錄。

  • CMakeLists.txt
  • 邊緣脈沖 SDK
  • 模型參數(shù)
  • tflite 模型

構(gòu)建并刷新 nRF5340 DK 的推理固件

使用 USB 電纜將 nRF5340 DK 連接到計(jì)算機(jī)并運(yùn)行以下命令:

$ git clone https://github.com/metanav/AdvancedWearables 
$ cd AdvancedWearables/nrf5340_dk_ble_central_inf
$ source /opt/nordic/ncs/v1.5.1/zephyr/zephyr-env.sh
$ rm -rf build
$ west build -b nrf5340dk_nrf5340_cpuapp
$ west flash

推理演示

BLE Central (nRF5340) 從 BLE 外設(shè)收集 2000 毫秒的加速度計(jì)數(shù)據(jù)并運(yùn)行推理。推理日志(下圖)顯示 DSP 時(shí)間為 8 毫秒,分類時(shí)間為 1 毫秒,這非??臁?/font>由于推理速度很快,因此每個(gè)推理周期的總滯后時(shí)間不超過(guò) 2 秒(用于從外圍設(shè)備累積數(shù)據(jù))。

Predictions (DSP: 8 ms., Classification: 1 ms., Anomaly: 0 ms.)

Features (8 ms.): 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 0.000000 2.509764 0.793651 1.043532 3.571429 0.199363 0.000000 0.000000 0.128670 0.626574 0.175257 0.013350 

Running neural network...
Predictions (time: 1 ms.):
Running:.0.000000
Sitting_Bad:.0.226727
Sitting_Good:.0.773085
Walking:.0.000188
?

結(jié)論

該項(xiàng)目最初是作為測(cè)試 nRF5340 DK 機(jī)器學(xué)習(xí)可穿戴項(xiàng)目能力的應(yīng)用程序而開(kāi)始的。剛開(kāi)始這似乎是一項(xiàng)艱巨的任務(wù),但在花了一些時(shí)間學(xué)習(xí) SDK 之后,它變得簡(jiǎn)單而令人滿意。事實(shí)證明,nRF5340 DK 是一款功能強(qiáng)大的硬件,非常適合 TinyML。此外,Edge Impulse Studio 是一個(gè)易于使用的在線工具,可用于訓(xùn)練和部署機(jī)器學(xué)習(xí)模型以進(jìn)行快速原型制作。我要感謝 Nordic Semiconductor 為我提供了本次比賽的免費(fèi)硬件,并迫使我提高了我生疏的 C/C++ 技能。


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評(píng)論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
  2. 1.06 MB  |  532次下載  |  免費(fèi)
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費(fèi)
  5. 3TC358743XBG評(píng)估板參考手冊(cè)
  6. 1.36 MB  |  330次下載  |  免費(fèi)
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費(fèi)
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費(fèi)
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費(fèi)
  13. 7元宇宙底層硬件系列報(bào)告
  14. 13.42 MB  |  182次下載  |  免費(fèi)
  15. 8FP5207XR-G1中文應(yīng)用手冊(cè)
  16. 1.09 MB  |  178次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費(fèi)
  3. 2555集成電路應(yīng)用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費(fèi)
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費(fèi)
  7. 4開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
  8. 未知  |  21549次下載  |  免費(fèi)
  9. 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費(fèi)
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費(fèi)
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費(fèi)
  15. 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德?tīng)栔?/a>
  16. 0.00 MB  |  6656次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191187次下載  |  免費(fèi)
  13. 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138040次下載  |  免費(fèi)