資料介紹
描述
背景
有時(shí),了解您周圍的氣候和天氣狀況可能會(huì)很好。也許您急于趕往某個(gè)地方并想知道外面的溫度。或者,您可能擔(dān)心濕度會(huì)導(dǎo)致空氣質(zhì)量變差,并想知道您是否還應(yīng)該參加那次跑步。不管出于什么目的,人們都想知道這些數(shù)據(jù)。個(gè)人空氣監(jiān)測儀旨在將其帶給他們。
個(gè)人空氣監(jiān)測儀
個(gè)人空氣監(jiān)測器是一種將實(shí)時(shí)本地傳感器數(shù)據(jù)直接發(fā)送到手機(jī)或筆記本電腦的便捷方式。Personal Air Monitor 方便地位于便攜式、封閉的傳感器站內(nèi),提供了一種基于直接傳感器測量即時(shí)了解您周圍的天氣和空氣狀況的方法。使用 Cayenne 的簡單連接提供了一個(gè)易于閱讀的儀表板界面,用于查看不同的條件,并且可以每小時(shí)配置一次事件以報(bào)告條件。
SparkFun Thing Dev ESP8266 微控制器
驅(qū)動(dòng)傳感器站的電路板是 SparkFun Thing ESP8266 開發(fā)板,它可以方便地將 ESP8266 的引腳分成幾行,引向電路板。ESP8266 是一款具有板載無線連接功能的微控制器,Cayenne 將其用于數(shù)據(jù)傳輸。
Cayenne、傳感器和數(shù)據(jù)傳輸
傳感器站有幾個(gè)機(jī)載傳感器來測量周圍的世界。這些包括:
- 溫度
- 濕度
- 氣壓/高度
傳感器站的外殼在頂部和底部進(jìn)行了防水處理,但外殼內(nèi)襯有通風(fēng)孔,因此內(nèi)部的傳感器可以獲得準(zhǔn)確的讀數(shù)。然而,外殼頂部比底部大,因此雨水不會(huì)進(jìn)入通風(fēng)的側(cè)面。
每隔五秒鐘,來自設(shè)備傳感器的數(shù)據(jù)就會(huì)通過 WiFi 傳輸?shù)?Cayenne,并在 Cayenne 儀表板上顯示。您可以通過手機(jī)或計(jì)算機(jī)訪問它。
如何建造
您將需要以下組件來構(gòu)建傳感器站:
- SparkFun ESP8266 事物開發(fā)板
- 400 帶電源導(dǎo)軌的面包板
- DHT22溫濕度傳感器
- BMP180 大氣壓力傳感器*
- 10k 歐姆電阻(DHT22 的上拉電阻)
- 23根不同尺寸的跳線(或多或少);參見 Fritzing 圖
- 公 USB Micro B 到公 USB A 電纜
- 電工膠帶和剪刀
- 塑料通風(fēng)外殼
*:BMP180 是退役產(chǎn)品。您可能會(huì)在某些地方找到一些,但如果您想找到替代品,請尋找 BMP280。但是,這些庫略有不同,因此您需要將代碼中的所有 BMP180 函數(shù)替換為 BMP280 函數(shù)。
要構(gòu)建傳感器站,首先根據(jù)以下 Fritzing 圖組裝電路。
要連接 SparkFun Thing Dev,請取一根小的實(shí)芯跳線,將其拉直,將其滑過您要使用的引腳,然后將頂部向下彎曲到電路板的一側(cè)。您也可以為 BMP180 執(zhí)行此操作。如果您愿意,可以將這些引腳焊接下來。
構(gòu)建電路后,請執(zhí)行以下步驟:
1. 將 USB Micro 電纜插入 SparkFun Thing Dev。它應(yīng)該是一個(gè)相當(dāng)靈活的電纜。
2. 使用電工膠帶將 SparkFun Thing Dev 和 BMP180 固定到面包板上。這將使他們稍微更穩(wěn)定并防止不穩(wěn)定的跳投運(yùn)動(dòng)。
3. 將裝置插入工藝盒并用電工膠帶固定。在側(cè)面切一個(gè)小孔,這樣您就可以接觸到電源開關(guān)。將 USB 數(shù)據(jù)線的一端穿過可用的通風(fēng)孔,或切開通風(fēng)孔的頂部之一并將電纜滑入。
4. 用透明膠帶密封工藝盒的頂部。
5. 將它插入您的筆記本電腦,您就可以開始編程了!
編碼
為了對傳感器站進(jìn)行編程,我們使用 Arduino IDE,您可以在 arduino.cc找到它
下載適用于您的操作系統(tǒng)的最新版本。
為了使用傳感器站程序?qū)?SparkFun Thing Dev 進(jìn)行編程,您需要執(zhí)行以下額外操作:
1. 打開 File-Preferences 并轉(zhuǎn)到顯示 Additional Boards Manager URLs 的框。
2. 在框中輸入以下內(nèi)容,然后點(diǎn)擊首選項(xiàng)頁面底部的確定:
https://raw.githubusercontent.com/sparkfun/Arduino_Boards/master/IDE_Board_Manager/package_sparkfun_index.json
這將允許您在 Boards Manager 中上傳 SparkFun ESP8266 包。
3.關(guān)閉首選項(xiàng)并打開工具-Boards-Boards Manager。向下滾動(dòng),直到找到 SparkFun ESP8266 Boards。單擊它,然后單擊“安裝”。等待安裝完成,關(guān)閉boards manager。
4. 打開 Tools-Board 并向下滾動(dòng),直到您看到 SparkFun ESP8266 Thing Dev。單擊它,然后返回到工具。當(dāng)您插入開發(fā)板時(shí),您應(yīng)該能夠打開端口并找到顯示 COM # 的內(nèi)容,其中 # 是設(shè)備連接到的端口。
5. 現(xiàn)在您需要獲取額外的庫。轉(zhuǎn)到 Sketch-Include Library-Manage Libraries 并搜索以下內(nèi)容:
- Adafruit 統(tǒng)一傳感器
- Adafruit BMP085 統(tǒng)一
- 卡宴-MQTT-ESP8266
單擊每個(gè)的安裝按鈕以獲取庫。
您需要在線查找 DHT 庫。從此鏈接下載:
https://github.com/adafruit/DHT-sensor-library
然后解壓縮文件(某些操作系統(tǒng)會(huì)自動(dòng)執(zhí)行此操作)并將其復(fù)制到 Arduino IDE 的庫路徑中。這應(yīng)該在您計(jì)算機(jī)中包含所有代碼的文件夾中(路徑將在文檔-Arduino 中)。如果它不存在,請?jiān)?Arduino 文件夾中創(chuàng)建一個(gè)名為 libraries 的文件夾,然后打開它并將 DHT 庫粘貼到其中。完成后,您就可以開始了!
讓我們看看我們將要上傳的內(nèi)容。首先,我們包括傳感器庫:
#include <Adafruit_Sensor.h>
#include <DHT.h>
#include <DHT_U.h>
DHT_Unified dht(12, DHT22);
#include <Wire.h>
#include <Adafruit_BMP085_U.h>
Adafruit_BMP085_Unified BMP180 = Adafruit_BMP085_Unified(18001);
是 DHT22 和 BMP180 傳感器使用的庫。它提供了所有庫的一些通用功能。
和 是用于 DHT22 溫度和濕度傳感器的庫。DHT22 有四個(gè)引腳,電源、數(shù)據(jù)、N/C 和接地。只有一根線用于通信,這條線發(fā)送溫度和濕度數(shù)據(jù)。Adafruit 庫提供了一種方便的方式來讀取這些數(shù)據(jù)。
我們創(chuàng)建一個(gè)名為 dht 的對象并將其設(shè)置為引腳 12,定義為 DHT22 單元。
和 是 BMP180 的庫。 是用于內(nèi)部 IC 通信或 I2C 的庫,它是一種雙線控制接口,允許多個(gè)設(shè)備連接到一個(gè)主機(jī)。在這種情況下,我們使用 BMP180。 與舊版 BMP085 和 BMP180 兼容。它處理用戶和 Wire 庫之間的命令,Wire 庫又將命令發(fā)送到 BMP180。
我們創(chuàng)建一個(gè)名為 BMP180 的對象并為其指定一個(gè)任意 ID 號(hào)。如果您愿意,可以更改此設(shè)置。
接下來,讓我們看看 Cayenne 的設(shè)置。
#include <CayenneMQTTESP8266.h>
char ssid[] = "SSID";
char wifiPassword[] = "password";
char username[] = "username";
char password[] = "password";
char clientID[] = "clientID";
是處理 SparkFun Thing Dev 和 Cayenne 之間通信的庫。它使用 MQTT(消息隊(duì)列遙測傳輸)發(fā)送和接收數(shù)據(jù)。由于它使用 MQTT,因此需要一些標(biāo)識(shí)信息:
- ssid[] 是您的網(wǎng)絡(luò) ssid,或您的網(wǎng)絡(luò)名稱。輸入這個(gè)而不是“SSID”。
- wifiPassword[] 您的網(wǎng)絡(luò)密碼。用它替換“密碼”。
- username[]、password[] 和 clientID[] 都是 Cayenne 信息,稍后您將在本項(xiàng)目中學(xué)習(xí)如何查找這些信息。獲得此信息后,將“用戶名”、“密碼”和“clientID”替換為實(shí)際信息。
記得在信息周圍留下引號(hào)!
定義這些東西后,我們可以繼續(xù)設(shè)置傳感器站。該函數(shù)將運(yùn)行一次。
void setup() {
BMP180.begin();
dht.begin();
Cayenne.begin(username, password, clientID, ssid, wifiPassword);
}
這將使用 begin() 函數(shù)啟動(dòng) BMP180、DHT22 和 Cayenne。Cayenne 開始使用您之前聲明的 ID。
一旦設(shè)置運(yùn)行一次,我們就會(huì)進(jìn)入無限循環(huán)。在開始循環(huán)之前,我們聲明了一些變量。
boolean humidityStatus;
boolean temperatureStatus;
float humidityValue;
float temperatureValue;
float bmpTempValue;
float pressureValue;
float altitudeValue;
boolean bmpStatus;
float temperature;
這些變量用于在循環(huán)中進(jìn)行計(jì)算和保存數(shù)據(jù)。
- humidityStatus、temperatureStatus 和 bmpStatus 是布爾變量。布爾變量返回 true 或 false。在這種情況下,它們將用于讓代碼知道傳感器是否已返回?cái)?shù)據(jù),或者是否可用于檢查。
- humidityValue、temperatureValue、bmpTempValue、pressureValue、altitudeValue 和 temperature 都是浮點(diǎn)變量。這些是浮點(diǎn)整數(shù),在 Arduino 中返回兩位小數(shù)。它們將用于保存實(shí)際傳感器值,并對溫度變量進(jìn)行計(jì)算。
現(xiàn)在我們進(jìn)入循環(huán)!我們通過調(diào)用 Cayenne.loop() 來處理 Cayenne 操作來啟動(dòng)循環(huán)。
void loop() {
Cayenne.loop();
然后我們?yōu)?BMP180 創(chuàng)建一個(gè)傳感器事件,以便我們可以檢查數(shù)據(jù)是否可用。
sensors_event_t event;
BMP180.getEvent(&event);
if (event.pressure)
{
bmpStatus = true;
pressureValue = event.pressure;
BMP180.getTemperature(&temperature);
float seaLevelPressure = 1013;
altitudeValue = BMP180.pressureToAltitude(seaLevelPressure, event.pressure);
}
else
{
bmpStatus = false;
}
然后,此代碼塊使用 if 語句來確認(rèn)數(shù)據(jù)可用。如果是,則狀態(tài)設(shè)置為真并存儲(chǔ)值。在這種情況下,這些值是壓力、溫度和高度。請注意,為了計(jì)算高度,BMP180 必須進(jìn)行一些涉及當(dāng)前壓力和海平面壓力的數(shù)學(xué)運(yùn)算。seaLevelPressure 值是您可以輸入的地方。平均海平面壓力為 101.3 kPa(代碼為 1013 hPa),但如果您有當(dāng)?shù)睾F矫鎵毫Γㄔ诰€查找!),請繼續(xù)輸入以獲得更高的準(zhǔn)確性。
如果沒有數(shù)據(jù),或者傳感器可能不可用,則狀態(tài)變量為假。
得到BMP180數(shù)據(jù)后,我們得到DHT22數(shù)據(jù)。DHT22 返回溫度(攝氏度)和濕度(百分比)。
sensors_event_t event1;
dht.temperature().getEvent(&event1);
if (isnan(event1.temperature)) {
temperatureStatus = false;
}
else {
temperatureStatus = true;
temperatureValue = event1.temperature;
}
dht.humidity().getEvent(&event1);
if (isnan(event1.relative_humidity)) {
humidityStatus = false;
}
else {
humidityStatus = true;
humidityValue = event1.relative_humidity;
}
這里我們有一個(gè)傳感器事件用于獲取溫度和濕度事件。isnan() 是一個(gè)數(shù)學(xué)函數(shù),用于檢查返回的數(shù)據(jù)是否為數(shù)字。如果它是一個(gè)數(shù)字,狀態(tài)將被設(shè)置為真并記錄數(shù)據(jù)。否則,status 將被設(shè)置為 false。
現(xiàn)在我們有了數(shù)據(jù),可以將它發(fā)送給 Cayenne。首先,我們將發(fā)送濕度。
if (humidityStatus == true)
{
Cayenne.virtualWrite(0, humidityValue);
}
這只會(huì)在濕度狀態(tài)變量設(shè)置為真時(shí)運(yùn)行。函數(shù) Cayenne.virtualWrite() 是一個(gè)可用于將數(shù)據(jù)上傳到 Cayenne 的函數(shù)。第一個(gè)變量 0 是要使用的通道號(hào)。它將顯示在 Cayenne 儀表板中,我們將在稍后介紹。第二個(gè)變量是您要上傳的數(shù)據(jù)。在這種情況下,它的濕度值被發(fā)送到 Cayenne。
其次,讓我們發(fā)送溫度。由于我們有兩個(gè)板載傳感器,我們可以在這里做一些數(shù)學(xué)運(yùn)算。
if (temperatureStatus == true)
{
if (bmpStatus == true)
{
float averageTemp = (temperature + temperatureValue) / 2;
Cayenne.virtualWrite(1, averageTemp);
}
else
{
Cayenne.virtualWrite(1, temperatureValue);
}
}
else if (bmpStatus == true)
{
Cayenne.virtualWrite(1, temperature);
}
首先,我們檢查 DHT22 的溫度是否可用。如果是,我們將進(jìn)行第二次檢查以查看 BMP180 溫度數(shù)據(jù)是否可用。如果事實(shí)證明來自兩個(gè)傳感器的數(shù)據(jù)都可用,我們通過將它們的值相加并除以一半來取兩者的平均值。但是,如果 BMP180 數(shù)據(jù)不可用,我們就使用 DHT22 數(shù)據(jù)。但是,如果 DHT22 數(shù)據(jù)不可用而 BMP180 數(shù)據(jù)可用,我們將使用它發(fā)送給 Cayenne。通道 1 用于溫度。
之后,我們發(fā)送最后兩個(gè)數(shù)據(jù)值,即壓力和高度。
if (bmpStatus == true)
{
Cayenne.virtualWrite(2, pressureValue);
Cayenne.virtualWrite(3, altitudeValue);
}
壓力采用通道 2,高度采用通道 3。
最后,我們以 5 秒的延遲結(jié)束循環(huán)。這樣做是為了在數(shù)據(jù)上傳到 Cayenne 之間留出一些時(shí)間,因?yàn)榭焖俑聲?huì)導(dǎo)致刷新問題并跳過數(shù)據(jù)值。DHT22 在傳感器檢查之間也需要至少 2 秒才能接收到所有數(shù)據(jù)。
delay(5000);
}
卡宴儀表板
現(xiàn)在您已準(zhǔn)備好為傳感器站配置 Cayenne。我們使用計(jì)算機(jī)進(jìn)行設(shè)置,以簡化配置過程。首先,前往網(wǎng)站https://mydevices.com/并登錄您的帳戶(如果有的話)。如果您不這樣做,請單擊注冊并使用您的姓名、電子郵件和帳戶密碼創(chuàng)建一個(gè)帳戶。如果您有帳戶,請單擊登錄并登錄到您的帳戶。之后,您應(yīng)該能夠獲得選擇設(shè)備頁面。要找到 SparkFun Thing Dev,請?jiān)凇八性O(shè)備”下搜索。然后您應(yīng)該能夠找到用戶名、密碼和客戶端 ID。這些是您完成代碼所需的最后幾條信息。復(fù)制這些并將它們粘貼到代碼中的用戶名、密碼和 clientID 的位置。現(xiàn)在您可以將代碼上傳到 SparkFun Thing Dev。這應(yīng)該只需要一點(diǎn)時(shí)間。
在上傳過程中,SparkFun Thing Dev 上的兩個(gè)橙色 LED 應(yīng)該快速閃爍。一旦它們停止,打開您完成配置的 Cayenne 儀表板。然后您應(yīng)該看到屏幕上出現(xiàn)一個(gè)儀表板,上面有四個(gè)數(shù)字。這是個(gè)人空氣監(jiān)測儀!
現(xiàn)在您已經(jīng)設(shè)置了 Personal Air Monitor,您可以為其創(chuàng)建一些觸發(fā)器。單擊“添加新觸發(fā)器”,您將被定向到一個(gè)頁面,您可以在其中為您的看板設(shè)置觸發(fā)器。給它起個(gè)名字,然后將 SparkFun Thing Dev 拖到 if 框中。然后選擇您的 if 語句。這可能是傳感器的簡單閾值,甚至是正在打開或關(guān)閉的設(shè)備。之后,點(diǎn)擊設(shè)置通知,如果需要電子郵件,請選中發(fā)送電子郵件框,如果需要短信,請發(fā)送短信。點(diǎn)擊“添加自定義收件人”將您的消息定向到另一個(gè)電子郵件帳戶或電話號(hào)碼。完成后,點(diǎn)擊保存以創(chuàng)建觸發(fā)器。
如果您想與周圍的其他人分享您的實(shí)時(shí)數(shù)據(jù),您可以給他們一個(gè)指向您儀表板的鏈接。首先,單擊創(chuàng)建項(xiàng)目并為其命名。然后,將 SparkFun Thing Dev 拖到概覽中并將其選中。數(shù)據(jù)隨后應(yīng)出現(xiàn)在您的項(xiàng)目概覽中。出現(xiàn)后,轉(zhuǎn)到“共享”并選中“概述”。復(fù)制給定的鏈接并將其發(fā)送給您的朋友,他們可以單擊它來訪問您的數(shù)據(jù)。
如果您想查看我的數(shù)據(jù)(如果它恰好在線),
您還可以在旅途中通過移動(dòng)設(shè)備訪問 Cayenne。為此,請?jiān)谀囊苿?dòng)設(shè)備應(yīng)用程序商店中查找 Cayenne 應(yīng)用程序。下載應(yīng)用程序(免費(fèi)!)并打開它。單擊添加新設(shè)備并查找 SparkFun Thing Dev。然后您應(yīng)該能夠訪問您的儀表板!
結(jié)論和實(shí)際應(yīng)用
將 Cayenne 用于個(gè)人空氣監(jiān)測器的便利之處在于傳感器數(shù)據(jù)在全球范圍內(nèi)在線。這意味著它可以在世界任何地方訪問和共享!所以,如果你正在外地度假,想提前知道回家時(shí)的空氣狀況,就可以打開Cayenne一探究竟!反之亦然,因?yàn)槟鷮?shí)際上可以在任何地方將多個(gè)傳感器站連接到您的 Cayenne 帳戶,或多個(gè) Cayenne 帳戶!這將允許您創(chuàng)建一個(gè)全球監(jiān)視器網(wǎng)絡(luò),每組監(jiān)視器負(fù)責(zé)一個(gè)特定區(qū)域。該網(wǎng)絡(luò)將能夠簡化互聯(lián)世界,并提供一種快速、簡單和方便的方式,讓您觸手可及地獲取直接的天氣和空氣數(shù)據(jù)。
?
?
- 光子空氣顆粒物監(jiān)測儀
- 開源硬件-警燈
- MM7D空氣質(zhì)量測量儀開源硬件
- Ubidots信號(hào)記錄儀開源硬件
- Aerisilla空氣質(zhì)量監(jiān)測儀
- 油位監(jiān)測開源硬件
- 氦水質(zhì)監(jiān)測儀開源分享
- 便攜式生命參數(shù)監(jiān)測儀開源分享
- 木箱空氣質(zhì)量監(jiān)測儀開源分享
- 帶有24小時(shí)圖表的空氣監(jiān)測儀
- 基于魚類行為的水質(zhì)生物毒性監(jiān)測儀 14次下載
- HYAQI-8100A微型空氣監(jiān)測儀的數(shù)據(jù)手冊免費(fèi)下載 3次下載
- 主流的開源硬件有哪些詳細(xì)資料說明
- 導(dǎo)彈發(fā)控監(jiān)測儀設(shè)計(jì)與實(shí)現(xiàn) 0次下載
- 電源信號(hào)監(jiān)測儀的設(shè)計(jì) 36次下載
- GNSS監(jiān)測儀有哪些作用 114次閱讀
- 用小安派開源硬件制作一個(gè)桌面天氣站 809次閱讀
- 尋找開源硬件成功的觸發(fā)器 636次閱讀
- DIY一個(gè)開源的空氣質(zhì)量監(jiān)測儀 3816次閱讀
- 基于16位單片機(jī)SPCE061的監(jiān)測儀設(shè)計(jì) 1763次閱讀
- 基于SPCE061A單片機(jī)和溫度傳感器實(shí)現(xiàn)多功能生理參數(shù)監(jiān)測儀的設(shè)計(jì) 2119次閱讀
- 采用TI電量計(jì)實(shí)現(xiàn)動(dòng)態(tài)血糖監(jiān)測儀超長運(yùn)作 3747次閱讀
- dfrobot空氣質(zhì)量傳感器簡介 1148次閱讀
- 源創(chuàng)通信BPI-M1+ 開源硬件開發(fā)板介紹 2648次閱讀
- 更小、更精確的血糖監(jiān)測儀 1288次閱讀
- 生態(tài)景區(qū)BRL-FY負(fù)氧離子監(jiān)測系統(tǒng)設(shè)計(jì)介紹 664次閱讀
- 健身房運(yùn)動(dòng)場館及智慧酒店賓館空氣監(jiān)測系統(tǒng)介紹 1173次閱讀
- BYQL-LCD200智能空氣環(huán)境監(jiān)測儀及室內(nèi)環(huán)境在線監(jiān)測系統(tǒng)介紹 4028次閱讀
- 三大主流開源硬件對比:Arduino vs BeagleBone vs Raspberry Pi 6363次閱讀
- 開源硬件究竟有多“Open”?看完這個(gè)你就清楚了 6939次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來的未來-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評論
查看更多