夸克之书

  • 首页
  • 科普
  • 笔记
  • C#
  • 物联网
  • 算法
  • Linux
  • 树莓派
夸克之内,别有洞天
  1. 首页
  2. 物联网
  3. 正文

树莓派等ARM开发板C#GPIO控制(.NET Core)

2019-02-06 1653点热度 0人点赞 0条评论

其实使用C#控制GPIO早已经不是什么新鲜事了,可以通过使用WiringPi的方式控制GPIO之类的设备,只是中间需要一个WiringPi的翻译层。

先去https://github.com/tronsoft/WiringPiSharp下载 WiringPiSharp 。

树莓派等ARM开发板C#GPIO控制(.NET Core)插图

然后将其添加到项目中,并添加引用。

树莓派等ARM开发板C#GPIO控制(.NET Core)插图1
添加到项目中
树莓派等ARM开发板C#GPIO控制(.NET Core)插图2
添加应用

然后编写测试代码

using System;
using System.Threading;
using WiringPiSharp;

namespace GpioControl
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("WiringPiSharp start.");
            if (Setup.WiringPiPiSetupGpio() < 0)
            {
                Console.WriteLine("WiringPi setup failed.");
                return;
            }
            GPIO.PinMode(11, WiringPi.Output);
            while (true)
            {
                GPIO.DigitalWrite(11, WiringPi.High);
                Thread.Sleep(500);
                GPIO.DigitalWrite(11, WiringPi.Low);
                Thread.Sleep(500);
            }
        }
    }
}

选择ARM平台发布项目

树莓派等ARM开发板C#GPIO控制(.NET Core)插图3

将publish文件夹上传到开发板中,然后将WiringPi的库文件复制到publish当中,程序运行依赖于WiringPi库。手里面的树莓派被我搞坏了,现在用的是Nanopi Duo。

要注意的是,这里我是自己编译的WiringPi,且库文件名必须为libwiringPi.so.2.0。

cp /root/wiringpi/libwiringPi.so.2.0 /publish

然后运行

sudo dotnet GpioControl.dll

Demo下载

GpioControl
本作品采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2020-12-13

Afirefish

夸克之内,别有洞天

打赏 点赞
< 上一篇
下一篇 >

文章评论

您需要 登录 之后才可以评论

Afirefish

夸克之内,别有洞天

搜索文章
分类目录
  • C# (28)
  • Linux (3)
  • 树莓派 (13)
  • 物联网 (19)
  • 科普 (4)
  • 笔记 (30)
  • 默认 (44)
最新 热点 随机
最新 热点 随机
树莓派PWM风扇控制 PVE重启后LVM Thin数据丢失,错误:Volume group "****" has insufficient free space (128 extents): 4048 required. OpenWrt配置SmartDNS OpenWrt x86安装Frpc Intel网卡开机显示Initializing Intel(R) Boot Agent GE v1.5.50 IdentityServer4证书创建 免费本地解析域名(locallocal.cn),支持HTTPS 使用淘宝npm以及安装cnpm
Steam饥荒专用服务器搭建你见过哪些有趣的代码?修改PostgreSQL数据库默认用户postgres密码在VS Code开发Arduino项目Error response from daemon: cannot stop container: ******: Cannot kill container *******:.....单机Docker搭建FastDFSC# Json序列化时将长整型(long)属性序列化为Json字符串使用淘宝npm以及安装cnpm
树莓派4系统下载(集合) 修改PostgreSQL数据库默认用户postgres密码 Chrome显示完整URL和HTTP协议 EF MySQL未将引用设置到对象的实例 近期学习计划整理 你见过哪些有趣的代码? C# RTMP推流到网页实现直播 树莓派4B(Raspbian)切换64位内核+简单性能测试
最近评论
发布于 2 周前(02月21日) 好的谢谢,那我只能通过kill杀死推流指令进程来实现了。
发布于 2 周前(02月21日) 要用这个项目的话,你得自己拉代码来改了。做这玩意儿主要是考虑全天候的,没考虑过关[笑哭]
发布于 2 周前(02月21日) 就是想问有没有能通过代码控制的关闭推流的指令,而不需要手动控制。我想设置一个按钮来控制开始推流和结束...
发布于 2 周前(02月20日) 唔,没懂你意思,直接拔电源不就行了。不拔电源关闭推流服务也行撒。
发布于 2 周前(02月20日) 你好,我想问一下,如果不想推流了,该用什么方法停止树莓派推流呢?
书签
  • 打赏
  • 毒鸡汤(有点意思)
  • 米店
  • 金鱼直播间
放松一下
https://www.quarkbook.com/wp-content/uploads/2020/09/Yanni-Nightingale.flac
用户您好!请先登录!
登录 注册

COPYRIGHT © 2020 夸克之书. ALL RIGHTS RESERVED.

THEME KRATOS MADE BY VTROIS

蜀ICP备15036129号-9

登录
注册|忘记密码?