其实使用C#控制GPIO早已经不是什么新鲜事了,可以通过使用WiringPi的方式控制GPIO之类的设备,只是中间需要一个WiringPi的翻译层。
先去https://github.com/tronsoft/WiringPiSharp下载 WiringPiSharp 。
然后将其添加到项目中,并添加引用。
然后编写测试代码
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平台发布项目
将publish文件夹上传到开发板中,然后将WiringPi的库文件复制到publish当中,程序运行依赖于WiringPi库。手里面的树莓派被我搞坏了,现在用的是Nanopi Duo。
要注意的是,这里我是自己编译的WiringPi,且库文件名必须为libwiringPi.so.2.0。
cp /root/wiringpi/libwiringPi.so.2.0 /publish
然后运行
sudo dotnet GpioControl.dll
Demo下载
文章评论