登陆树莓派,可以通过一根直连的网张,电脑网卡DHCP模式,输入以下地址直接登陆:
ssh raspberrypi.local
使用wget下载安装包;
wget https://download.visualstudio.microsoft.com/download/pr/72888385-910d-4ef3-bae2-c08c28e42af0/59be90572fdcc10766f1baf5ac39529a/dotnet-sdk-6.0.101-linux-arm.tar.gz
解压安装包,并配置环境:
mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-6.0.101-linux-arm.tar.gz -C $HOME/dotnet
export DOTNET_ROOT=$HOME/dotnet
export PATH=$PATH:$HOME/dotnet
使用export命令查看配置的环境:
root@raspberrypi:/home/pi/Downloads# export -p
declare -x DBUS_SESSION_BUS_ADDRESS="unix:path=/run/user/1000/bus"
declare -x DISPLAY="localhost:10.0"
declare -x DOTNET_ROOT="/root/dotnet"
declare -x HOME="/root"
declare -x LANG="en_US.UTF-8"
declare -x LANGUAGE="en_US.UTF-8"
declare -x LC_ALL="en_US.UTF-8"
declare -x LOGNAME="pi"
declare -x LS_COLORS="rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:"
declare -x MAIL="/var/mail/root"
declare -x MOTD_SHOWN="pam"
declare -x NO_AT_BRIDGE="1"
declare -x OLDPWD="/home/pi"
declare -x PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/home/pi/dotnet:/home/pi/dotnet:/root/dotnet"
declare -x PWD="/home/pi/Downloads"
declare -x SHELL="/bin/bash"
declare -x SHLVL="2"
declare -x SSH_CLIENT="192.168.43.193 12520 22"
declare -x SSH_CONNECTION="192.168.43.193 12520 192.168.43.135 22"
declare -x SSH_TTY="/dev/pts/0"
declare -x TERM="xterm"
declare -x TEXTDOMAIN="Linux-PAM"
declare -x USER="pi"
declare -x XDG_RUNTIME_DIR="/run/user/1000"
declare -x XDG_SESSION_CLASS="user"
declare -x XDG_SESSION_ID="4"
declare -x XDG_SESSION_TYPE="tty"
开机自启动,可以通过编辑/etc/profile文件,添加export路径实现。
有时候,开机重启,采用命令dotnet无法启动,多半是两个环境变量没有配置好,仔细检查一下这两个值:
declare -x DOTNET_ROOT="/root/dotnet"
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games:/home/pi/dotnet:/home/pi/dotnet:/root/dotnet"
树莓派可以通过WIFI共享的方式,无需显示器,通过SSH登陆来实现操作。
WIFI的账号、密码均保存在以下地址:
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
//可以看到以下信息:
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN
network={
ssid="VN007-2.4G-A011EC"
psk="WIFI密码"
key_mgmt=WPA-PSK
}
第二篇:让树莓派的一个GPIO周期性的闪亮
可以单独控制常规用途 I/O (GPIO) 引脚。 这对控制 LED、中继和其他有状态设备很有用。 在本主题中,你将使用 .NET 和 Raspberry Pi 的 GPIO 引脚使 LED 通电,并重复闪烁。
先决条件
硬件连接如下,用的是树莓派的GPIO18;
上图描述了下列连接:
根据需要,请参阅以下引脚分配关系图:
使用 .NET CLI 或 Visual Studio 创建新 .Net 控制台应用。 将其命名为 BlinkTutorial。
dotnet new console -o BlinkTutorial
进入BlinkTutorial的文件目录,将 Iot.Device.Bindings 包添加到项目。
dotnet add package Iot.Device.Bindings
将 Program.cs 的内容替换为以下代码:
root@raspberrypi:/BlinkTutorial # nano Program.cs
通过nano工具,编写以下内容:
using System;
using System.Device.Gpio;
using System.Threading;
Console.WriteLine("Blinking LED. Press Ctrl+C to end.");
int pin = 18;
using var controller = new GpioController();
controller.OpenPin(pin, PinMode.Output);
bool ledOn = true;
while (true)
{
controller.Write(pin, ((ledOn) ? PinValue.High : PinValue.Low));
Thread.Sleep(1000);
ledOn = !ledOn;
}
在上述代码中:
using 声明创建 GpioController 实例。 using 声明可确保对象已处置,硬件资源已正确释放。
GPIO 引脚 18 已为输出打开
while 循环无限期运行。 每次迭代:
向 GPIO 引脚 18 写入值。 如果 ledOn 为 true,则迭代写入 PinValue.High(开)。 否则,写入 PinValue.Low。
休眠 1000 毫秒。
切换 ledOn 的值。
构建应用程序。 如果使用的是 .NET CLI,请运行 dotnet build。
将该应用作为独立应用部署到 Raspberry Pi。
通过命令运行:
root@raspberrypi:/BlinkTutorial/bin/Debug/net6.0# dotnet BlinkTutorial.dll
恭喜! 你已使用 GPIO 让 LED 闪烁。