zoukankan      html  css  js  c++  java
  • 树莓派实践总和

    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);
            }


  • 相关阅读:
    Git -- 分支管理简介
    Git -- 从远程库克隆
    Git -- 添加远程仓库
    C# sha256 加密算法
    如何将IOS版本的更新下载文件指向到自己的服务器
    如何让windows服务器IIS支持.apk/.ipa文件下载
    vistual studio 去除 git 源代码 绑定
    Redis 环境搭建与使用(C#)
    c#图片添加水印
    C#使用WSDL服务总结
  • 原文地址:https://www.cnblogs.com/-fengzheng/p/12448709.html
Copyright © 2011-2022 走看看