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

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

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

3天內不再提示

實操案例:基于Shineblink和機智云的4G氣象站

機智云 ? 2022-08-28 16:10 ? 次閱讀

ShineBlink 是一款零門檻、零開發環境、低代碼的萬能物聯網智能硬件開發板

機智云開發者提供傻瓜式硬件上云、接App/小程序的能力

結合 ShineBlink 和 機智云 開發者即使不懂嵌入式物聯網開發、云和App開發,也能很快實現一款包含硬件、云和App的物聯網智能硬件。

一、本章實現功能介紹

Shinelink開發板通過采集PM2.5傳感器、紫外線傳感器、風速傳感器、雨滴感應傳感器、SHT溫濕度傳感器、氣壓傳感器采集數據,數據通過ML302(4G通信模塊)將數據上傳至機智云,之后我們就可以在遠程通過手機App或者Web網頁端來訪問這個氣象站測量的所有傳感器數據。

下圖是接線實物圖和App監測頁面:

a0ce68c2-256a-11ed-9ade-dac502259ad0.png

a10e64ae-256a-11ed-9ade-dac502259ad0.png

a0b12e88-256a-11ed-9ade-dac502259ad0.png二、硬件端接線圖

a142e738-256a-11ed-9ade-dac502259ad0.png

注意:上面的電路傳感器比較多,要求給 ShineBlink 開發板提供5V的電源帶載能力至少大于1A。

a0b12e88-256a-11ed-9ade-dac502259ad0.png三、材料清單

a179c19a-256a-11ed-9ade-dac502259ad0.png

a0b12e88-256a-11ed-9ade-dac502259ad0.png四、硬件端完整源代碼

--定義函數:將傳感器輸出電壓(單位:mv)轉換成紫外線指數index
function GetUvIndex(v)
  if v < 50.0 then
    index = 0
  elseif v < 227.0 then
    index = 1;
  elseif v < 318.0 then
    index = 2;
  elseif v < 408.0 then
    index = 3;
  elseif v < 503.0 then
    index = 4;
  elseif v < 606.0 then
    index = 5;
  elseif v < 696.0 then
    index = 6;
  elseif v < 795.0 then
    index = 7;
  elseif v < 881.0 then
    index = 8;
  elseif v < 976.0 then
    index = 9;
  elseif v < 1079.0 then
    index = 10;
  else
    index = 11
  end
  return index
