欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

電子發(fā)燒友App

硬聲App

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

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

3天內不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>使用Opla IoT套件監(jiān)控房間狀況

使用Opla IoT套件監(jiān)控房間狀況

2023-07-13 | zip | 0.00 MB | 次下載 | 免費

資料介紹

描述

我喜歡密切關注我的工作空間的狀況。是熱還是濕?這對我來說很重要,因為我的舒適度取決于房間的濕度水平。

我可以遠程打開和關閉空調,但我需要知道房間的狀態(tài)。我決定編寫一個程序,使用 Arduino Opla IoT 套件提供此信息當我靠近設備時,設備會顯示此信息,當我不靠近時,設備會關閉屏幕。它還會將溫度和濕度記錄到 Arduino IoT Cloud,我可以遠程監(jiān)控它。按照以下步驟重新創(chuàng)建此項目。

項目計劃

我想知道我的學習情況,無論是在家還是在外。當我在房間里時,我想看一眼屏幕。當我不在的時候,我想通過查看手機上的儀表盤來了解情況。還有一件事,我希望書房里的屏幕在沒有人的時候熄滅。我有一個 Arduino Opla 物聯(lián)網(wǎng)套件,其中包含我需要的一切。MKR IoT Carrier 配有溫度和濕度傳感器以及 OLED 屏幕。我將使用的具體組件是:

  • Arduino MKR WiFi 1010
  • Arduino MKR 物聯(lián)網(wǎng)載體
  • PIR 運動傳感器和 Grove 連接器
  • 微型 USB 數(shù)據(jù)線

組件組裝

poYBAGSAaleAQ0CNABEAG8gNyLI203.jpg
該項目所需的組件
?

作為指南,將載體放入透明外殼中。

  • 將托架擰入外殼
  • 將 Grove 電纜的一端連接到載體的 A5 端口
  • 將 Grove 電纜的另一端連接到 PIR 運動傳感器
  • 將 MKR 板連接到 Micro-USB 電纜
  • 關閉箱子的背面
  • 將 Micro-USB 數(shù)據(jù)線的另一端連接到電腦

云設置

如果您在 Arduino IoT Cloud 上沒有帳戶,請繼續(xù)創(chuàng)建一個。

接下來,轉到“設備”選項卡并注冊您的微控制器。這最多可能需要五分鐘,所以請耐心等待。

將 MKR WiFi 1010 連接到 Arduino IoT Cloud

瀏覽到https://create.arduino.cc/iot/開始。

pYYBAGSAalmAYbLyAAC98jafRbw526.png
Arduino 物聯(lián)網(wǎng)云
?

從創(chuàng)建一個新事物開始。您可以將事物視為項目的等同物。你可以給它任何你喜歡的名字。我的叫做 MKR ENV。

poYBAGSAalyADDFGAADMKaGA95U886.png
一個新事物
?

接下來,關聯(lián)屏幕右側的設備。這將配置設備,以便您可以將草圖上傳到它上面。完成后,通過提供您的 WiFi 憑據(jù)來配置您的網(wǎng)絡如果您的設備允許您同時配置私有和公共(或來賓)網(wǎng)絡,則最好為您的 IoT 設備使用來賓網(wǎng)絡。這樣,您就可以避免任何安全漏洞。

最后,添加兩個云變量。這些是您有興趣在儀表板上遠程跟蹤的內容。要添加的兩個變量是:

  • 溫度,float類型,只讀,60s周期更新
  • 濕度,float 類型,只讀,60 秒周期更新

這是其中一個變量的配置屏幕的樣子。

pYYBAGSAal-AK4K1AADawqv19VI997.png
創(chuàng)建溫度變量
?

完成后,您可以進入“草圖”選項卡。

云代碼

此時,您已準備好編寫更新兩個云變量的代碼。為此,我引入了一個函數(shù)。代碼如下。

void updateEnv() {
  temperature = carrier.Env.readTemperature();
  humidity = carrier.Env.readHumidity();
}

我只希望這個函數(shù)每分鐘運行一次,所以我引入了一個變量來跟蹤我上次讀取讀數(shù)的時間,以及一個定義讀數(shù)間隔的常量。這些如下所示:

unsigned long lastRead = millis();
const int myDelay = 60000;

然后,在 loop() 函數(shù)內,我根據(jù)需要調用 updateEnv() 函數(shù)。這是下面的代碼:

void loop() {
  ArduinoCloud.update();
  // Your code here 
  
  if (millis() - lastRead > myDelay) {
    lastRead = millis();
    updateEnv();
    
  }
  
}

這就是將讀數(shù)發(fā)送到 Arduino 物聯(lián)網(wǎng)云所需的全部內容。接下來,讓我們創(chuàng)建一個儀表板。

儀表板

要創(chuàng)建儀表板,您可以單擊屏幕頂部的儀表板選項卡,或導航至https://create.arduino.cc/iot/dashboards

接下來,單擊“創(chuàng)建”按鈕。在下一頁上,為您的儀表板命名,然后繼續(xù)添加小部件。

