[IOT] - 使用 .Net Core 操作 GPIO 引腳點亮 LED 燈泡


1. 在 VS 2019 中創建 .Net Core 控制台應用程序,使用 Nuget 安裝程序包:

System.Device.Gpio
Iot.Device.Bindings

2. 更新 Main 函數,實現業務邏輯

static void Main(string[] args)
{
    var pin = 17;
    var lightTimeInMilliseconds = 1000;
    var dimTimeInMilliseconds = 200;
    using GpioController controller = new GpioController();
    controller.OpenPin(pin, PinMode.Output);
    Console.WriteLine($"GPIO pin enabled for use: {pin}");
    Console.CancelKeyPress += (object sender, ConsoleCancelEventArgs eventArgs) => { controller.Dispose(); };
    while (true)
    {
        Console.WriteLine($"Light for {lightTimeInMilliseconds}ms");
        controller.Write(pin, PinValue.High);
        Thread.Sleep(lightTimeInMilliseconds);
        Console.WriteLine($"Dim for {dimTimeInMilliseconds}ms");
        controller.Write(pin, PinValue.Low);
        Thread.Sleep(dimTimeInMilliseconds);
    }
}

3. 在 "程序包管理器控制台" 中運行發布命令,注意發布目標平台為 linux-arm。

dotnet publish -c release -r linux-arm

4. 上傳發布程序到樹莓派,使用 cd 命令切換到發布文件夾(例如這里的 Demo_HelloLED),並設置文件權限。

chmod 755 ./Demo_HelloLED

chmod是Linux下設置文件權限的命令,后面的數字表示不同用戶或用戶組的權限。

一般是三個數字:chmod 750 "授權文件名"

第一個數字表示文件所有者的權限
第二個數字表示文件所有者同屬一個用戶組的其他用戶的權限
第三個數字表示其他用戶組的權限。

權限分為三種:讀(r=4),寫(w=2),執行(x=1)。
結合起來還有可讀可執行(rx=5=4+1),可讀可寫(rw=6=4+2)等。
所以,chmod 755設置用戶的權限為:
1.文件所有者可讀可寫可執行                                                    --7
2.與文件所有者同屬一個用戶組的其他用戶可讀可執行            --5
3.其他用戶組可讀可執行                                                           --5

5. 搭建硬件

6. 運行 .Net Core 應用程序

./Demo_HelloLED

 7. 效果演示

 

參考資料

https://www.cnblogs.com/zhanggaoxing/p/10311697.html
https://dzone.com/articles/aspnet-core-30-on-raspberrypi-controlling-led
https://www.cnblogs.com/songxingzhu/p/7399991.html
https://blog.csdn.net/mwangsheng/article/details/77991304


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM