www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > 工業(yè)控制 > 電路設(shè)計(jì)項(xiàng)目集錦
[導(dǎo)讀]本文檔概述了將RAK12039傳感器(基于盛思rion的SCD30傳感器,專門(mén)用于測(cè)量CO?、溫度和濕度)集成到基于WisBlock技術(shù)和LoRaWAN的現(xiàn)有物聯(lián)網(wǎng)系統(tǒng)中的完整過(guò)程。這種集成通過(guò)提供有關(guān)空氣質(zhì)量和二氧化碳平衡的關(guān)鍵信息擴(kuò)展了系統(tǒng)的功能,這對(duì)水培栽培的環(huán)境控制至關(guān)重要。

介紹

本文檔概述了將RAK12039傳感器(基于盛思rion的SCD30傳感器,專門(mén)用于測(cè)量CO?、溫度和濕度)集成到基于WisBlock技術(shù)和LoRaWAN的現(xiàn)有物聯(lián)網(wǎng)系統(tǒng)中的完整過(guò)程。這種集成通過(guò)提供有關(guān)空氣質(zhì)量和二氧化碳平衡的關(guān)鍵信息擴(kuò)展了系統(tǒng)的功能,這對(duì)水培栽培的環(huán)境控制至關(guān)重要。

組件使用

?RAK12039:用于二氧化碳,溫度和濕度的環(huán)境傳感器(基于SCD30)。

?RAK1906:環(huán)境傳感器(溫度,相對(duì)濕度,大氣壓力和室內(nèi)空氣質(zhì)量)。

?RAK11300:中央WisBlock模塊與RP2040微控制器和LoRa連接。

?RAK19007-O: WisBlock基板,允許傳感器和模塊的模塊化連接。

?TTN平臺(tái):用于數(shù)據(jù)管理和可視化的公共LoRaWAN網(wǎng)絡(luò)。

傳感器組裝與連接

?連接RAK12039:

?將RAK12039模塊插入其中一個(gè)可用的I2C端口(如果槽位A已被占用,最好插入槽位B)。

?使用隨附螺釘固定傳感器。

?連接RAK1906:

?將RAK1906插入另一個(gè)可用的I2C端口(如果有槽位A)。

?兩個(gè)傳感器都可以共享I2C總線而沒(méi)有沖突,因?yàn)樗鼈兊牡刂凡煌?RAK12039的0x61和RAK1906的0x76)。

?驗(yàn)證:

?系統(tǒng)上電時(shí),請(qǐng)確保RAK11300指示燈閃爍。

?在IDE中打開(kāi)串行監(jiān)視器以驗(yàn)證兩個(gè)傳感器是否被正確識(shí)別。

Arduino IDE設(shè)置

?先決條件:

?安裝Arduino IDE。

?添加RAKWireless包URL

?安裝以下庫(kù):

?Adafruit BME680

?SparkFun SCD30 Arduino庫(kù)

?WisBlock-API

?LoRaWan-RAK11300

?單板和端口配置:

?選擇WisBlock RAK11300單板。

?通過(guò)USB Type-C連接節(jié)點(diǎn),并選擇正確的端口。

結(jié)論

將RAK12039傳感器集成到系統(tǒng)中,可以實(shí)時(shí)監(jiān)測(cè)二氧化碳水平,補(bǔ)充RAK1906提供的環(huán)境數(shù)據(jù)。這種整合對(duì)于改善水培栽培系統(tǒng)的環(huán)境控制、優(yōu)化光合作用和通風(fēng)以及與可持續(xù)發(fā)展目標(biāo)(可持續(xù)發(fā)展目標(biāo)2、7、9和13)保持一致至關(guān)重要。由此產(chǎn)生的系統(tǒng)是可擴(kuò)展的,準(zhǔn)確的,能源自給自足-理想的教育,農(nóng)業(yè),或?qū)嶒?yàn)設(shè)置。

代碼

#include

#include

#include

// I2C address for BME680

Adafruit_BME680 bme; // Uses default I2C address 0x76

// RAK12039 Touch sensor on IO1

#define TOUCH_SENSOR_PIN WB_IO1

void setup() {

Serial.begin(115200);

while (!Serial);

pinMode(TOUCH_SENSOR_PIN, INPUT);

Serial.println("Initializing RAK1906 (BME680)...");

if (!bme.begin()) {

Serial.println("Could not find a valid BME680 sensor, check wiring!");

while (1);

}

// Configure BME680 oversampling and filter settings

bme.setTemperatureOversampling(BME680_OS_8X);

bme.setHumidityOversampling(BME680_OS_2X);

bme.setPressureOversampling(BME680_OS_4X);

bme.setIIRFilterSize(BME680_FILTER_SIZE_3);

bme.setGasHeater(320, 150); // 320*C for 150 ms

}

void loop() {

// Read touch sensor

int touchValue = digitalRead(TOUCH_SENSOR_PIN);

Serial.print("Touch Sensor State: ");

Serial.println(touchValue == HIGH ? "TOUCHED" : "NOT TOUCHED");

// Trigger BME680 reading

if (!bme.performReading()) {

Serial.println("Failed to perform reading from BME680");

return;

}

Serial.print("Temperature = ");

Serial.print(bme.temperature);

Serial.println(" *C");

Serial.print("Humidity = ");

Serial.print(bme.humidity);

Serial.println(" %");

Serial.print("Pressure = ");

Serial.print(bme.pressure / 100.0);

Serial.println(" hPa");

Serial.print("Gas Resistance = ");

Serial.print(bme.gas_resistance / 1000.0);

Serial.println(" KOhms");

Serial.println("---------------------------");

delay(2000); // Delay between readings

}

本文編譯自hackster.io

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀
關(guān)閉