當前位置:
首頁 > 科技 > 基於Arduino和IoT雲平台搭建物聯網系統

基於Arduino和IoT雲平台搭建物聯網系統

作者 | Francesco Azzola

責編 | 屠敏

在這篇文章中,我們將介紹如何搭建一款監測土壤水分的物聯網系統,用於在土壤乾燥時發出警報,提醒用戶。本項目使用了IoT雲平台來管理警報系統,同時存儲來自感測器的數據。眾所周知,物聯網是當今熱門話題之一,它將改變我們的未來及生活方式。如今我們可以自己動手搭建物聯網系統,因為市場上已有一些原型板,這使得我們不用花費太多金錢及精力就可以著手物聯網項目。

搭建 IoT 系統項目

構建這個項目,我們需要:

1. Arduino MKR1000;

2. 濕度感測器;

3. IoT 雲平台 Carriots 的免費賬戶(點擊https://www.carriots.com/joinus創建賬戶);

4. IFFT 賬戶(點擊https://ifttt.com/discover,了解更多)。

該項目的核心理念是搭建一個監測土壤水分的 IoT 系統,勘測土壤的濕度。Arduino MKR1000 控制感測器向 Carriots IoT 平台發送數據。Carriots 平台反過來存儲來自感測器的數據,並檢測存儲的值何時達到閾值。下文我們會分享如何分析數據。現在可以假設 Carriots IoT 平台能夠以某種方式調用一個 IFFT 服務,並向用戶發送一個提醒的短消息。構建該 IoT 系統,我們可以探索如何使用 IoT 生態系統的組件。此外,該項目使用 LED 矩陣顯示濕度土壤狀態。接下來,我們看看具體怎麼搭建。

檢測感測器數據

第一步,我們必須讀取感測器數據。該 IoT 項目使用了 YL-38 + YL-69 感測器,這個是可以插入要檢查的土壤中的模擬感測器。那麼如何將感測器連接到 Arduino,如下所示:

代碼很簡單。我們 從A1 引腳讀取數據,然後計算濕度:

此外,還需將 Arduino MKR1000 連接到互聯網,以便它可以發送數據:

connectToWifi() 包含:

這樣,如以上代碼所述,我們可以管理顯示濕度的 LED 矩陣。接下來就聚焦於物聯網雲平台上。

連接到IoT雲平台

在將數據發送到雲端之前,我們必須配置 Carriots 平台才能管理數據。 Carriots 使用了分層結構來對設備進行分組和管理。因此,在使用設備之前,必須創建此結構。用戶一旦登錄,先點擊「Hierarchy」,再點擊「 Project」,填寫所需的數據,如下圖:

下一步創建服務,填寫所需的數據:

最後,創建組:

以上的步驟只需做一次。最後一步是配置設備。它表示我們用來發送數據的物理設備。該設備屬於在最後一步創建的組,組屬於服務,服務屬於項目。配置步驟非常簡單,如下圖所示:

至此,配置步驟已完成。我們需將 Arduino 設備連接到 Carriots 並開始發送數據。上圖中,Id.developer 這個參數很重要,它代表了將來自 Arduino 設備的數據綁定到 Carriots 設備的唯一標識符。另一個重要參數是 API 密鑰。你可以在設置>API密鑰菜單中找到它。為了發送數據,我們將這個函數添加到上面的代碼中:

注意該函數發送一個包含從感測器讀取的數據的 JSON 有效載荷。必須在 loop()方法中調用此函數。運行這個程序,我們可以發現設備向 Carriots 發送數據,如下所示:

監控物聯網感測器數據

接下來是監控數據。通常在物聯網系統中,我們不僅希望從感測器獲取數據,而且當這些值超出特定值時,我們希望監視這些信息以採取完善措施。本項目中,當土壤太過乾燥時,我們要告知用戶。雖然 Carriots 擁有內置的電子郵件系統,但我們更傾向於與 Carriots 集成的另一個有用的平台,即 IFFT。該平台提供了多種集成服務。

為了提醒用戶,我們需要兩個組件:

1. 監控數據系統;

2. 警報系統。

作為監控數據系統,本 IoT 系統項目使用 Carriots 監聽器。監聽是分析輸入值及應用特定規則的一個過程。當規則被驗證時,它就會調用一個腳本。對於 Carriots 的有趣方面是,我們可以使用 Groovy 作為腳本語言來調用外部服務。

警報系統建立在 IFFT 上。在完成 Carriots 的任務之前,配置 IFFT 非常有必要。如上所述,當濕度達到閾值時,我們想要發送一條短消息提醒用戶。為了實現這個功能,需要在 IFFT 中配置一個短消息服務。在此之前,我們需要一個免費的帳戶。那麼首先我們創建一個新的 Applet:

點擊「+」添加服務並搜索「Maker」服務:

選擇「Maker webhooks」來啟用 IoT Maker。接下來配置 maker 服務,並填入觸發發送消息進程的事件名稱:

最後,啟動發送消息服務,配置所有必需的參數,如目標號碼和消息體:

現在,我們來看一下 Carriots 平台的監聽器。首先創建一個新的監聽器,調用與之前剛創建的 Applet 相關的 URL。當監聽器調用 URL 時,IFFT 發送一條短消息。配置監聽器流程如下圖所示:

最後一步是配置表達式。我們可以使用 Groovy 寫這個案例。

綜上,我們可以驗證當土壤水分低於閾值水平時,手機上是否會收到一條簡訊。

總結

通過本文,相信大家已經學會了如何使用感測器、Arduino 和 IoT 雲平台構建 IoT 系統。也正如本文所述,我們可以集成現有的平台和服務來構建一款 IoT 系統。

點擊展開全文

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 CSDN 的精彩文章:

在調試器里看Windows 10的Linux子系統
Google I/O 2016——人工智慧真正的起點
智能人機交互在電商領域的技術實踐——阿里小蜜
RethinkDB聯合創始人分享的44條工程管理經驗

TAG:CSDN |

您可能感興趣

谷歌推出Android Things,用於物聯網的操作系統
Nibiru AR/VR 系統與 Creator 正式登陸韓國
Valve空間音頻系統正式支持AMD TrueAudio Next技術
快思聰:新的Crestron DM XiODirector網路設備簡化DMNVX網路視音頻系統的部署
MIT基於AI研發新型衛星地圖道路識別系統Roadtracer
案例:谷歌發布物聯網操作系統Android Things 1.0
谷歌公布Android Things系統:針對家電等設備
Facebook、谷歌、Big Switch在開放硬體上演示網路操作系統
HoloLens2或棄用Intel晶元 搭載全新操作系統
Google 搜索架構技術總監李雙峰:基於TensorFlow的大規模深度學習系統
Arteris IP和Synopsys促進神經網路和異構多核系統級晶元的優化
Nokia 7+曝光採用Android One系統
華碩ZenFone Live L1發布:預裝Android Go系統
消息稱谷歌下一代操作系統Android P將採用iPhone X頂部劉海設計
諾基亞8 Sirocco vs蘋果iPhone X,iPhone X系統成王牌?
谷歌Pixel 3系列手機曝光:預裝Android P系統
CyberFlood Fuzzing-照明系統里的網路測試
谷歌或將Android Wear系統改名為Wear OS
Bilstein天鉤系統配ALPINA
車聯網鏈CarLive Chain啟動基於區塊鏈技術的車載中控操作系統研發