第一個物聯網程式
要開始學習物聯網,首先,瞭解如何使用麵包板和微控制器製作電路非常重要。然後,使用程式控制該電路也很重要。有一些模擬器可以讓物聯網初學者學習這兩個概念,而無需使用物聯網裝置。但是,要獲得真實的結果,使用電路元件並製作實際電路非常重要。在本文中,透過兩個不同的示例,給出了開始物聯網程式設計的方法。在示例 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 等模擬器上製作第一個物聯網程式。另一方面,如果物聯網裝置可用,則可以實際製作電路並檢視結果。這裡,透過兩個不同的示例,展示了實際和虛擬地建立相同型別的電路,並提供了建立程式來處理和控制物聯網專案的方法。
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP