1. 在 VS 2019 中创建 .Net Core 控制台应用程序,使用 Nuget 安装程序包:

System.Device.Gpio
Iot.Device.Bindings

2. 更新 Main 函数,实现业务逻辑

static void Main(string[] args)
{
var pin = ;
var lightTimeInMilliseconds = ;
var dimTimeInMilliseconds = ;
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

[IOT] - 使用 .Net Core 操作 GPIO 引脚点亮 LED 灯泡的更多相关文章

  1. 树莓派 Learning 003 --- GPIO 001 --- 点亮LED

    树莓派 Learning 003 - GPIO 001 - 点亮LED 我的树莓派型号:Raspberry Pi 2 Model B V1.1 装机系统:NOOBS v1.9.2 树莓派 Learni ...

  2. 【蓝牙低功耗BLE】控制GPIO来点亮LED

    这节讲一下最简单的,也是最基础的东西.CC2540的IO操作,把PORT口当做GPIO来用,废话不多说,往下看. 1.硬件电路 硬件电路时最简单的,用一根GPIO去控制LED灯.因为GPIO作为out ...

  3. 使用寄存器点亮LED(第1节)—GPIO功能框图讲解

    GPIO简介 GPIO 是通用输入输出端口的简称,简单来说就是 STM32 可控制的引脚, STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯.控制以及数据采集的功能.STM32 ...

  4. GPIO引脚操作

    Kernel: 4.4 Soc: msm8996 1.用户空间通过sysfs操作GPIO (1)启用GPIO sysfs interface 首先看系统中有没有“/sys/class/gpio”这个文 ...

  5. Win10 IoT C#开发 5 - 操作 IoT 设备内嵌 SQLite 数据库 CURD

    Windows 10 IoT Core 是微软针对物联网市场的一个重要产品,与以往的Windows版本不同,是为物联网设备专门设计的,硬件也不仅仅限于x86架构,同时可以在ARM架构上运行. 前几章我 ...

  6. linux下操作gpio寄存器的方法

    一. 在驱动中: 1. 用的时候映射端口:ioremap; #define GPIO_OFT(x) ((x) - 0x56000000) #define GPFCON (*(volatile unsi ...

  7. Linux下用文件IO的方式操作GPIO(/sys/class/gpio)

    通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction ...

  8. Linux下用文件IO的方式操作GPIO(/sys/class/gpio)(转)

    通过sysfs方式控制GPIO,先访问/sys/class/gpio目录,向export文件写入GPIO编号,使得该GPIO的操作接口从内核空间暴露到用户空间,GPIO的操作接口包括direction ...

  9. TX2 用文件IO的方式操作GPIO

    概述 通过 sysfs 方式控制 GPIO,先访问 /sys/class/gpio 目录,向 export 文件写入 GPIO 编号,使得该 GPIO 的操作接口从内核空间暴露到用户空间,GPIO 的 ...

随机推荐

  1. foreach中的collection

    foreach中collection的三种用法 https://www.cnblogs.com/xiemingjun/p/9800999.html foreach的主要用在构建in条件中,它可以在SQ ...

  2. node.js封装数据库增删改查

    数据库增删改查的封装 小编不容易 const sql = { insert: function (Collection, insertData) { return new Promise((resol ...

  3. loj2058 「TJOI / HEOI2016」求和 NTT

    loj2058 「TJOI / HEOI2016」求和 NTT 链接 loj 思路 \[S(i,j)=\frac{1}{j!}\sum\limits_{k=0}^{j}(-1)^{k}C_{j}^{k ...

  4. SQL进阶-行转列&列转行

    一.行转列 1.建表 CREATE TABLE score( student_id ) NOT NULL COMMENT '学生编号' DEFAULT '', student_name ) NOT N ...

  5. orm功能封装

    封装功能: 查 : select **kwargs.keys() --返回-> obj -转为-->list [{},{}] ---> [obj,obj] class Models( ...

  6. xms西软预定列表-房类市场

    select b.descript,sum(a.quan) as quan,case WHEN c.descript is null THEN '团队预留' ELSE c.descript end a ...

  7. MinHook库的使用 64位下,过滤LoadLibraryExW

    目录 一丶简介 1.minHook库的下载以及安装. 二丶使用MinHook库,过滤LoadLibraryExW 2.1编写X64测试程序. 2.2使用MinHook库 2.3完整HOOK代码 Min ...

  8. cocos Uniforms值的赋值

    cocos Uniforms值的赋值 举个void Renderer::drawBatchedTriangles()的渲染: //Start drawing verties in batch for( ...

  9. 五种IO模型

    参考文档 https://www.jianshu.com/p/486b0965c296 概念说明 用户空间和内核空间        现在操作系统都是采用虚拟存储器,那么对32位操作系统而言,它的寻址空 ...

  10. 责任链模式(chainOfResponsibility)

    参考文章:http://wiki.jikexueyuan.com/project/design-pattern-behavior/chain-four.html 定义: 使多个对象都有机会处理请求,从 ...