當前位置: 妍妍網 > 碼農

構建你的第一個物聯網(IoT)計畫

2024-05-10碼農

構建你的第一個物聯網(IoT)計畫

物聯網(IoT)技術正迅速改變著我們生活和工作的方式,透過連線日常裝置到互聯網,實作數據的收集、交換和分析,從而帶來更高的效率和便利。事實上,透過簡單的計畫,你就可以入門IoT,開始探索這一激動人心的領域。在這篇文章中,我將指導你構建一個簡單的IoT裝置——一個基於溫濕度傳感器的環境監測裝置。我們將逐步講解如何實作這一目標,涉及軟硬體的選型、編程、連線網路以及數據視覺化等方面。

IoT裝置範例

選擇硬體

首先,我們需要選擇合適的硬體。對於初學者來說,我推薦使用ESP8266或ESP32微控制器。這兩種微控制器整合了WiFi模組,便於我們將裝置連線到網路。同時,它們成本低廉,易於獲取。

ESP32微控制器

除了微控制器,你還需要一個DHT11溫濕度傳感器。該傳感器廣泛用於初學者計畫,因為它價格便宜,使用方便,並且能滿足基本的溫濕度測量需求。

DHT11傳感器

準備軟體

在軟體方面,我們將使用Arduino IDE來編寫和上傳程式碼。Arduino IDE是一個開放原始碼的整合式開發環境,它對於初學者而言十分友好。請存取Arduino官網下載並安裝適合你作業系統的版本。

完成安裝後,你還需要為ESP8266/ESP32添加支持。開啟Arduino IDE,依次點選「檔」->「偏好設定」,並在「附加開發板管理器URL」中添加ESP8266或ESP32的URL。這樣做可以讓你從開發板管理器中安裝對應的開發板。

Arduino IDE

編寫程式碼

接下來,我們將編寫程式碼來讀取DHT11傳感器的數據並透過WiFi將數據發送到互聯網。下面是一個簡化的程式碼範例:

#include<ESP8266WiFi.h>#include<DHT.h>#define DHTPIN D4 // DHT傳感器的數據引腳連線到D4#define DHTTYPE DHT11 // 使用DHT11傳感器DHT dht(DHTPIN, DHTTYPE);constchar* ssid = "你的WiFi名稱";constchar* password = "你的WiFi密碼";voidsetup(){ Serial.begin(115200); delay(10);// 連線WiFi WiFi.begin(ssid, password);while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(""); Serial.println("WiFi connected"); // 初始化DHT傳感器 dht.begin();}voidloop(){// 讀取溫濕度值float humidity = dht.readHumidity();float temperature = dht.readTemperature();// 檢查讀取失敗的情況,並重試if (isnan(humidity) || isnan(temperature)) { Serial.println("Failed to read from DHT sensor!");return; }// 將讀取到的溫濕度值透過串口輸出 Serial.print("Humidity: "); Serial.print(humidity); Serial.print(" %\t"); Serial.print("Temperature: "); Serial.print(temperature); Serial.println(" *C ");// 每10秒讀取一次 delay(10000);}

這段程式碼首先連線到指定的WiFi網路,然後不斷地從DHT11傳感器讀取溫度和濕度數據,並透過序列埠輸出這些數據。這是物聯網計畫最基礎的形式:收集數據並行送到網路。

數據視覺化

收集數據僅僅是第一步,我們還需要對數據進行視覺化來更直觀地理解環境變化。有許多線上平台可以用來實作這個目標,例如Tableau Public和pyecharts。這些平台提供了方便的API和圖表工具,讓你能夠輕松地將數據視覺化。

要將數據發送到這些平台,你只需修改程式碼,增加發送HTTP請求的部份。大多數平台提供了詳細的教程和範例程式碼,因此我不在這裏贅述具體的實作方法。

結論

構建一個簡單的IoT計畫並不復雜,你只需要準備一些基本的硬體,編寫簡單的程式碼,就能夠開始你的物聯網之旅。隨著經驗的積累,你可以逐步嘗試更復雜的計畫,如智慧家居系統、遠端監控裝置等。物聯網的可能性是無限的,關鍵在於你願意探索多遠。

課程推薦

在這篇文章的最後,我想向大家推薦一個非常優秀的嵌入式開發輔導團隊。他們提供 C++/Linux/STM32/ARM 開發、 驅動 開發、 套用 開發等一系列嵌入式開發的 一對一會議輔導 服務。無論你是嵌入式領域的新手,還是希望提升自己的專業技能,他們都能提供個人化的教學方案,幫助你實作從 入門到就業 的目標。

他們的服務包括但不限於:

  • • 多位碩士工程師學長的一對一輔導

  • • 可按階段支付,學多少付多少

  • • 個人化教學、每周作業、面向就業

  • • 從入門到就業,騰訊會議上課

  • • 計畫輔導、簡歷指導、模擬面試

  • 教學大綱參考:

    如果你對此感興趣,可以透過下面的圖片了解更多資訊,並添加微信獲取 教學大綱 ,添延長請備註: 嵌入式學習 另外本公眾號粉絲報課有 專屬優惠 哦~(找客服咨詢)

    如果喜歡我的內容,不妨點贊關註,我們下次再見!

    大家註意:因為微信最近又改了推播機制,經常有小夥伴說錯過了之前被刪的文章,或者一些限時福利,錯過了就是錯過了。所以建議大家加個 星標 ,就能第一時間收到推播。

    點個喜歡支持我吧,點個 在看 就更好了