1.树莓派开机启动net core程序
首先在建立一个.sh脚本文件,文件内容为需要启动的netcore程序,示例如下
chmod 777 /home/pi/Documents/HuiBo/publish/AutoStart /home/pi/Documents/HuiBo/publish/AutoStart
在/home/pi/.config下创建一个文件夹autostart
mkdir /home/pi/.config/autostart
在该文件夹下创建一个以.desktop结尾的文件,文件名称可自定义,文件内容如下: 一定要在Terminal终端启动,不然不成功
[Desktop Entry] Name=autostart Comment=My C Program Exec=lxterminal --working-directory=/home/pi/ --command=./autostart.sh Terminal=false MultipleArgs=false Type=Application Categories=Application;Development; StartupNotify=true
重启系统完成 sudo reboot
2.获取树莓派CPU的序列号
private OperateResult<string> GetId() { try { string[] tmp = File.ReadAllLines("/proc/cpuinfo", System.Text.Encoding.UTF8); for (int i = 0; i < tmp.Length; i++) { if (tmp[i].StartsWith("Serial")) { return new OperateResult<string>() { IsSuccess = true, Content = tmp[i].Substring(tmp[i].IndexOf(':') + 2) }; } } } catch (Exception ex) { return new OperateResult<string>() { IsSuccess = false, }; } return new OperateResult<string>() { IsSuccess = false, }; }
代码本质是读取文件内容,cpu序列号就存在/proc/cpuinfo文件中
3. net core 程序执行P处理指令
比如你要实现利用C#程序去把树莓派关机,手动操作很简单,打开终端输入sudo poweroff。但是再C#程序里面调用,用下列方法:
//执行关闭树莓派 string cmd = "#!/bin/bash" + Environment.NewLine + "sudo poweroff"; ExecCmd(cmd); /// <summary> /// 执行P处理指令 /// </summary> /// <param name="cmd"></param> public void ExecCmd(string cmd) { string args = cmd.Replace(""", "\""); System.Diagnostics.ProcessStartInfo startInfo = new System.Diagnostics.ProcessStartInfo() { FileName = "/bin/bash", Arguments = $"-c "{args}"", RedirectStandardOutput = true, UseShellExecute = false, CreateNoWindow = false, }; System.Diagnostics.Process.Start(startInfo); }