首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在所有udev规则通过且设备完全初始化后运行脚本

在所有udev规则通过且设备完全初始化后运行脚本
EN

Stack Overflow用户
提问于 2021-01-14 12:27:37
回答 1查看 94关注 0票数 0

连接usb设备后,我正在尝试从该设备读取信息。

我需要的信息是通过两个API访问的: v4l2和libusb。两者都通过脚本使用,该脚本在预期v4l2部件执行时被正确调用。

代码语言:javascript
运行
AI代码解释
复制
SUBSYSTEM=="usb", ATTRS{idVendor}=="199a", GROUP="video", MODE="0666", TAG+="uaccess", TAG+="udev-acl"

ACTION=="add", SUBSYSTEM=="video4linux", \
               ATTRS{idVendor}=="199a" \
               RUN+="/usr/bin/camera-infos-wrapper %s{serial}"

当我手动运行脚本时,所有步骤都正确执行。我在脚本周围有一个包装器来设置额外的环境变量。

代码语言:javascript
运行
AI代码解释
复制
#!/usr/bin/env bash

export DISPLAY=":0"
export XAUTHORITY=/home/user/.Xauthority

# sleep 3 <- does not work
# sleep 4 <- works

# ensure debug output is logged
exec 1> >(logger -s -t $(basename $0)) 2>&1

/usr/bin/tcam-index-camera $1

当我睡眠3秒时,libusb无法正确打开设备。睡眠4秒即可正确访问。由于这必须比在PC上运行更多,我更喜欢一个更强大的解决方案。

在所有udev规则都通过并且设备完全初始化之后,有没有办法运行脚本?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-16 09:06:26

要走的路似乎是系统的。

systemd单元camera-index@.service

代码语言:javascript
运行
AI代码解释
复制
[Unit]
Description=My service

After=dev-ident%i.device
Wants=dev-ident%i.device

[Service]
Type=forking
ExecStart=/usr/bin/script %i

注意文件名中的'@‘。它很重要,因为它是参数所必需的。

udev规则如下所示:

代码语言:javascript
运行
AI代码解释
复制
ACTION=="add", SUBSYSTEM=="video4linux", \
               ATTRS{idVendor}=="<vendor id>", \
               TAG+="systemd", \
               SYMLINK+="ident%s{serial}", \
               ENV{SYSTEMD_WANTS}="camera-index@%s{serial}.service"

systemd单元等待,直到创建了symlink,然后执行脚本。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65718937

