[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

猜你喜欢

转载自www.cnblogs.com/jinzesudawei/p/11312815.html
今日推荐