上位机图像处理和嵌入式模块部署(树莓派4b开机启动脚本)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        编写好程序之后,一般要求程序开机启动后就可以运行。所以这个时候,我们一般就会把程序流程放在开发板的启动脚本当中。如果程序比较简单的话,直接启动程序;当然程序复杂一点的话,就会有一个启动脚本,这样其他程序也可以通过这个启动脚本来运行。

1、准备测试程序

        这里的测试程序是一段python脚本内容,我们假设它为run.py,内容如下所示,

#!/usr/bin/pythonimport os
import sys
import re
import timecnt = 0
while True:cnt += 1time.sleep(1)print(cnt)

2、先保证脚本运行是ok的

        想要开发板开机的时候,就执行我们需要的程序,一般首先要保证程序是ok的。这种情况下,可以预先测试下,

feixiaoxing@raspberrypi:~/Desktop $ python run.py
1
2
3

3、准备在rc.local下面添加启动脚本

        一般我们添加程序都是在rc.local下面添加的。这个rc.local位于/etc目录下面。但是这个目录一般属于root的管理权限,所以需要编辑一下rc.local文件。为了方便编辑,我们把/home/feixiaoxing/.vimrc拷贝到/root目录下,.vimrc的内容如下,

set nocompatible
set backspace=2
set number
set incsearch

        有了这个.vimrc,我们就可以用vi编辑/etc/rc.local文件了,相关内容在exit 0前面添加即可,

#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; thenprintf "My IP address is %s\n" "$_IP"
fisudo python /home/feixiaoxing/Desktop/run.py &exit 0

4、测试和验证

        测试方法比较简单,只需要sudo reboot一下开发板,接着通过ps aux | grep python确认程序在不在就可以了。

feixiaoxing@raspberrypi:~ $ ps aux | grep python
feixiao+    1066  0.0  0.8  63168 34240 ?        S    07:47   0:00 /usr/bin/python3 /usr/share/system-config-printer/applet.py
root        1193  0.0  0.0  10672  3712 ?        S    07:47   0:00 sudo python /home/feixiaoxing/Desktop/run.py
root        1203  0.0  0.2  16180  8832 ?        S    07:47   0:00 python /home/feixiaoxing/Desktop/run.py
feixiao+    1529  0.0  0.0   6088  1920 pts/0    S+   08:06   0:00 grep --color=auto python

5、更常见和通用的方式

        这边这是一个程序的启动,更为常见的方式是启动一个auto.sh文件。这样后续如果还要启动其他的文件,只需要把相关的文件在auto.sh里面添加即可。

6、想查看启动程序的log怎么处理

        这一点通过重定向就可以,假设程序名是process,那么可以在auto.sh添加这样的内容,

./process >> log.txt &

        其中 >> 表示重定向,&表示脚本执行结束后,相关程序还能运行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/2179.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Android 8.1 删除Launcher桌面搜索框

Android 8.1 删除Launcher桌面搜索框 最近接到项目反馈,要求删除Launcher桌面的搜索框,具体修改参照如下: /vendor/mediatek/proprietary/packages/apps/Launcher3/src/com/android/launcher3/config/BaseFlags.java public static final b…

开源大模型应该怎么选?

文章目录 前言为什么选择开源模型而不是商业模型?开源模型对比Llama 2Mixtral 8x7BZephyr 7BSOLAR 10.7BCode Llama 专用 Vs. 通用生产环境部署LLMs 的注意事项 前言 在过去的一年里,人工智能领域不断涌现出各种大语言模型(LLMs),每个模型都在不断突破生…

代码随想录算法训练营day1 | 704. 二分查找、27. 移除元素

数组理论基础 数组是存放在连续内存空间上的相同类型数据的集合。 因为数组的在内存空间的地址是连续的,所以我们在删除或者增添元素的时候,需要移动其他元素的地址。 那么二维数组在内存的空间地址是连续的么?不同编程语言的内存管理是不…

SpringBoot之@Conditional衍生条件装配详解

文章目录 ☃️前言☃️简介☃️示例❄️❄️ConditionalOnProperty❄️❄️ConditionalOnClass❄️❄️ConditionalOnBean❄️❄️自定义条件 ☃️SpringBoot源码中使用☃️总结 欢迎来到 请回答1024 的博客 🍓🍓🍓欢迎来到 请回答1024的博客…

pET-28a(+)是什么,怎么看?-实验操作系列-1

01 典型的pET-28a()质粒遗传图谱 02 元件解读 Origin复制子:ColE1/pMB1/pBR322/pUC ori——起始载体的复制;f1 ori——f1噬菌体复制子,显示正义链合成方向。The origin of replication,由复制起始位点和相关调控元件组成&#xf…

Midjourney-01 初试上手 注册使用并生成你的第一张AI图片 详细流程 提示词 过程截图 生成结果 付费文生图的天花板!

背景介绍 Midjourney是一款基于人工智能技术的绘画软件,利用深度学习算法来辅助用户进行绘画创作。这款软件能够通过用户输入的文本描述生成图像,支持多种生成方式,包括文字生成图片、图片生成图片和混合图片生成图片。 图像生成方式&#…

Vscode根据Makefile文件使用make编译程序配置文件launch.json,task.json

视频介绍: VsCode使用make编译程序配置_哔哩哔哩_bilibili task.json: 2024年4.20 ctrl shift b 编译 {"version": "2.0.0","tasks": [{"label": "build_suricata","type": "shell","command…

【智能算法】蜉蝣算法(MA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2020年,K Zervoudakis等人受到自然界蜉蝣交配繁殖行为启发,提出了蜉蝣算法(Mayfly Algorithm, MA)。 2.算法原理 2.1算法思想 MA灵感来自蜉蝣交配…

python 文件打包(使用pyinstaller)

PyInstaller是一个流行的Python打包工具,它可以将Python代码打包成可执行文件,使得你可以在没有安装Python解释器的环境中运行你的应用程序。: 安装 使用pip命令来安装PyInstaller。在终端或命令提示符中运行以下命令: 打包 先…

如何高效的压缩GIF图片?一键搞定GIF动图压缩 就是这么简单

一,引言 压缩GIF动图是一个常见的需求,无论是在社交媒体上分享动态表情,还是在网页设计中添加动态元素,GIF动图都扮演着重要的角色。然而,过大的GIF文件大小可能会导致加载速度慢,影响用户体验。因此&…

linux 驱动-匹配1 (platform_bus_type)

目录 匹配入口 匹配顺序(platform_match ) 方式1: 方式2(重点) 方式3 方式4 (重点) 匹配入口 driver_match_device 实际调用platform_match driver_match_device(drv, dev);static inline int driver_match_device(struct device_driver *drv,str…

代码随想录学习Day 30

860.柠檬水找零 题目链接 讲解链接 思路:需要找零的情况是顾客支付10元或20元,尤其是支付20元时需要考虑找零的方式,此时可以选择找零3张5元或者一张10元一张5元,按照贪心算法的思路来看: 局部最优:在找…

常见的数据抽取工具对比

1.什么是ETL? ETL,是英文Extract-Transform-Load的缩写,用来描述将数据从来源端经过抽取(extract)、转换(transform)、加载(load)至目的端的过程,是数据仓库的生命线。 …

中红医疗:纷享销客CRM系统如何助力​数字化“狂飙”

纷享销客深耕 CRM 多年,可以顺畅打通 CRM 和 ERP 系统客户资源池,将金蝶苍穹平台的物料、产品基础主数据作为档案同步到纷享销客,以便商务维护好产品及库存。 纷享销客通过成熟的集成方案提高系统耦合性,让销售实时获得新产品及营…

鸿蒙开发模拟器的坑, No Devices

问题 我已经安装了模拟器,并且模拟器已经运行了 在Device Manager页面开启模拟器 No Devices 但是这里没有模拟器的选项 解决 添加环境变量 下面步骤 1、清除用户数据 2、 关闭Device Manager 3、 关闭ide 重启ide、开启模拟器 看到有模拟器的选项了

目标检测算法——YOLO-Word——算法详解

一、概述 1、是什么 是一个目标检测器,通过结合CLIP文本编码器,拥有了开放检测(推理时识别训练时没有的目标)的能力。作者实验证明ap 指标上 zero shot能力YOLO-world L接近专门训练过的YOLOv6-8 S 模型的能力,finetune 后YOLO-world 均能提升8个点左右。 2、亮点 将文章…

LangChain入门指南:构建高可复用、可扩展的LLM应用程序 PDF书籍分享

今天又来给大家推荐一本大模型方面的书籍<Langchain入门指南>这本书专门为那些对自然语言处理技术感兴趣的读者提供了系统的LLM应用开发指南。全书分为11章&#xff0c;从LLM基础知识开始&#xff0c;通过LangChain这个开源框架为读者解读整个LLM应用开发流程。 下载当前…

用于自动化机器陀螺仪传感器:XV7081BB

介绍一款用于自动化机器的数字输出型陀螺仪传感器XV7081BB。这款新推出的陀螺仪XV7081BB到底有什么魅力呢?我们可以用常用款用于智能割草机的XV7011BB作对比:XV7081BB提供16位或24位分辨率的角速率输出速率范围为400s。而XV7011BB采用16位角速度输出&#xff0c;检测范围为100…

[MySQL]运算符

1. 算术运算符 (1). 算术运算符 : , -, *, / 或 DIV, % 或MOD. (2). 例 : (3). 注 : DUAL是伪表.可以看到4/2结果为小数&#xff0c;并不会截断小数部分.(可能与其他语言不同&#xff0c;比如java中&#xff0c;两个操作数如果是整数&#xff0c;则计算得到的也是整数&…

sebaKMT赛巴测漏仪 听漏仪维修HL5000 HL7000

赛巴听漏仪&#xff0c;作为一款应用于供水系统漏损检测的专业设备&#xff0c;在业内有着很广泛的应用。然而&#xff0c;任何仪器在使用过程中都难免会遇到一些问题&#xff0c;赛巴听漏仪也不例外。针对这些问题&#xff0c;专业的维修服务显得尤为重要。 首先&#xff0c;赛…