复制
相关文章
Android中获取应用程序(包)的信息-----PackageManager的使用
Android系统为我们提供了很多服务管理的类,包括ActivityManager、PowerManager(电源管理)、AudioManager(音频管理)
forrestlin
2022/04/02
2.3K0
Android中获取应用程序(包)的信息-----PackageManager的使用
将Core ML模型集成到您的应用程序中
此示例应用程序使用经过训练的MarsHabitatPricer.mlmodel模型来预测火星上的栖息地价格。
iOSDevLog
2018/07/25
1.4K0
【重磅】谷歌正式发布TensorFlowLite,半监督跨平台快速训练ML模型
来源:Google blog 编译:马文 Cecilia 【新智元导读】谷歌宣布推出 TensorFlow Lite,这是 TensorFlow 的针对移动设备和嵌入式设备的轻量级解决方案。这个框架针对机器学习模型的低延迟推理进行了优化,重点是小内存占用和快速性能。利用TensorFlow Lite,即使在半监督的设置下,也可实现在手机端跨平台训练ML模型。 今年早些时候,谷歌推出了 Android Wear 2.0,这是“设备上”(on-device)机器学习技术用于智能通讯的第一款产品。这使得基于云的
新智元
2018/03/21
1.1K0
【重磅】谷歌正式发布TensorFlowLite,半监督跨平台快速训练ML模型
如何使用KoodousFinder搜索和分析Android应用程序中的安全威胁
KoodousFinder是一款功能强大的Android应用程序安全工具,在该工具的帮助下,广大研究人员可以轻松对目标Android应用程序执行安全研究和分析任务,并寻找出目标应用程序中潜在的安全威胁和安全漏洞。
FB客服
2023/08/08
2110
如何使用KoodousFinder搜索和分析Android应用程序中的安全威胁
将 TensorFlow 训练好的模型迁移到 Android APP上(TensorFlowLite)
最近在做一个数字手势识别的APP(关于这个项目,我会再写一篇博客仔细介绍,博客地址:一步步做一个数字手势识别APP,源代码已经开源在github上,地址:Chinese-number-gestures-recognition),要把在PC端训练好的模型放到Android APP上,调研了下,谷歌发布了TensorFlow Lite可以把TensorFlow训练好的模型迁移到Android APP上,百度也发布了移动端深度学习框架mobile-deep-learning(MDL),这个框架应该是paddlepaddle的手机版,具体的细节没有了解过。因为对TensorFlow稍微熟悉些,因此就决定用TensorFlow来做。
AI研习社
2018/08/06
2.1K0
将 TensorFlow 训练好的模型迁移到 Android APP上(TensorFlowLite)
【大咖来了】有道周枫:苹果Core ML对移动端深度学习的意义
【新智元导读】在WWDC2017(全球开发者大会)上,苹果发布了支持移动端深度学习的 CoreML 框架。网易有道 CEO 周枫指出,这个新框架能够解决以往云端数据处理的一系列问题,而且相对安卓的 TensorflowLite 更加成熟,值得人工智能的开发者关注。 周枫博士现任网易高级副总裁,网易有道CEO。周枫在清华大学取得计算机科学学士和硕士学位,在加州伯克利大学取得计算机科学博士学位,曾在多个顶级国际学术会议和期刊上发表超过10篇论文。周枫加入网易后,主持有道词典开发、有道搜索平台架构、有道云笔记和密
新智元
2018/03/28
1.2K0
【大咖来了】有道周枫:苹果Core ML对移动端深度学习的意义
Android中的AutoCompleteTextView的使用
最终的效果如下: main.xml代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://sc
hbbliyong
2018/03/06
6970
Android中的AutoCompleteTextView的使用
Android中的Proguard使用
之前介绍了如何使用命令行将Jar包根据配置文件进行ProGuard,以及ProGuard的过程,会遇到的问题等。接下来会介绍常用的ProGuard如何配置参数。不常用的可以在官网中查询如何使用。
None_Ling
2018/10/29
9820
Android 中 RxJava 的使用
Android原生的多线程和异步处理简直糟透了,反复的嵌套让代码看起来十分不明了,多线程上也没有iOS的dispatch好用,但是用了Rxjava后就会有所改善,虽然代码量看起来会多一点,但是逻辑就清晰多了
码客说
2019/10/22
2.2K0
Android中AsyncTask的使用
https://blog.csdn.net/liuhe688/article/details/6532519
杨奉武
2018/08/01
4680
Android中AsyncTask的使用
Android 中 RxBus 的使用
经常我们会有这样的需求,B页面操作后,要求A页面处理相关数据,像这样一般我们都是,要么B页面保留A页面的引用,要么使用广播,但是写起来还是想对麻烦的,用Rxbus就可以很容易和优雅的解决
码客说
2019/10/22
1.5K0
Android中shape的使用
Android中的drawable resource的属性太多,进阶路上必须要记住啊
GitOPEN
2019/01/29
5680
android中AVD的使用
AVD路径设置    前面提到,不管用Eclipse还是从命令行创建Android Emulator时,相应的文件是被放置到 “C:\Documents and Settings\Administrator\.android“ 下面。如果想改变AVD的路径设置,也有2个办法 解决办法一:    新添加一个环境变量,名字为 "ANDROID_SDK_HOME”,然后把变量值改为你想将".android”文件夹(AVD信息)所放置的位置 解决办法二:    修改配置文件中的路径,比如我的AVD名称是MyAV
欢醉
2018/01/22
1.2K0
android中AVD的使用
Android中protobuf的使用
Protobuf是一种灵活高效可序列化的数据协议,相于XML,具有更快、更简单、更轻量级等特性。支持多种语言,只需定义好数据结构,利用Protobuf框架生成源代码,就可很轻松地实现数据结构的序列化和反序列化。一旦需求有变,可以更新数据结构,而不会影响已部署程序。
杨永贞
2020/08/04
4.3K0
Android应用程序中应用图标和名字的设置
在AndroidManifest.xml文件中设android:icon和 android:label指定名字和图标的位置,如: <application android:icon="@drawable/ic" android:label="@string/app_name" 则指定图标为项目工程下。。。app\src\main\res\drawable文件夹下名字为ic的图片 名字为。。。\app\src\main\res\values文件夹下strings中XML中描述的名字
用户1215536
2018/02/05
1.6K0
Android应用程序中应用图标和名字的设置
Github上获星的最高ML项目
机器学习作为一个领域,正在以极快的速度发展。Github是全世界都在关注的白板。高质量的代码定期发布在无限的智慧板上。
代码医生工作室
2019/07/31
8540
Github上获星的最高ML项目
❤️【python入门项目】使用 Tkinter 的 日历 GUI 应用程序❤️
本文章为系列文章,共三个 python 入门项目。初学者可以尝试实现这些项目,并在 Python 编译环境中动手操作。
海拥
2021/08/24
2.8K0
Android应用程序中的多个Activity的显示创建和调用[通俗易懂]
http://download.csdn.net/detail/u011936142/7429455
全栈程序员站长
2022/07/08
1.6K0
Android应用程序中的多个Activity的显示创建和调用[通俗易懂]
Android Studio在android Emulator中运行的项目黑屏
  最近在做一个Android相关的小项目,因为之前这方面的项目做的比较的少。今天在使用虚拟机调试的时候经常出现一些莫名其妙的问题,经过自己多次的尝试和搜索终于解决了这些问题。
追逐时光者
2021/04/30
4.9K0
Android Studio在android Emulator中运行的项目黑屏
【ML】机器学习项目清单
我发现编写和比较特定过程的各种解释的活动,以实现自己对所述过程的解释是有价值的。 我先前已经对我们可以称之为机器学习过程的其他解释做了这样的事情(至少在某种程度上,可以合理地与数据科学或数据挖掘过程紧密结合)你可以在这里,这里和这里找到示例。
陆勤_数据人网
2019/03/08
5390
【ML】机器学习项目清单

相似问题

Android应用程序中使用谷歌云ml

27

(TensorflowLite/Android)无法实例化活动ComponentInfo

12

tensorflowlite最低支持Android和iOS版本

129

有没有办法为tensorflowlite for android启用gpu?

12

基于Android的ML人脸检测ML模型尺寸

12
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文