• 树莓派实践总和


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


  • 相关阅读:
    使用 console.time() 计算js代码执行时间
    javascript 如何创建只能执行一次的事件。
    Javascript 的addEventListener()及attachEvent()对比
    使用jasmine-node 进行NodeJs单元测试 环境搭建
    Karma和Jasmine 自动化单元测试环境搭建
    3487. 【NOIP2013模拟联考11】剑与魔法(dragons) (Standard IO)
    3470. 【NOIP2013模拟联考8】最短路(path) (Standard IO)
    2018洛谷8月月赛第一题_U28036 Nagisa loves Tomoya
    NOIP2017提高组Day2第一题
    3464. 【NOIP2013模拟联考6】秀姿势(sugata) (Standard IO)
  • 原文地址:https://www.cnblogs.com/-fengzheng/p/12448709.html
Copyright © 2020-2023  润新知