色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

超聲波氣象站搭建指南

涂鴉開發者 ? 2022-03-24 15:35 ? 次閱讀

本文將展示如何基于涂鴉智能平臺搭建一個屬于自己的超聲波氣象站!

超聲波氣象站的測量維度包括:

- 溫度測量(DHT22)

- 濕度測量(DHT22)

- 氣壓測量(BMP180)

- 風向、風速測量(防水超聲波測距模組)

- 紫外線等級測量(CJMCU-GUVA-S12SD

- PM2.5測量(GP2Y1014AU)

也就是六個維度的氣象信息的測量!

氣象站采用ESP32作為主控,使用Arduino平臺進行開發,開發IDE為Visual Studio Code + Platform IO

物聯網通訊方面使用涂鴉WBR3模組,使用低代碼MCU開發形式。控制界面(APP)使用涂鴉的客制化面板。

Q1: 什么是超聲波氣象站?

A1: 超聲波氣象站是利用超聲波模組對聲速進行測量的一種氣象站。由于風速會引起聲速的變化:超聲波順風傳播時,聲速會加快;逆風時風速將減慢;通過測量一組正交的聲速矢量,進行合成分析后可以分析出當前的風速、風向信息。

Q2: 超聲波氣象站有什么優點?

A2: 傳統的氣象站對于風向和風速的測量通常使用風向儀和風速儀,這兩種儀器都具有轉動的機械結構,體積龐大、壽命較短。使用超聲波對風速、風向測量可以壓縮氣象站體積、提高氣象站壽命。

Q3: 為什么選擇涂鴉平臺?

A3: 涂鴉平臺的開發比較省事。在MCU低代碼開發的方式中,可以通過網頁實現對APP的設計,而且一些常用的組件也非常精美。

系統框架

pYYBAGI64muATjkRAACsyoicgyM570.png

如何利用超聲波對風速進行測量

pYYBAGI65leAI2McAAAv5gPCUhk344.png

超聲波探頭布置如圖所示,兩組探頭互相垂直分布。

- 此時若A組探頭間距離S已知,聲速C已知,且此時風速為0。則此時超聲波的行進速度T為聲速,可算出無風時超聲波從發射探頭移動到接收探頭的時間T1=S/C。

- 若此時存在風向為發射探頭指向接收探頭,風速為1m/s的風,則超聲波行進速度變為C+1m/s,同樣可以算出該情況下超聲波從發射探頭移動到接收探頭的時間T2=S/(C+1)。

在距離已知、聲速已知的情況下,通過獲取超聲波模塊返回的超聲波行進時間T2,可以推算出A組探頭方向的風速V1=(S / T2) - (S / T1)。同理可推算出B組探頭方向的風速V2

由于A、B組探頭垂直分布,故當存在任意方向、任意大小的風時,可通過矢量合成的方法計算出風速和風向。

模塊及驅動

DHT22

DHT22使用DHT-Sensor-Library進行驅動,詳細方法參考GitHub頁面,使用該庫需要依賴Adafruit Unified Sensor Driver庫。

DHT dht(DHT_PIN, DHT_TYPE);
float h = dht.readHumidity();
float t = dht.readTemperature();
    if(isnan(h) || isnan(t)){
        Serial.println("Failed to read from DHT sensor.");
        return;
}

此處h獲取值為濕度,t獲取值為溫度。

BMP180

BMP180使用Adafruit BMP085 Library驅動,同上,需要依賴Adafruit BrushIO庫。

Adafruit_BMP085 bmp;
air_pressure = bmp.readPressure()

超聲波模組

// Clears the trigPin condition
digitalWrite(TRIG_1, LOW);
delayMicroseconds(2);
// Sets the trigPin HIGH (ACTIVE) for 10 microseconds
digitalWrite(TRIG_1, HIGH);
delayMicroseconds(20);
digitalWrite(TRIG_1, LOW);
// Reads the echoPin, returns the sound wave travel time in microseconds
duration = pulseIn(ECHO_1, HIGH);

超聲波模組使用脈沖測量獲取反射時間,代碼如上。后續通過布置探頭位置,分析兩組超聲波模組的反射時間可獲得風速、風向信息。

CJMCU-GUVA-S12SD紫外線模組

該紫外線模組輸出為電壓模擬量,analogRead()函數可以實現紫外線等級的測量。

GP2Y1014AU PM2.5模組

digitalWrite(DUST_IN, LOW);
delayMicroseconds(SAMPLING_TIME);
int voMeasured = analogRead(DUST_OUT);
?
delayMicroseconds(DELTA_TIME);
digitalWrite(DUST_IN, HIGH);

通過給模組的LED驅動腳施加脈沖,測量輸出腳電壓,可以實現對pm2.5的濃度測量。

涂鴉智能接入

這次的開發方式為MCU低代碼開發,即是利用涂鴉模組進行開發。涂鴉模組負責物聯網信息處理,MCU僅需要通過串口控制涂鴉模組進行物聯網信息的通訊。

創建產品

在進行涂鴉智能的開發時,需要進行產品創建。作為氣象站開發,可以選擇溫濕度傳感器

poYBAGI66NiAOxDCAAFjRNS76ZY668.png

DP點創建

在涂鴉智能中,每個氣象數據維度可以被抽象為DP(功能點)。在選擇了溫濕度傳感器這個產品后,涂鴉提供了常用的功能點:

DP ID

功能點名稱

標識符

數據傳輸類型

數據類型

功能點屬性

1

溫度

temp_current

只上報(ro)

數值型(Value)

數值范圍: -200-600, 間距: 1, 倍數: 1, 單位: ℃

2

濕度

humidity_value

只上報(ro)

數值型(Value)

數值范圍: 0-100, 間距: 1, 倍數: 0, 單位: %

4

電池電量

battery_percentage

只上報(ro)

數值型(Value)

數值范圍: 0-100, 間距: 1, 倍數: 0, 單位: %

除了這些標準功能中的DP點之外,因為我們還需要風速、風向這些數據,所以還需要添加自定義的DP點:


DP ID

功能點名稱

標識符

數據傳輸類型

數據類型

功能點屬性

101

PM2.5濃度

pm25

只上報(ro)

數值型(Value)

數值范圍: 0-100, 間距: 1, 倍數: 0, 單位:

102

風向角

wind_value

只上報(ro)

數值型(Value)

數值范圍: 0-364, 間距: 1, 倍數: 1, 單位:

103

風向

wind_direction

只上報(ro)

字符型(String)

104

風速

wind_speed

只上報(ro)

數值型(Value)

數值范圍: 0-100, 間距: 1, 倍數: 1, 單位:

105

紫外線等級

uv_level

只上報(ro)

數值型(Value)

數值范圍: 0-10, 間距: 1, 倍數: 0, 單位:

106

氣壓

pressure

只上報(ro)

數值型(Value)

數值范圍: 0-1999, 間距: 1, 倍數: 0, 單位: hPa

在功能點中,DP ID為該功能點的標識,MCU在控制涂鴉模組進行數據上傳時需要用到。

功能點屬性中的倍數為0時,MCU上傳的數據被識別為上傳的數據本身。若倍數為1,則此時若上傳數據為50時,該數據將被涂鴉除以10^1,即50會被識別為5。

面板編輯

在產品開發的面板選項卡,可以對自己的APP面板進行自定義。

我使用的面板類型為:面板類型:Studio 面板-個人面板

下面是在手機中的實機效果:

pYYBAGI66keAPHipAADI4FfNr00178.pngpYYBAGI66lyAPlh0AADLiHukTLk106.png

硬件開發

在完成了傳感器驅動、電源板管理后,需要與涂鴉模組進行通訊,實現信息上報。

在這里我選擇的是WBR3 Wi-Fi & Bluetooth 模組。

該模組在初次上電時,可以打開智能生活APP實現配網和面板加載,在完成了配網之后就可以進行實時開發了。

// define dp
#define temp_pid   1
#define humi_pid   2
#define battery_pid 4
#define pm25_pid     101
#define wind_angle_pid  102
#define wind_direct_pid 103
#define wind_speed_pid  104
#define uv_level_pid   105
#define pressure_pid   106
?
// Create TuyaWifi object
TuyaWifi my_device;
?
// input your device pid here
unsigned char pid[] = {""};
// select mcu version, 1.0.0 as commonly use
unsigned char mcu_ver[] = {"1.0.0"};
?
// create an array to restore the datapoint 
unsigned char dp_array[][2] = 
{
  {temp_pid, DP_TYPE_VALUE},
  {humi_pid, DP_TYPE_VALUE},
  {battery_pid, DP_TYPE_VALUE},
  {pm25_pid, DP_TYPE_VALUE},
  {wind_angle_pid, DP_TYPE_VALUE},
  {wind_direct_pid, DP_TYPE_STRING},
  {wind_speed_pid, DP_TYPE_VALUE},
  {uv_level_pid, DP_TYPE_VALUE},
  {pressure_pid, DP_TYPE_VALUE},
};
?
unsigned char dp_process(unsigned char dpid,const unsigned char value[], unsigned short length)
{
 /* all DP only report */
 return TY_SUCCESS;
}
?
void dp_update_all(void)
{
 
}
?
void setup(){
   ...
  my_device.init(pid, mcu_ver);
    my_device.set_dp_cmd_total(dp_array, 9);
  // register call back function
    my_device.dp_process_func_register(dp_process);
    my_device.dp_update_all_func_register(dp_update_all);
}
?
void loop() {
  // SDK handle
  my_device.uart_service();
  // Check the wifi connection
    if ((my_device.mcu_get_wifi_work_state() == WIFI_CONNECTED) || (my_device.mcu_get_wifi_work_state() == WIFI_CONN_CLOUD)) {
  update_sensor();
    // report all the data
    my_device.mcu_dp_update(temp_pid, temp, 1);
    my_device.mcu_dp_update(humi_pid, humi, 1);
    my_device.mcu_dp_update(battery_pid, battery_level, 1);
    my_device.mcu_dp_update(pm25_pid, pm25, 1);
    my_device.mcu_dp_update(wind_angle_pid, wind_angle, 1);
    my_device.mcu_dp_update(wind_speed_pid, wind_speed, (sizeof(dp_string_value) / sizeof(dp_string_value[0])));
    my_device.mcu_dp_update(wind_speed_pid, wind_speed, 1);
    my_device.mcu_dp_update(uv_level_pid, uv_index, 1);
    my_device.mcu_dp_update(pressure_pid, air_pressure, 1);
  }
  ...

MCU工作流程

pYYBAGI66rqALe-AAAD-UBW7E-A480.png
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 物聯網
    +關注

    關注

    2912

    文章

    44912

    瀏覽量

    375886
  • 超聲波
    +關注

    關注

    63

    文章

    3039

    瀏覽量

    138577
  • 模組
    +關注

    關注

    6

    文章

    1515

    瀏覽量

    30537
  • 氣象站
    +關注

    關注

    1

    文章

    759

    瀏覽量

    15719
  • 涂鴉智能
    +關注

    關注

    7

    文章

    217

    瀏覽量

    19512
收藏 人收藏

    評論

    相關推薦

    自動超聲波氣象站:智慧氣象的重要組成部分

    自動超聲波氣象站是一款高度集成、低功耗、可快速安裝、便于野外監測使用的高精度自動氣象觀測設備。以下是對自動超聲波氣象站的詳細介紹: 一、概述
    的頭像 發表于 12-06 11:51 ?217次閱讀

    負氧離子氣象站

    氣象站
    pingao141378
    發布于 :2024年10月19日 08:52:28

    超聲波和次聲波的頻率范圍和應用

    超聲波和次聲波是兩種不同頻率的聲波,它們在許多領域都有廣泛的應用。以下是關于超聲波和次聲波的頻率范圍和應用的介紹:
    的頭像 發表于 09-19 16:42 ?3353次閱讀

    什么是超聲波一體氣象儀?

    超聲波一體式氣象儀是將多種氣象測量功能集成于一體且基于超聲波技術的儀器。它集超聲波風速風向測量功能于一身,同時可能還集成了溫度、濕度、氣壓等
    的頭像 發表于 09-18 10:52 ?273次閱讀
    什么是<b class='flag-5'>超聲波</b>一體<b class='flag-5'>氣象</b>儀?

    小型車載自動氣象站:提供全面、及時的氣象信息

    和記錄車輛周圍的氣象數據,配有超聲波多合一環境監測傳感器,集成度較高,可對風速、風向、空氣溫度、空氣濕度、噪聲、PM2.5、PM10、二氧化碳等氣象要素進行實時監測,為駕駛員提供即時的天氣狀況信息。此外,用戶可以依據監測環
    的頭像 發表于 09-12 16:52 ?315次閱讀

    超聲波測速的原理、方法及應用

    超聲波測速是一種利用超聲波在介質中的傳播速度來測量物體速度的技術。它廣泛應用于工業、醫療、交通等領域。 一、超聲波測速的原理 超聲波的定義 超聲波
    的頭像 發表于 08-16 10:36 ?4853次閱讀

    校園氣象站高校科普論文氣象站多功能氣象站

    校園氣象站高校科普論文氣象站多功能氣象站是一種集氣象監測、數據傳輸、數據處理、信息發布等功能于一體的數字化氣象設備。它可以通過各種傳感器實時
    的頭像 發表于 08-06 17:53 ?473次閱讀
    校園<b class='flag-5'>氣象站</b>高校科普論文<b class='flag-5'>氣象站</b>多功能<b class='flag-5'>氣象站</b>

    便攜式氣象站:未來氣象監測的便攜新選擇

    氣象站
    萬象環境科技
    發布于 :2024年06月23日 10:39:24

    便攜式氣象站:科技與便捷的完美融合

    氣象站
    萬象環境科技
    發布于 :2024年06月22日 21:14:07

    什么是自動氣象站

    在科學技術迅猛發展的今天,自動氣象站以其高效、精準、實時的特點,逐漸成為現代氣象觀測的先鋒。它不僅極大地提升了氣象觀測的效率和準確性,還為農業生產、交通運輸、環境保護等領域提供了重要的氣象
    的頭像 發表于 06-14 09:15 ?584次閱讀
    什么是自動<b class='flag-5'>氣象站</b>?

    超聲波無損檢測原理及應用

    超聲波無損檢測(Ultrasonic Non-Destructive Testing,簡稱UT)是一種利用超聲波在材料內部傳播的特性,檢測材料內部缺陷和結構的無損檢測技術。本文將詳細介紹超聲波無損
    的頭像 發表于 05-24 16:48 ?5993次閱讀

    超聲波連接示波器問題

    我買了一只中心頻率2.5Mhz的超聲波探頭,當我連接到示波器上的時候就有信號在顯示屏上。 我想問的是示波器上的信號到底是接收的環境中的超聲波信號? 還是當探頭接到示波器上 探頭就會自動的發射超聲波然后再接收自己發射的
    發表于 05-04 14:46

    六要素超聲波氣象儀有哪些作用?原理是什么?

      JD-WQX6天氣變化無常,對人們的生產和生活造成很大影響。如何準確地掌握天氣變化,成為了每個人關注的焦點。而六要素超聲波氣象儀,就是一款能夠幫助人們更好地了解天氣變化的利器。   六要素
    的頭像 發表于 03-29 15:37 ?461次閱讀

    超聲波氣象傳感器(超聲波技術來測量大氣環境參數的儀器)

    JD-WQX5超聲波氣象傳感器是一種利用超聲波技術來測量大氣環境參數的儀器。它可以測量風速、風向、溫度、濕度等多個氣象參數,并且具有高精度、高穩定性、高可靠性等優點,被廣泛應用于
    的頭像 發表于 03-28 15:06 ?557次閱讀

    什么是科研用的小型氣象站

      JD-CQX7科研用的小型氣象站是一種專門設計用于科學研究領域的氣象監測設備,其主要特點是小巧輕便、靈活易用,并具有高精度的測量性能。這種氣象站通常包括多個傳感器,能夠測量和記錄氣溫、濕度、風速、風向、氣壓、降水量等多種
    的頭像 發表于 03-15 15:26 ?409次閱讀
    主站蜘蛛池模板: 美女被打开了屁股进去的视频 | 国产精品久久人妻无码网站一区无 | 秋霞午夜理论理论福利无码 | 色婷婷五月综合久久中文字幕 | 国产精品久久人妻无码网站一区无 | 精品人妻伦一二三区久久AAA片 | 草莓西瓜樱桃香蕉直播视频 | 精品无人区麻豆乱码1区2 | 挺进绝色老师的紧窄小肉六 | 97人妻丰满熟妇AV无码 | 一本色道久久88综合日韩精品 | 麻豆成人久久精品二区三区网站 | 国产www视频 | 亚洲AV精品乱码专区 | 亚洲精品一二三 | 99亚洲精品自拍AV成人软件 | 亚洲三级成人 | 久久精品国产首叶 | 亚洲AV无码专区国产乱码网站 | 亚洲精品人成电影网 | 午夜福利免费院 | 女人久久WWW免费人成看片 | 领导边摸边吃奶边做爽在线观看 | 色99久久久久高潮综合影院 | 日韩欧美精品有码在线播放免费 | 娇妻中日久久持久久 | 伊人国产在线观看 | 小泽玛丽av无码观看 | 无颜之月5集全免费看无删除 | 免费的av不用播放器的 | 成人免费观看www视频 | 纯h超级大尺度小黄文 | 色狗综合网| RUNAWAY韩国动漫免费官网版 | 国产女高清在线看免费观看 | 久久免费观看视频 | 久久免费视频1 | 长泽梓黑人初解禁bdd07 | 一本之道高清在线3线观看 一本之道高清视频在线观看 | 国产99九九久久无码熟妇 | 美女激清床上戏大全 |