一、在樹莓派中安裝.NET Core運行時
1、到微軟的官方站點下載.NET Core運行時 下載地址
2、選擇Linux 中的ARM32,如果不需要跑web,可以選擇更精簡的.NET Core Binaries ARM32。
借助xftp 把下載回來的壓縮包送到樹莓派里面。
3、把壓縮包解壓縮處理,並建立軟連接,即可安裝完成.NET Core
sudo mkdir /usr/share/dotnet(新建文件夾)
sudo tar -xvf dotnet-sdk-3.0.100-linux-arm.tar.gz -C /usr/share/dotnet(解壓運行時並復制到相應文件夾)
sudo ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet(並建立軟連接)
執行命令看一下.NET Core 安裝情況
dotnet --info
4、燈泡接線
通用輸出GPO,輸出控制信號,常見有推挽輸出和開漏輸出兩種模式,了解即可,非單片機專業無需精通。
-
推挽輸出。直接輸出高低電平,可以GND+IO 或VCC+IO 兩種接線。
-
開漏輸出。只能輸出低電平或者空,低電平時讓電流“漏進來”,常用於外接放大電路控制5V/12V 等場合。
LED 小燈。單片機學習的經典,簡單使用,很容易看到效果。有源蜂鳴器。輸出低電平時鳴叫。例程中我們直接控制使用兩個IO 口作為輸出,分別控制LED 小燈和蜂鳴器,也可以是兩個小燈。接線方案如下,選擇GPIO17 和GPIO23,也就是板子的11 腳和16 腳(如下圖)。這兩個腳附近都有GND,方便接線。這里選擇IO 引腳時一定要注意,強烈建議不要選擇有端口復用功能(小括號有寫)的引腳,例如GPIO04,這些引腳很可能會產生意想不到的信號。
注意,引腳模塊為Logical 時,采用邏輯引腳17 和23,如若選擇Board,則代碼需要寫11 和16。
效果:兩個燈交
5、編寫.NET Core程序
新建.Net Core 控制台項目,從nuget 引用System.Device.Gpio,在Program.cs中寫入以下代碼:
using System; using System.Device.Gpio; using System.Threading; namespace ConsoleApp3 { class Program { static void Main(string[] args) { int pin1 = 17, pin2 = 23; using var gpio = new GpioController(PinNumberingScheme.Logical); gpio.OpenPin(pin1, PinMode.Output); gpio.OpenPin(pin2, PinMode.Output); var flag = false; for (int i = 0; i < 200; i++) { var pv1 = flag ? PinValue.High : PinValue.Low; var pv2 = !flag ? PinValue.High : PinValue.Low; flag = !flag; gpio.Write(pin1, pv1); gpio.Write(pin2, pv2); Thread.Sleep(500); } } } }
5、發布並上傳至樹莓派
然后使用 dotnet XXX.dll 運行程序(注意文件夾如果程序上傳到根目錄則直接運行,不是跟目錄則cd到相應文件夾位置運行)