第一個物聯網程式


要開始學習物聯網,首先,瞭解如何使用麵包板和微控制器製作電路非常重要。然後,使用程式控制該電路也很重要。有一些模擬器可以讓物聯網初學者學習這兩個概念,而無需使用物聯網裝置。但是,要獲得真實的結果,使用電路元件並製作實際電路非常重要。在本文中,透過兩個不同的示例,給出了開始物聯網程式設計的方法。在示例 1 中,使用了 Wokwi 模擬器,在示例 2 中,使用麵包板、ESP32、LED、電阻和導線製作了實際電路,並使用 Arduino IDE 編寫的 C 程式控制了這些元件。

示例 1:使用 Wokwi 入門以及第一個 C 語言物聯網程式

Wokwi 是一個線上平臺,可以在其中製作虛擬電路,編寫控制這些電路的程式,然後測試結果。它是一個易於使用且免費的服務,可以幫助您開始學習物聯網。Wokwi 的連結在此提供。

登入 Wokwi 後,首先在右側區域製作電路,並在左側程式碼區域使用 C 語言編寫程式碼,如圖 1 所示。

電路設計步驟和編碼

步驟 1 − 登入 Wokwi。在 Wokwi 模擬器上啟動一個新的 ESP32 專案。

步驟 2 − 使用“+”號將帶有 ESP32 的麵包板放置在虛擬電路區域。

步驟 3 − 將麵包板的負軌連線到 ESP32 的 GND。

步驟 4 − 使用四個 LED。將 LED 的短腳連線到藍色導軌,另一端連線到電阻。現在將電阻連線到 ESP32 引腳 (D32、D33、D25、D26)。

步驟 5 − 轉到圖表選項卡並找到所有 LED,以更改 LED 的顏色,因為它們最初都是紅色的。

步驟 6 − 使用左側的 Wokwi 程式碼區域編寫 C 程式。

步驟 7 − 使用 Wokwi 上的播放按鈕編譯程式。檢查結果。

程式碼

int delay_times = 200;
int coloredLed_pin[4]={32,33,25,26}; The First IOT program
int n, q;
void setup() {
   for (int n=0; n<4; n++) {
      pinMode(coloredLed_pin[n], OUTPUT);
   }
   delay(200);
}

void loop() {
   //start from the lowest pin to the highest pin:
   for (n=0; n<4; n++) {
      digitalWrite(coloredLed_pin[n], HIGH);
      delay(delay_times);
      digitalWrite(coloredLed_pin[n], LOW);
   }
   
   //start from the highest pin to the lowest pin:
   for (q=3; q>=0; q--) {
      digitalWrite(coloredLed_pin[q], HIGH);
      delay(delay_times);
      digitalWrite(coloredLed_pin[q], LOW);
   }
}

檢視結果

程式編譯完成後,只要在 Wokwi 上按下播放按鈕,就可以看到結果。

圖 1:顯示 Wokwi 上的電路、程式和結果

示例 2:製作第一個物聯網電路並使用 Arduino IDE 編寫 C 程式

首先使用麵包板、ESP32、3 個彩色 LED、3 個電阻和一些公對公線製作電路。然後需要 Arduino IDE 來編寫 C 程式,編譯它,然後將其推送到 ESP32 以執行。

因此,首先按照圖 2 所示製作電路。然後使用 Arduino IDE 編寫 C 程式。

電路設計步驟和編碼

步驟 1 − 將 ESP32 微控制器連線到麵包板。

步驟 2 − 將麵包板的負軌連線到 ESP32 的 GND。

步驟 3 − 使用三個不同顏色的 LED。將 LED 的短腳直接連線到藍色導軌,另一端連線到電阻。現在將電阻引腳連線到 ESP32 引腳 (D25、D26、D27)。

步驟 4 − 如果計算機上未安裝 Arduino IDE,請下載並安裝它。

步驟 5 − 啟動 Arduino IDE。編寫 C 程式並使用勾號進行編譯。

步驟 6 − 透過按下勾號旁邊的右箭頭將程式上傳到 ESP32。檢查電路上的結果。

程式碼

//The time between leds on and off state
int delay_times = 200;

//Colored leds positive line through the resistors connected to pin D25, D26 //and D27 of ESP32
int coloredLed_pin[3]={25,26,27};

//variables to select leds one by one
int n, q;

void setup() {
   for (int n=0; n<3; n++) {
      // set all LEDs as Output components
      pinMode(coloredLed_pin[n], OUTPUT);
   }
   delay(200);
}

void loop() {
   //start from the lowest pin to the highest pin:
   for (n=0; n<3; n++) {
      //make an LED ON
      digitalWrite(coloredLed_pin[n], HIGH);
      delay(delay_times);
      //make an LED OFF
      digitalWrite(coloredLed_pin[n], LOW);
   }
   
   //start from the highest pin to the lowest pin:
   for (q=2; q>=0; q--) {
      //make an LED ON
      digitalWrite(coloredLed_pin[q], HIGH);
      delay(delay_times);
      //make an LED OFF
      digitalWrite(coloredLed_pin[q], LOW);
   }
}

檢視結果 - 示例 2

圖 2:程式所需的實際電路以及顯示 LED 高低電平的結果

本文介紹瞭如何製作第一個物聯網程式並執行它以顯示結果的方法。如果要學習該概念而不購買物聯網裝置,則可以在 Wokwi 等模擬器上製作第一個物聯網程式。另一方面,如果物聯網裝置可用,則可以實際製作電路並檢視結果。這裡,透過兩個不同的示例,展示了實際和虛擬地建立相同型別的電路,並提供了建立程式來處理和控制物聯網專案的方法。

更新於:2023年4月18日

568 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.