訓練
學習路徑
建立並執行簡易的 C# 主控台應用程式 (開始使用 C#,第 2 部分) - Training
使用 Visual Studio Code 開發實作陣列、Foreach 迴圈和 If 陳述式的 C# 主控台應用程式。
一般用途的輸入/輸出 (GPIO) 接腳可以受到個別控制。 這適用於控制 LED、轉送和其他具狀態裝置。 在本主題中,您將使用 .NET 和 Raspberry Pi 的 GPIO 針腳來提供 LED 電源,並重複閃爍。
注意
本教學課程是以 Raspberry Pi 為目標裝置所撰寫。 不過,本教學課程可用於支援 .NET 的任何 Linux 型 SBC,例如 Orange Pi、ODROID 等等。
確定您的裝置上已啟用 SSH。 如需 Raspberry Pi,請參閱 Raspberry Pi 文件中的設定 SSH 伺服器。
使用硬體元件來建置線路,如下圖所示:
上圖描述了下列連接方式:
請視需要參閱下列插腳輸出圖:
提示
建議將 GPIO 分線板與試驗電路板搭配使用,以簡化 GPIO 接頭的連接過程。
在慣用的開發環境中完成下列步驟:
使用 .NET CLI 或 Visual Studio建立新的 .NET 主控台應用程式。 將其命名為 BlinkTutorial。
dotnet new console -o BlinkTutorial
cd BlinkTutorial
將 System.Device.Gpio 套件新增至專案。 從專案目錄或Visual Studio使用.NET CLI。
dotnet add package System.Device.Gpio --version 2.2.0-*
以下列程式碼取代 Program.cs 的內容:
using System;
using System.Device.Gpio;
using System.Threading;
Console.WriteLine("Blinking LED. Press Ctrl+C to end.");
int pin = 18;
using var controller = new GpioController();
controller.OpenPin(pin, PinMode.Output);
bool ledOn = true;
while (true)
{
controller.Write(pin, ((ledOn) ? PinValue.High : PinValue.Low));
Thread.Sleep(1000);
ledOn = !ledOn;
}
在上述程式碼中:
GpioController
的執行個體。
using
宣告可確保物件已遭處置,且正確釋放了硬體資源。while
迴圈會無限期執行。 每個反覆項目: ledOn
為 true,則會在其上寫入 PinValue.High
。 否則就會寫入 PinValue.Low
。ledOn
的值。建置應用程式。 如果使用 .NET CLI,請執行 dotnet build
。 若要在 Visual Studio 中建置,請按 Ctrl+Shift+B。
將應用程式部署至 SBC 做為獨立應用程式。 如需指示,請參閱 將 .NET 應用程式部署至 Raspberry Pi。 請務必使用 chmod +x
提供可執行檔「執行」權限。
切換至部署目錄並執行可執行檔,以在 Raspberry Pi 上執行應用程式。
./BlinkTutorial
LED 會每秒閃爍一次。
按 Ctrl+C 以終止程式。
恭喜! 您使用了 GPIO 讓 LED 閃爍。
本教學課程中的來源位於 GitHub。
訓練
學習路徑
建立並執行簡易的 C# 主控台應用程式 (開始使用 C#,第 2 部分) - Training
使用 Visual Studio Code 開發實作陣列、Foreach 迴圈和 If 陳述式的 C# 主控台應用程式。
文件
使用 .NET IoT 程式庫開發適用於 IoT 裝置的應用程式 - .NET
了解如何使用 .NET 來建置用於 IoT 裝置和案例的應用程式。
瞭解如何使用 .NET IoT 程式庫來讀取溫度、對稱壓力和濕度。
瞭解如何搭配 .NET IoT 程式庫使用 GPIO 進行二進位輸入。