end
--使能USB print輸出打印
LIB_UsbConfig("CDC")
--機智云平臺為每個產品類別分配的唯一PK和PS,一定要改成您自己的PK和PS
PK = "7ebaec64beaf4e389a2957f38711fcda"
PS = "b4a4ef17dbf74463b0f1b3c525a8b8de"
--初始化4G模塊
LIB_Giz4GConfig(PK,PS,1000,120,"UART0","D5","HIGH","D6","HIGH")
--配置A0-A3這四個電壓采集通道同時開始工作,當每個通道采集滿50個點時緩存滿,每個點的采集時間間隔為10ms
LIB_ADConfig(50,10000)
--設置PM2.5傳感器占用TX1和RX1引腳
LIB_ZPH04Config("UART1")
--設置sht3x傳感器占用SCL0和SDA0引腳,并啟動傳感器以每秒出10個數據的頻率工作,repeatability="HIGH"時精度最高
LIB_Sht3xConfig("IIC0","10","HIGH")
--設置BMP280氣壓計傳感器占用SCL1和SDA1引腳,并啟動傳感器以每秒輸出26.32組數據的頻率工作
LIB_BMP280Config("IIC1")
--開始大循環
while(GC(1) == true)
do
  LIB_DelayMs(50)
  --查詢是否讀到溫濕度數據產生
  sht3x_flag,sht3x_temp,sht3x_humi = LIB_Sht3xGetResult()
  if sht3x_flag == 1 then
    --打印讀到的溫濕度值,保留2位小數
    print(string.format("temp: %.2f\r\nhumi: %.2f", sht3x_temp, sht3x_humi))
    --向機智云服務器發送(溫濕度)短整數型數值(舍去小數部分)
    LIB_SendToGizCloud("Rs1", math.floor(sht3x_temp))
    LIB_SendToGizCloud("Rs2", math.floor(sht3x_humi))
  end
  --查詢氣壓傳感器是否出數
  flag, temprature, pressure = LIB_BMP280GetResult()
  if flag == 1 then --如果傳感器此時有數據
    --溫度值保留兩位小數,氣壓值去掉小數部分
    print(string.format("temprature: %.2f pressure: %.0f Pa", temprature, pressure))
    --向機智云服務器發送長整數型氣壓數值,單位:Pa
    LIB_SendToGizCloud("RL7", math.floor(pressure))
  end
  --查詢是否讀到傳感器PM2.5值
  flag, pm25_val = LIB_ZPH04GetPM25()
  if flag == 1 then
    --打印讀到的PM2.5值,保留1位小數,單位:ug/m^3
    print(string.format("PM2.5:%.1f", pm25_val))
    --向機智云服務器發送(PM2.5)浮點型小數值(范圍應是-1000.0~5000.0)
    LIB_SendToGizCloud("Rf1", pm25_val)
  end
  --查詢是否讀到A0端口的電壓采集值(風速)
  A0_full_flag, A0_tab = LIB_ADCheckBufFull("A0")
  --每當A0通道的緩存滿以后,計算緩存內的50個元素的平均值,并換算成電壓值
  --由LIB_ADConfig(50,10000)可以算出,此處大概是50X10000us=0.5秒執行一次
  if A0_full_flag == 1 then
    SUM = 0
    for i = 1, #A0_tab do --此處#A0_tab的值是50,表示A0_tab表內的元素個數
      SUM = SUM + A0_tab[i]
    end
    AVER = SUM / #A0_tab --計算平均采樣值
    --將A0通道的AD值轉換成實際電壓打印出來
    out_voltage = AVER*3.6/4096.0
    --打印出傳感器輸出的電壓值,保留小數點后兩位,單位V
    print(string.format("wind voltage=%.2fV\r\n", out_voltage))
    --向機智云服務器發送(風速)浮點型小數值(范圍應是-1000.0~5000.0)
    LIB_SendToGizCloud("Rf2", out_voltage)
  end
  --查詢是否讀到A1端口的電壓采集值(紫外線)
  A1_full_flag, A1_tab = LIB_ADCheckBufFull("A1")
  --每當A1通道的緩存滿以后,計算緩存內的50個元素的平均值,并換算成電壓值
  --由LIB_ADConfig(50,10000)可以算出,此處大概是50X10000us=0.5秒執行一次
  if A1_full_flag == 1 then
    SUM = 0
    for i = 1, #A1_tab do --此處#A1_tab的值是50,表示A1_tab表內的元素個數
      SUM = SUM + A1_tab[i]
    end
    AVER = SUM / #A1_tab --計算平均采樣值
    --將A0通道的AD值轉換成實際電壓打印出來
    vol_mv = AVER*3600/4096.0
    --打印出傳感器輸出的電壓值,保留小數點后兩位,單位mV
    print(string.format("ultraviolet voltage=%.2fmV\r\n", vol_mv))
    uv_index = GetUvIndex(vol_mv)--將電壓轉換成紫外等級指數
    --打印紫外線等級,0~11
    print(string.format("ultraviolet level=%d\r\n", uv_index))
    --向機智云服務器發送紫外線等級,短整數型
    LIB_SendToGizCloud("Rs3", uv_index)
  end
  --查詢是否讀到A2端口的電壓采集值(雨滴感應)
  A2_full_flag, A2_tab = LIB_ADCheckBufFull("A2")
  --每當A2通道的緩存滿以后,計算緩存內的50個元素的平均值,并換算成電壓值
  --由LIB_ADConfig(50,10000)可以算出,此處大概是50X10000us=0.5秒執行一次
  if A2_full_flag == 1 then
    SUM = 0
    for i = 1, #A2_tab do --此處#A2_tab的值是50,表示A2_tab表內的元素個數
      SUM = SUM + A2_tab[i]
    end
    AVER = SUM / #A2_tab --計算平均采樣值
    --將A0通道的AD值轉換成實際電壓打印出來
    vol = AVER*3.6/4096.0
    --打印雨滴傳感器輸出的電壓值,保留小數點后兩位,單位V
    print(string.format("rain voltage=%.2fV\r\n", vol))
    --向機智云服務器發送(雨滴值)浮點型小數值(范圍應是-100.00~500.00)
    LIB_SendToGizCloud("Rf3", vol)
  end
end

a0b12e88-256a-11ed-9ade-dac502259ad0.png五、機智云接入和App開發

無論使用哪種方法實現APP控制,都必須先定義數據點。

本例中我們使用了"Rf1","Rf2","Rf3","Rs1","Rs2","Rs3","RL7"這七個數據點分別作為PM2.5,風速,雨滴,溫度,濕度,紫外線等級,大氣壓強這七個傳感器值上傳數據通道,記得在機智云平臺修改相應的數據點的名稱。

a1b8dccc-256a-11ed-9ade-dac502259ad0.png

方法一:使用機智云測試APP

先在機智云開發者中心定義好數據點

隨后下載機智云測試APP

使用機智云測試APP掃描4G模塊二維碼

即可實現APP控制設備了。

具體過程可參考:

http://www.shineblink.com/html/gizwits/9_3_4GJoin/4GJoin.html

方法二:使用賽博坦工具零代碼定制版App

在機智云開發者中心定義好數據點后,

創建一個移動應用,定義相應的頁面信息

再關聯相應的智能產品,

即可實現定制版App訪問設備。

開發好以后的頁面如下:

a10e64ae-256a-11ed-9ade-dac502259ad0.png

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

    關注

    2909

    文章

    44578

    瀏覽量

    372866
收藏 人收藏

    評論

    相關推薦

    自動氣象站的工作原理與應用

    自動氣象站是現代氣象觀測網絡的重要組成部分,它通過集成傳感器、數據采集與處理系統、通訊設備等技術手段,實現了對大氣環境參數的實時監測和高效數據傳輸。以下是對自動氣象站的工作原理與應用的詳細探討
    的頭像 發表于 12-18 13:56 ?79次閱讀

    4G模組PWM接口:技術要點

    今天我們講解的是4G模組PWM接口的技術要點,以我常用的模組Air724UG為例分享出來。
    的頭像 發表于 11-20 23:29 ?242次閱讀
    <b class='flag-5'>4G</b>模組PWM接口:技術<b class='flag-5'>實</b><b class='flag-5'>操</b>要點

    負氧離子氣象站

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

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

    ,并通過無線通信模塊將數據傳輸到平臺,方便師生們通過手機APP或網頁端查看實時數據,了解天氣變化趨勢,提前做好應對準備。 校園氣象站高校科普論文氣象站多功能氣象站可在安卓/IOS手機
    的頭像 發表于 08-06 17:53 ?437次閱讀
    校園<b class='flag-5'>氣象站</b>高校科普論文<b class='flag-5'>氣象站</b>多功能<b class='flag-5'>氣象站</b>

    全自動農業氣象站的簡單介紹及技術參數分析

    氣象站
    博科儀器
    發布于 :2024年06月25日 15:56:14

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

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

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

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

    什么是自動氣象站

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

    小型氣象站是什么?有哪些作用?

    小型氣象站可以監測多種氣象參數,包括但不限于溫度、濕度、氣壓、風速、風向、降水量等。這些數據對于農業、氣象預測、交通運輸、環境監測等領域都至關重要。例如,在農業領域,農民可以根據氣象站
    的頭像 發表于 05-29 17:03 ?567次閱讀

    微型氣象站的性能表現如何?

    微型氣象站是一種小型化、輕便化的氣象監測設備,通常用于戶外環境的氣象監測和數據采集。其性能表現主要包括準確性、穩定性、靈敏度和易用性等方面。 首先,微型氣象站的準確性是評價其性能
    的頭像 發表于 05-10 16:22 ?410次閱讀

    農業小型自動氣象站應用

    小型自動氣象站作為現代農業的重要組成部分,其應用價值不可忽視。在農業生產中,氣象條件是影響作物生長和產量的重要因素之一。因此,小型自動氣象站通過提供準確、及時的氣象數據,為農業生產提供
    的頭像 發表于 04-24 16:42 ?448次閱讀

    小型農業氣象站廠家:數據分析與決策支持

    ,助力農業增產致富。 一、智能化農業氣象站——助力農民科學種植 小型農業氣象站廠家推出的智能化農業氣象站,集成了先進的氣象傳感器、數據采集系統和
    的頭像 發表于 04-02 16:35 ?441次閱讀

    罐區防爆氣象站:科技保障,安全生產

    JD-FBCQ罐區防爆氣象站是指在石油、化工等工業罐區內設置的一種氣象監測設備,旨在監測和分析當地氣象變化,提供關鍵氣象信息,以保障罐區安全生產。科技保障在這里主要體現在提供高精度、實
    的頭像 發表于 03-19 16:40 ?596次閱讀

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

      JD-CQX7科研用的小型氣象站是一種專門設計用于科學研究領域的氣象監測設備,其主要特點是小巧輕便、靈活易用,并具有高精度的測量性能。這種氣象站通常包括多個傳感器,能夠測量和記錄氣溫、濕度、風速、風向、氣壓、降水量等多種
    的頭像 發表于 03-15 15:26 ?384次閱讀

    農業氣象站:助力現代農業發展

    農業氣象站:助力現代農業發展
    的頭像 發表于 01-31 11:28 ?422次閱讀
    主站蜘蛛池模板: 91九色porny蝌蚪| 国产精品99| 亚洲无人区码二码三码区别图| 99久久热视频只有精品| 国产午夜精品福利久久| 欧美国产精品主播一区| 亚洲综合中文| 4480yy午夜私人影院| 国产亚洲制服免视频| 免费播放美女一级毛片| 亚洲精品天堂在线观看| 动漫美女禁区| 内射老妇BBX| 曰本aaaaa毛片午夜网站| 国产女合集小岁9三部| 三级叫床震大尺度视频| 亚洲男人天堂网| 国产成a人片在线观看视频99| 国内精品久久人妻无码HD浪潮| 日本精品久久无码影院| 99爱在线精品视频免费观看9| 精品高清国产a毛片| 亚洲 欧美 国产 综合五月天| 大地影院在线播放| 欧美精品XXXXBBBB| 91麻精品国产91久久久久| 久久er国产精品免费观看2| 亚洲AV久久婷婷蜜臀无码不卡| 嘟嘟嘟WWW免费高清在线中文| 欧美精品专区第1页| 最新精品国产| 国产精品嫩草久久久久| 毛片大片免费看| 小伙无套内射老女人| 97资源站超碰在线视频| 久久久GOGO无码啪啪艺术| 亚洲综合日韩中文字幕v在线| 国产中文在线观看| 亚洲AV久久无码精品九号| 国产精品久久久久精品A片软件| 桃隐社区最新最快地址|