poYBAGSAamGAS3CkAACbe-jxhzA037.png
您的新儀表板
?

我喜歡使用 Gauge 和 Percentage 小部件來跟蹤溫度和壓力的當前狀態(tài),而我使用圖表來跟蹤歷史狀態(tài)或趨勢。在下圖中,您可以看到添加儀表的示例。

poYBAGSAamSAC2WeAACMF-Qg_VQ340.png
將小部件添加到儀表板
?

您可以為新小部件命名。您需要將它鏈接到一個變量,這就是您將它鏈接到溫度變量的地方。您還可以為儀表設置最小值和最大值。

下圖是從計算機上看到的我的工作儀表板的屏幕截圖。我既可以看到當前值,也可以看到歷史值。

pYYBAGSAamaAc2gDAACKaFzBbnk683.png
我的儀表盤
?

我還可以使用 Arduino IoT Remote 應用程序從我的手機查看儀表板。

pYYBAGSAammAQatdAAFXqST4Lp0711.png
我手機上的儀表板
?

本地代碼

下一組代碼旨在讓我在屏幕上看到溫度和濕度。結果如下圖所示。

poYBAGSAanCAdSHxAA2m3rGdhYs820.jpg
成品
?

此時,您需要返回 Sketch 編輯器,然后單擊“打開完整編輯器”。

屏幕上的圖標需要作為代碼引入。最簡單的方法是將大小合適的圖像轉換為字符數(shù)組。您可以在以下 URL 執(zhí)行此操作:https ://javl.github.io/image2cpp/

然后您需要添加一個名為 logos.h 的文件,然后將您的字符數(shù)組復制到其中。下圖說明了此文件的外觀。

pYYBAGSAanKAdggcAABqUNWV-g8880.png
徽標.h 文件
?

回到 .ino 文件,我定義了一個函數(shù),用于在屏幕上呈現(xiàn)所有信息。

void displayReadings(String t, float temp, float humid) {
  carrier.display.fillScreen(0x0000);
  carrier.display.setCursor(60, 30);
  carrier.display.setTextSize(3);
  carrier.display.print(t);
  carrier.display.setCursor(25, 60);
  carrier.display.setTextSize(3);
  carrier.display.drawBitmap(25, 70, m_thermostat, 48, 48, 0xDAC9);
  carrier.display.setCursor(75, 80);
  carrier.display.print(temp); 
  carrier.display.print(" C");
  carrier.display.drawBitmap(25, 130, m_humidity, 48, 48, 0x0D14); 
  carrier.display.setCursor(75, 140);
  carrier.display.print(humidity); 
  carrier.display.print(" %");
}

這個函數(shù)需要幾個參數(shù):當前時間、溫度和壓力。注意承運人。這是控制 MKR IoT Carrier 的類的實例。我們在草圖的頂部聲明它。

MKRIoTCarrier carrier;

載體需要初始化。該代碼出現(xiàn)在 setup() 函數(shù)中。

  //Initialize the MKR IoT Carrier
  delay(1500);
  CARRIER_CASE = false;
  carrier.begin();
  carrier.display.setRotation(0);
  display("Starting ..");

注意 display() 函數(shù)。這也在草圖中定義。display() 的實現(xiàn)如下:

void display(String text) {
  carrier.display.fillScreen(0x0000);
  carrier.display.setCursor(25, 100);
  carrier.display.setTextSize(3);
  carrier.display.print(text);
}

為了獲得當前時間,我選擇了一種避免每次都從云端讀取的方法。相反,我設置了一個實時時鐘的實例,并通過從 Arduino Cloud 獲取 Unix 時間來設置一次時間。變量定義如下。

unsigned long epochs;
RTCZero myRtc;

RTC 在以下代碼塊中初始化。

  //Initialize the clock
  myRtc.begin();
  epochs = ArduinoCloud.getLocalTime();
  initializeClock(epochs, &myRtc);

函數(shù) initializeClock() 使用所需時間更新 RTC 實例。函數(shù)實現(xiàn)如下:

void initializeClock(unsigned long epochs, RTCZero* rtc) {
  UnixTime t(0);
  t.getDateTime(epochs);
  uint8_t y = t.year - 2000;
  rtc->setDate(t.day, t.month, y);; 
  rtc->setTime(t.hour, t.minute, t.second);
}

要讀取時間,需要以下功能:

String getRTCTime(RTCZero* rtc) {
  String t = zeroPad(rtc->getHours());
  t.concat(":");
  t.concat(zeroPad(rtc->getMinutes()));
  t.concat(":");
  t.concat(zeroPad(rtc->getSeconds()));
  return t;
}

String zeroPad(int n) {
  if (n > 9) {
    return String(n);
  }
  String s = String(0);
  s.concat(n);
  return s;
}

最后,我們可以將所有這些結合起來,根據(jù) PIR 傳感器觀察到的內容,在屏幕上顯示或不顯示內容。該草圖可在此處獲得:https://create.arduino.cc/editor/johnthas/399971c3-9ed7-48de-8cf9-a0955d60c08c/preview


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

評論

查看更多

下載排行

本周

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

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

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